2008-12-02 Stephane Delcroix <sdelcroix@novell.com>

* generator/Ctor.cs:
	* generator/Method.cs:
	* generator/MethodBase.cs: refactor the Protection from Method to
	MethodBase, generate ctors with the correct proteciton too.

svn path=/trunk/gtk-sharp/; revision=120487
This commit is contained in:
Stephane Delcroix 2008-12-02 15:03:02 +00:00
parent b519876db7
commit 66be12eebe
4 changed files with 30 additions and 27 deletions

View File

@ -1,3 +1,10 @@
2008-12-02 Stephane Delcroix <sdelcroix@novell.com>
* generator/Ctor.cs:
* generator/Method.cs:
* generator/MethodBase.cs: refactor the Protection from Method to
MethodBase, generate ctors with the correct proteciton too.
2008-12-01 Mike Kestner <mkestner@novell.com> 2008-12-01 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: automarshal TreeSelection.GetSelectedRows. * gtk/Gtk.metadata: automarshal TreeSelection.GetSelectedRows.

View File

@ -71,7 +71,7 @@ namespace GtkSharp.Generation {
void GenerateStatic (GenerationInfo gen_info) void GenerateStatic (GenerationInfo gen_info)
{ {
StreamWriter sw = gen_info.Writer; StreamWriter sw = gen_info.Writer;
sw.WriteLine("\t\tpublic static " + Safety + Modifiers + name + " " + StaticName + "(" + Signature + ")"); sw.WriteLine("\t\t" + Protection + " static " + Safety + Modifiers + name + " " + StaticName + "(" + Signature + ")");
sw.WriteLine("\t\t{"); sw.WriteLine("\t\t{");
Body.Initialize(gen_info, false, false, ""); Body.Initialize(gen_info, false, false, "");
@ -100,7 +100,7 @@ namespace GtkSharp.Generation {
if (IsStatic) if (IsStatic)
GenerateStatic (gen_info); GenerateStatic (gen_info);
else { else {
sw.WriteLine("\t\tpublic {0}{1} ({2}) {3}", Safety, name, Signature.ToString(), needs_chaining ? ": base (IntPtr.Zero)" : ""); sw.WriteLine("\t\t{0} {1}{2} ({3}) {4}", Protection, Safety, name, Signature.ToString(), needs_chaining ? ": base (IntPtr.Zero)" : "");
sw.WriteLine("\t\t{"); sw.WriteLine("\t\t{");
if (needs_chaining) { if (needs_chaining) {

View File

@ -32,7 +32,6 @@ namespace GtkSharp.Generation {
private ReturnValue retval; private ReturnValue retval;
private string call; private string call;
private string protection = "public";
private bool is_get, is_set; private bool is_get, is_set;
private bool deprecated = false; private bool deprecated = false;
@ -44,18 +43,6 @@ namespace GtkSharp.Generation {
string attr = elem.GetAttribute ("deprecated"); string attr = elem.GetAttribute ("deprecated");
deprecated = attr == "1" || attr == "true"; deprecated = attr == "1" || attr == "true";
} }
if (elem.HasAttribute ("accessibility")) {
string attr = elem.GetAttribute ("accessibility");
switch (attr) {
case "public":
case "protected":
case "internal":
case "private":
case "protected internal":
protection = attr;
break;
}
}
if (Name == "GetType") if (Name == "GetType")
Name = "GetGType"; Name = "GetGType";
@ -79,15 +66,6 @@ namespace GtkSharp.Generation {
} }
} }
public string Protection {
get {
return protection;
}
set {
protection = value;
}
}
public string ReturnType { public string ReturnType {
get { get {
return retval.CSType; return retval.CSType;
@ -251,8 +229,8 @@ namespace GtkSharp.Generation {
if (IsDeprecated) if (IsDeprecated)
gen_info.Writer.WriteLine("\t\t[Obsolete]"); gen_info.Writer.WriteLine("\t\t[Obsolete]");
gen_info.Writer.Write("\t\t"); gen_info.Writer.Write("\t\t");
if (protection != "") if (Protection != "")
gen_info.Writer.Write("{0} ", protection); gen_info.Writer.Write("{0} ", Protection);
GenerateDeclCommon (gen_info.Writer, implementor); GenerateDeclCommon (gen_info.Writer, implementor);
if (is_get || is_set) if (is_get || is_set)

View File

@ -33,6 +33,7 @@ namespace GtkSharp.Generation {
bool is_static = false; bool is_static = false;
string mods = String.Empty; string mods = String.Empty;
string name; string name;
private string protection = "public";
protected MethodBase (XmlElement elem, ClassBase container_type) protected MethodBase (XmlElement elem, ClassBase container_type)
{ {
@ -43,6 +44,18 @@ namespace GtkSharp.Generation {
IsStatic = elem.GetAttribute ("shared") == "true"; IsStatic = elem.GetAttribute ("shared") == "true";
if (elem.HasAttribute ("new_flag")) if (elem.HasAttribute ("new_flag"))
mods = "new "; mods = "new ";
if (elem.HasAttribute ("accessibility")) {
string attr = elem.GetAttribute ("accessibility");
switch (attr) {
case "public":
case "protected":
case "internal":
case "private":
case "protected internal":
protection = attr;
break;
}
}
} }
protected string BaseName { protected string BaseName {
@ -135,7 +148,12 @@ namespace GtkSharp.Generation {
return parms; return parms;
} }
} }
public string Protection {
get { return protection; }
set { protection = value; }
}
protected string Safety { protected string Safety {
get { get {
return Body.ThrowsException && !(container_type is InterfaceGen) ? "unsafe " : ""; return Body.ThrowsException && !(container_type is InterfaceGen) ? "unsafe " : "";