2005-01-26 Mike Kestner <mkestner@novell.com>
* generator/*.cs : refactoring of Parameters class. Added IEnumerable to Parameters and gracefully handle elem == null instead of special casing parms == null all over the place. Parameter logic is now Count driven. [Fixes #71750] svn path=/trunk/gtk-sharp/; revision=39594
This commit is contained in:
parent
26198086f4
commit
33cb5d82b4
13 changed files with 80 additions and 78 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2005-01-26 Mike Kestner <mkestner@novell.com>
|
||||||
|
|
||||||
|
* generator/*.cs : refactoring of Parameters class. Added IEnumerable
|
||||||
|
to Parameters and gracefully handle elem == null instead of special
|
||||||
|
casing parms == null all over the place. Parameter logic is now Count
|
||||||
|
driven. [Fixes #71750]
|
||||||
|
|
||||||
2005-01-26 Dan Winship <danw@novell.com>
|
2005-01-26 Dan Winship <danw@novell.com>
|
||||||
|
|
||||||
* generator/Property.cs (Generate): Remove a redundant WriteLine (that
|
* generator/Property.cs (Generate): Remove a redundant WriteLine (that
|
||||||
|
|
|
@ -35,11 +35,9 @@ namespace GtkSharp.Generation {
|
||||||
public CallbackGen (XmlElement ns, XmlElement elem) : base (ns, elem)
|
public CallbackGen (XmlElement ns, XmlElement elem) : base (ns, elem)
|
||||||
{
|
{
|
||||||
retval = new ReturnValue (elem ["return-type"]);
|
retval = new ReturnValue (elem ["return-type"]);
|
||||||
if (elem ["parameters"] != null) {
|
parms = new Parameters (elem ["parameters"]);
|
||||||
parms = new Parameters (elem ["parameters"], NS);
|
|
||||||
parms.HideData = true;
|
parms.HideData = true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public override string MarshalType {
|
public override string MarshalType {
|
||||||
get {
|
get {
|
||||||
|
@ -78,18 +76,17 @@ namespace GtkSharp.Generation {
|
||||||
sw.WriteLine ("\t\tpublic " + retval.MarshalType + " NativeCallback (" + isig.ToString() + ")");
|
sw.WriteLine ("\t\tpublic " + retval.MarshalType + " NativeCallback (" + isig.ToString() + ")");
|
||||||
sw.WriteLine ("\t\t{");
|
sw.WriteLine ("\t\t{");
|
||||||
|
|
||||||
int count = (parms != null) ? parms.Count : 0;
|
|
||||||
bool need_sep = false;
|
bool need_sep = false;
|
||||||
string call_str = "";
|
string call_str = "";
|
||||||
string cleanup_str = "";
|
string cleanup_str = "";
|
||||||
for (int i = 0, idx = 0; i < count; i++)
|
for (int i = 0, idx = 0; i < parms.Count; i++)
|
||||||
{
|
{
|
||||||
Parameter p = parms [i];
|
Parameter p = parms [i];
|
||||||
|
|
||||||
if (i > 0 && p.IsLength && parms[i-1].IsString)
|
if (i > 0 && p.IsLength && parms[i-1].IsString)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if ((i == count - 1) && p.IsUserData)
|
if ((i == parms.Count - 1) && p.IsUserData)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (p.CType == "GError**") {
|
if (p.CType == "GError**") {
|
||||||
|
@ -169,10 +166,9 @@ namespace GtkSharp.Generation {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((parms != null) && !parms.Validate ()) {
|
if (!parms.Validate ()) {
|
||||||
Console.WriteLine(" in callback " + CName + " **** Stubbing it out ****");
|
Console.WriteLine(" in callback " + CName + " **** Stubbing it out ****");
|
||||||
Statistics.ThrottledCount++;
|
Statistics.ThrottledCount++;
|
||||||
parms = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sig = new Signature (parms);
|
sig = new Signature (parms);
|
||||||
|
|
|
@ -101,7 +101,7 @@ namespace GtkSharp.Generation {
|
||||||
if (needs_chaining) {
|
if (needs_chaining) {
|
||||||
sw.WriteLine ("\t\t\tif (GetType () != typeof (" + name + ")) {");
|
sw.WriteLine ("\t\t\tif (GetType () != typeof (" + name + ")) {");
|
||||||
|
|
||||||
if (Parameters == null || Parameters.Count == 0) {
|
if (Parameters.Count == 0) {
|
||||||
sw.WriteLine ("\t\t\t\tCreateNativeObject (new string [0], new GLib.Value[0]);");
|
sw.WriteLine ("\t\t\t\tCreateNativeObject (new string [0], new GLib.Value[0]);");
|
||||||
sw.WriteLine ("\t\t\t\treturn;");
|
sw.WriteLine ("\t\t\t\treturn;");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -43,7 +43,7 @@ namespace GtkSharp.Generation {
|
||||||
|
|
||||||
public override string ToString ()
|
public override string ToString ()
|
||||||
{
|
{
|
||||||
if (parameters == null)
|
if (parameters.Count == 0)
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
string[] parms = new string [parameters.Count];
|
string[] parms = new string [parameters.Count];
|
||||||
|
|
|
@ -120,10 +120,10 @@ namespace GtkSharp.Generation {
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
Parameters parms = Parameters;
|
Parameters parms = Parameters;
|
||||||
is_get = (((parms != null && ((parms.IsAccessor && retval.CSType == "void") || (parms.Count == 0 && retval.CSType != "void"))) || (parms == null && retval.CSType != "void")) && Name.Length > 3 && (Name.StartsWith ("Get") || Name.StartsWith ("Is") || Name.StartsWith ("Has")));
|
is_get = ((((parms.IsAccessor && retval.CSType == "void") || (parms.Count == 0 && retval.CSType != "void")) || (parms.Count == 0 && retval.CSType != "void")) && Name.Length > 3 && (Name.StartsWith ("Get") || Name.StartsWith ("Is") || Name.StartsWith ("Has")));
|
||||||
is_set = ((parms != null && (parms.IsAccessor || (parms.Count == 1 && retval.CSType == "void"))) && (Name.Length > 3 && Name.Substring(0, 3) == "Set"));
|
is_set = ((parms.IsAccessor || (parms.Count == 1 && retval.CSType == "void")) && (Name.Length > 3 && Name.Substring(0, 3) == "Set"));
|
||||||
|
|
||||||
call = "(" + (IsStatic ? "" : container_type.CallByName () + (parms != null ? ", " : "")) + Body.GetCallString (is_set) + ")";
|
call = "(" + (IsStatic ? "" : container_type.CallByName () + (parms.Count > 0 ? ", " : "")) + Body.GetCallString (is_set) + ")";
|
||||||
|
|
||||||
initialized = true;
|
initialized = true;
|
||||||
return true;
|
return true;
|
||||||
|
@ -170,7 +170,7 @@ namespace GtkSharp.Generation {
|
||||||
if (implementor != null)
|
if (implementor != null)
|
||||||
dup = implementor.GetMethodRecursively (Name);
|
dup = implementor.GetMethodRecursively (Name);
|
||||||
|
|
||||||
if (Name == "ToString" && Parameters == null)
|
if (Name == "ToString" && Parameters.Count == 0)
|
||||||
sw.Write("override ");
|
sw.Write("override ");
|
||||||
else if (Name == "GetGType" && container_type is ObjectGen)
|
else if (Name == "GetGType" && container_type is ObjectGen)
|
||||||
sw.Write("new ");
|
sw.Write("new ");
|
||||||
|
@ -235,7 +235,7 @@ namespace GtkSharp.Generation {
|
||||||
public void GenerateImport (StreamWriter sw)
|
public void GenerateImport (StreamWriter sw)
|
||||||
{
|
{
|
||||||
string import_sig = IsStatic ? "" : container_type.MarshalType + " raw";
|
string import_sig = IsStatic ? "" : container_type.MarshalType + " raw";
|
||||||
import_sig += !IsStatic && Parameters != null ? ", " : "";
|
import_sig += !IsStatic && Parameters.Count > 0 ? ", " : "";
|
||||||
import_sig += ImportSignature.ToString();
|
import_sig += ImportSignature.ToString();
|
||||||
sw.WriteLine("\t\t[DllImport(\"" + LibraryName + "\")]");
|
sw.WriteLine("\t\t[DllImport(\"" + LibraryName + "\")]");
|
||||||
if (retval.MarshalType.StartsWith ("[return:"))
|
if (retval.MarshalType.StartsWith ("[return:"))
|
||||||
|
@ -346,7 +346,7 @@ namespace GtkSharp.Generation {
|
||||||
Body.Finish (sw, indent);
|
Body.Finish (sw, indent);
|
||||||
Body.HandleException (sw, indent);
|
Body.HandleException (sw, indent);
|
||||||
|
|
||||||
if (is_get && Parameters != null)
|
if (is_get && Parameters.Count > 0)
|
||||||
sw.WriteLine (indent + "\t\t\treturn " + Parameters.AccessorName + ";");
|
sw.WriteLine (indent + "\t\t\treturn " + Parameters.AccessorName + ";");
|
||||||
else if (retval.MarshalType != "void")
|
else if (retval.MarshalType != "void")
|
||||||
sw.WriteLine (indent + "\t\t\treturn ret;");
|
sw.WriteLine (indent + "\t\t\treturn ret;");
|
||||||
|
|
|
@ -37,9 +37,7 @@ namespace GtkSharp.Generation {
|
||||||
{
|
{
|
||||||
this.elem = elem;
|
this.elem = elem;
|
||||||
this.container_type = container_type;
|
this.container_type = container_type;
|
||||||
XmlElement parms_elem = elem ["parameters"];
|
parms = new Parameters (elem ["parameters"]);
|
||||||
if (parms_elem != null)
|
|
||||||
parms = new Parameters (parms_elem, container_type.NS);
|
|
||||||
IsStatic = elem.GetAttribute ("shared") == "true";
|
IsStatic = elem.GetAttribute ("shared") == "true";
|
||||||
if (elem.HasAttribute ("new_flag"))
|
if (elem.HasAttribute ("new_flag"))
|
||||||
mods = "new ";
|
mods = "new ";
|
||||||
|
@ -75,7 +73,6 @@ namespace GtkSharp.Generation {
|
||||||
}
|
}
|
||||||
set {
|
set {
|
||||||
is_static = value;
|
is_static = value;
|
||||||
if (parms != null)
|
|
||||||
parms.Static = value;
|
parms.Static = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -120,7 +117,7 @@ namespace GtkSharp.Generation {
|
||||||
|
|
||||||
public virtual bool Validate ()
|
public virtual bool Validate ()
|
||||||
{
|
{
|
||||||
if (parms != null && !parms.Validate ()) {
|
if (!parms.Validate ()) {
|
||||||
Console.Write("in ctor ");
|
Console.Write("in ctor ");
|
||||||
Statistics.ThrottledCount++;
|
Statistics.ThrottledCount++;
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -57,7 +57,7 @@ namespace GtkSharp.Generation {
|
||||||
|
|
||||||
public string GetCallString (bool is_set)
|
public string GetCallString (bool is_set)
|
||||||
{
|
{
|
||||||
if (parameters == null)
|
if (parameters.Count == 0)
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
string[] result = new string [parameters.Count];
|
string[] result = new string [parameters.Count];
|
||||||
|
@ -116,7 +116,7 @@ namespace GtkSharp.Generation {
|
||||||
|
|
||||||
public void Initialize (GenerationInfo gen_info, bool is_get, bool is_set, string indent)
|
public void Initialize (GenerationInfo gen_info, bool is_get, bool is_set, string indent)
|
||||||
{
|
{
|
||||||
if (parameters == null)
|
if (parameters.Count == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
StreamWriter sw = gen_info.Writer;
|
StreamWriter sw = gen_info.Writer;
|
||||||
|
@ -165,9 +165,6 @@ namespace GtkSharp.Generation {
|
||||||
|
|
||||||
public void Finish (StreamWriter sw, string indent)
|
public void Finish (StreamWriter sw, string indent)
|
||||||
{
|
{
|
||||||
if (parameters == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (int i = 0; i < parameters.Count; i++) {
|
for (int i = 0; i < parameters.Count; i++) {
|
||||||
Parameter p = parameters [i];
|
Parameter p = parameters [i];
|
||||||
|
|
||||||
|
@ -198,7 +195,7 @@ namespace GtkSharp.Generation {
|
||||||
|
|
||||||
public bool ThrowsException {
|
public bool ThrowsException {
|
||||||
get {
|
get {
|
||||||
if (parameters == null || parameters.Count < 1)
|
if (parameters.Count < 1)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return parameters [parameters.Count - 1].CType == "GError**";
|
return parameters [parameters.Count - 1].CType == "GError**";
|
||||||
|
|
|
@ -216,19 +216,15 @@ namespace GtkSharp.Generation {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Parameters {
|
public class Parameters : IEnumerable {
|
||||||
|
|
||||||
private ArrayList param_list;
|
ArrayList param_list = new ArrayList ();
|
||||||
private XmlElement elem;
|
|
||||||
private string impl_ns;
|
|
||||||
private bool hide_data;
|
|
||||||
private bool is_static;
|
|
||||||
|
|
||||||
public Parameters (XmlElement elem, string impl_ns) {
|
public Parameters (XmlElement elem) {
|
||||||
|
|
||||||
|
if (elem == null)
|
||||||
|
return;
|
||||||
|
|
||||||
this.elem = elem;
|
|
||||||
this.impl_ns = impl_ns;
|
|
||||||
param_list = new ArrayList ();
|
|
||||||
foreach (XmlNode node in elem.ChildNodes) {
|
foreach (XmlNode node in elem.ChildNodes) {
|
||||||
XmlElement parm = node as XmlElement;
|
XmlElement parm = node as XmlElement;
|
||||||
if (parm != null && parm.Name == "parameter")
|
if (parm != null && parm.Name == "parameter")
|
||||||
|
@ -248,28 +244,48 @@ namespace GtkSharp.Generation {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool hide_data;
|
||||||
public bool HideData {
|
public bool HideData {
|
||||||
get { return hide_data; }
|
get { return hide_data; }
|
||||||
set { hide_data = value; }
|
set { hide_data = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool is_static;
|
||||||
public bool Static {
|
public bool Static {
|
||||||
get { return is_static; }
|
get { return is_static; }
|
||||||
set { is_static = value; }
|
set { is_static = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool cleared = false;
|
||||||
|
void Clear ()
|
||||||
|
{
|
||||||
|
cleared = true;
|
||||||
|
param_list.Clear ();
|
||||||
|
}
|
||||||
|
|
||||||
|
public IEnumerator GetEnumerator ()
|
||||||
|
{
|
||||||
|
return param_list.GetEnumerator ();
|
||||||
|
}
|
||||||
|
|
||||||
public bool Validate ()
|
public bool Validate ()
|
||||||
{
|
{
|
||||||
|
if (cleared)
|
||||||
|
return false;
|
||||||
|
|
||||||
foreach (Parameter p in param_list) {
|
foreach (Parameter p in param_list) {
|
||||||
|
|
||||||
if (p.IsEllipsis) {
|
if (p.IsEllipsis) {
|
||||||
Console.Write("Ellipsis parameter ");
|
Console.Write("Ellipsis parameter ");
|
||||||
|
Clear ();
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((p.CSType == "") || (p.Name == "") ||
|
if ((p.CSType == "") || (p.Name == "") ||
|
||||||
(p.MarshalType == "") || (SymbolTable.Table.CallByName(p.CType, p.Name) == "")) {
|
(p.MarshalType == "") || (SymbolTable.Table.CallByName(p.CType, p.Name) == "")) {
|
||||||
Console.Write("Name: " + p.Name + " Type: " + p.CType + " ");
|
Console.Write("Name: " + p.Name + " Type: " + p.CType + " ");
|
||||||
|
Clear ();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -300,7 +316,6 @@ namespace GtkSharp.Generation {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,10 +39,9 @@ namespace GtkSharp.Generation {
|
||||||
public Signal (XmlElement elem, ClassBase container_type)
|
public Signal (XmlElement elem, ClassBase container_type)
|
||||||
{
|
{
|
||||||
this.elem = elem;
|
this.elem = elem;
|
||||||
this.name = elem.GetAttribute ("name");
|
name = elem.GetAttribute ("name");
|
||||||
this.retval = new ReturnValue (elem ["return-type"]);
|
retval = new ReturnValue (elem ["return-type"]);
|
||||||
if (elem["parameters"] != null)
|
parms = new Parameters (elem["parameters"]);
|
||||||
parms = new Parameters (elem["parameters"], container_type.NS);
|
|
||||||
this.container_type = container_type;
|
this.container_type = container_type;
|
||||||
sig_handler = new SignalHandler (elem, container_type.NS);
|
sig_handler = new SignalHandler (elem, container_type.NS);
|
||||||
}
|
}
|
||||||
|
@ -64,7 +63,7 @@ namespace GtkSharp.Generation {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parms != null && !parms.Validate ())
|
if (!parms.Validate ())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!retval.Validate ())
|
if (!retval.Validate ())
|
||||||
|
@ -169,7 +168,6 @@ namespace GtkSharp.Generation {
|
||||||
sw.WriteLine ("\tpublic delegate void " + EventHandlerName + "(object o, " + EventArgsName + " args);");
|
sw.WriteLine ("\tpublic delegate void " + EventHandlerName + "(object o, " + EventArgsName + " args);");
|
||||||
sw.WriteLine ();
|
sw.WriteLine ();
|
||||||
sw.WriteLine ("\tpublic class " + EventArgsName + " : GLib.SignalArgs {");
|
sw.WriteLine ("\tpublic class " + EventArgsName + " : GLib.SignalArgs {");
|
||||||
if (parms != null) {
|
|
||||||
for (int i = 1; i < parms.Count; i++) {
|
for (int i = 1; i < parms.Count; i++) {
|
||||||
sw.WriteLine ("\t\tpublic " + parms[i].CSType + " " + parms[i].StudlyName + "{");
|
sw.WriteLine ("\t\tpublic " + parms[i].CSType + " " + parms[i].StudlyName + "{");
|
||||||
if (parms[i].PassAs != "out") {
|
if (parms[i].PassAs != "out") {
|
||||||
|
@ -185,7 +183,6 @@ namespace GtkSharp.Generation {
|
||||||
sw.WriteLine ("\t\t}");
|
sw.WriteLine ("\t\t}");
|
||||||
sw.WriteLine ();
|
sw.WriteLine ();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
sw.WriteLine ("\t}");
|
sw.WriteLine ("\t}");
|
||||||
sw.WriteLine ("}");
|
sw.WriteLine ("}");
|
||||||
sw.Close ();
|
sw.Close ();
|
||||||
|
|
|
@ -38,9 +38,7 @@ namespace GtkSharp.Generation {
|
||||||
this.sig = sig;
|
this.sig = sig;
|
||||||
this.ns = ns;
|
this.ns = ns;
|
||||||
retval = new ReturnValue (sig["return-type"]);
|
retval = new ReturnValue (sig["return-type"]);
|
||||||
XmlElement params_elem = sig["parameters"] as XmlElement;
|
parms = new Parameters (sig ["parameters"]);
|
||||||
if (params_elem != null)
|
|
||||||
parms = new Parameters (params_elem, ns);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Validate ()
|
public bool Validate ()
|
||||||
|
@ -50,7 +48,7 @@ namespace GtkSharp.Generation {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parms == null || !parms.Validate ()) {
|
if (!parms.Validate ()) {
|
||||||
Console.Write("Missing parameters ");
|
Console.Write("Missing parameters ");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -80,12 +78,12 @@ namespace GtkSharp.Generation {
|
||||||
private string BaseName {
|
private string BaseName {
|
||||||
get {
|
get {
|
||||||
string result = SymbolTable.Table.GetName (retval.CType);
|
string result = SymbolTable.Table.GetName (retval.CType);
|
||||||
for (int i = 0; i < parms.Count; i++) {
|
foreach (Parameter p in parms) {
|
||||||
result += parms[i].PassAs;
|
result += p.PassAs;
|
||||||
if (parms[i].Generatable is ObjectGen || parms[i].Generatable is InterfaceGen) {
|
if (p.Generatable is ObjectGen || p.Generatable is InterfaceGen) {
|
||||||
result += "Object";
|
result += "Object";
|
||||||
} else {
|
} else {
|
||||||
result += SymbolTable.Table.GetName(parms[i].CType);
|
result += SymbolTable.Table.GetName(p.CType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
result = result.Replace ("[]", "Array");
|
result = result.Replace ("[]", "Array");
|
||||||
|
|
|
@ -31,9 +31,6 @@ namespace GtkSharp.Generation {
|
||||||
|
|
||||||
public Signature (Parameters parms)
|
public Signature (Parameters parms)
|
||||||
{
|
{
|
||||||
if (parms == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
bool has_cb = parms.HideData;
|
bool has_cb = parms.HideData;
|
||||||
for (int i = 0; i < parms.Count; i++) {
|
for (int i = 0; i < parms.Count; i++) {
|
||||||
Parameter p = parms [i];
|
Parameter p = parms [i];
|
||||||
|
|
|
@ -31,9 +31,6 @@ namespace GtkSharp.Generation {
|
||||||
|
|
||||||
public VMSignature (Parameters parms)
|
public VMSignature (Parameters parms)
|
||||||
{
|
{
|
||||||
if (parms == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
bool has_cb = parms.HideData;
|
bool has_cb = parms.HideData;
|
||||||
for (int i = 1; i < parms.Count; i++) {
|
for (int i = 1; i < parms.Count; i++) {
|
||||||
Parameter p = parms [i];
|
Parameter p = parms [i];
|
||||||
|
|
|
@ -26,18 +26,19 @@ namespace GtkSharp.Generation {
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
|
||||||
|
// FIXME: handle static VMs
|
||||||
public class VirtualMethod {
|
public class VirtualMethod {
|
||||||
|
|
||||||
private XmlElement elem;
|
XmlElement elem;
|
||||||
private ReturnValue retval;
|
ReturnValue retval;
|
||||||
private Parameters parms;
|
Parameters parms;
|
||||||
ImportSignature isig;
|
ImportSignature isig;
|
||||||
|
|
||||||
public VirtualMethod (XmlElement elem, ClassBase container_type)
|
public VirtualMethod (XmlElement elem, ClassBase container_type)
|
||||||
{
|
{
|
||||||
this.elem = elem;
|
this.elem = elem;
|
||||||
retval = new ReturnValue (elem ["return-type"]);
|
retval = new ReturnValue (elem ["return-type"]);
|
||||||
parms = new Parameters (elem["parameters"], container_type.NS);
|
parms = new Parameters (elem["parameters"]);
|
||||||
isig = new ImportSignature (parms, container_type.NS);
|
isig = new ImportSignature (parms, container_type.NS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue