public static void PopulateMethodList(XMLMethods methods, List <CompNamed> method_list) { foreach (object key in methods.keys.Keys) { XMLMethods.SignatureFlags signatureFlags = (methods.signatureFlags != null && methods.signatureFlags.ContainsKey(key) ? (XMLMethods.SignatureFlags)methods.signatureFlags [key] : XMLMethods.SignatureFlags.None); XMLParameters parameters = (methods.parameters == null ? null : (XMLParameters)methods.parameters[key]); XMLGenericParameters genericParameters = (methods.genericParameters == null ? null : (XMLGenericParameters)methods.genericParameters[key]); XMLAttributes attributes = (methods.attributeMap == null ? null : (XMLAttributes)methods.attributeMap[key]); string returnType = (methods.returnTypes == null ? null : (string)methods.returnTypes[key]); method_list.Add(new MasterMethod((string)methods.keys[key], signatureFlags, returnType, parameters, genericParameters, methods.ConvertToString(Int32.Parse((string)methods.access[key])), attributes)); } }
public MasterMethod(string name, XMLMethods.SignatureFlags signatureFlags, string returnType, XMLParameters parameters, XMLGenericParameters genericParameters, string methodAccess, XMLAttributes attributes) : base(String.Format("{0} {1}", returnType, name)) { this.signatureFlags = signatureFlags; this.returnType = returnType; this.parameters = parameters; this.genericParameters = genericParameters; // we don't care about the Assembly (internal) part this.methodAccess = methodAccess.Replace("FamORAssem", "Family"); this.attributes = attributes; }
public static List <CompGenericParameter> GetTypeParameters(XMLGenericParameters gparams) { if (gparams == null) { return(null); } var list = new List <CompGenericParameter> (); foreach (string key in gparams.keys.Keys) { XMLAttributes attributes = gparams.attributeMap == null ? null : (XMLAttributes)gparams.attributeMap [key]; var constraints = gparams.constraints [key]; list.Add(new MasterGenericTypeParameter(key, constraints, attributes)); } return(list); }
public override void LoadData(XmlNode node) { if (node == null) { throw new ArgumentNullException("node"); } name = node.Attributes ["name"].Value; type = node.Attributes ["type"].Value; XmlAttribute xatt = node.Attributes ["base"]; if (xatt != null) { baseName = xatt.Value; } xatt = node.Attributes ["sealed"]; isSealed = (xatt != null && xatt.Value == "true"); xatt = node.Attributes ["abstract"]; isAbstract = (xatt != null && xatt.Value == "true"); xatt = node.Attributes["serializable"]; isSerializable = (xatt != null && xatt.Value == "true"); xatt = node.Attributes["charset"]; if (xatt != null) { charSet = xatt.Value; } xatt = node.Attributes["layout"]; if (xatt != null) { layout = xatt.Value; } XmlNode child = node.FirstChild; if (child == null) { // Console.Error.WriteLine ("Empty class {0} {1}", name, type); return; } if (child.Name == "attributes") { attributes = new XMLAttributes(); attributes.LoadData(child); child = child.NextSibling; } if (child != null && child.Name == "interfaces") { interfaces = new XMLInterfaces(); interfaces.LoadData(child); child = child.NextSibling; } if (child != null && child.Name == "generic-parameters") { genericParameters = new XMLGenericParameters(); genericParameters.LoadData(child); child = child.NextSibling; } if (child != null && child.Name == "fields") { fields = new XMLFields(); fields.LoadData(child); child = child.NextSibling; } if (child != null && child.Name == "constructors") { constructors = new XMLConstructors(); constructors.LoadData(child); child = child.NextSibling; } if (child != null && child.Name == "properties") { properties = new XMLProperties(); properties.LoadData(child); child = child.NextSibling; } if (child != null && child.Name == "events") { events = new XMLEvents(); events.LoadData(child); child = child.NextSibling; } if (child != null && child.Name == "methods") { methods = new XMLMethods(); methods.LoadData(child); child = child.NextSibling; } if (child == null) { return; } if (child.Name != "classes") { Console.WriteLine("name: {0} type: {1} {2}", name, type, child.NodeType); throw new FormatException("Expecting <classes>. Got <" + child.Name + ">"); } nested = (XMLClass [])LoadRecursive(child.ChildNodes, typeof(XMLClass)); }
protected override void LoadExtraData(string name, XmlNode node) { XmlAttribute xatt = node.Attributes ["returntype"]; if (xatt != null) { if (returnTypes == null) { returnTypes = new Hashtable(); } returnTypes [name] = xatt.Value; } SignatureFlags flags = SignatureFlags.None; if (((XmlElement)node).GetAttribute("abstract") == "true") { flags |= SignatureFlags.Abstract; } if (((XmlElement)node).GetAttribute("static") == "true") { flags |= SignatureFlags.Static; } if (((XmlElement)node).GetAttribute("virtual") == "true") { flags |= SignatureFlags.Virtual; } if (((XmlElement)node).GetAttribute("final") == "true") { flags |= SignatureFlags.Final; } if (flags != SignatureFlags.None) { if (signatureFlags == null) { signatureFlags = new Hashtable(); } signatureFlags [name] = flags; } XmlNode parametersNode = node.SelectSingleNode("parameters"); if (parametersNode != null) { if (parameters == null) { parameters = new Hashtable(); } XMLParameters parms = new XMLParameters(); parms.LoadData(parametersNode); parameters[name] = parms; } XmlNode genericNode = node.SelectSingleNode("generic-parameters"); if (genericNode != null) { if (genericParameters == null) { genericParameters = new Hashtable(); } XMLGenericParameters gparams = new XMLGenericParameters(); gparams.LoadData(genericNode); genericParameters [name] = gparams; } base.LoadExtraData(name, node); }
public static List<CompGenericParameter> GetTypeParameters(XMLGenericParameters gparams) { if (gparams == null) return null; var list = new List<CompGenericParameter> (); foreach (string key in gparams.keys.Keys) { XMLAttributes attributes = gparams.attributeMap == null ? null : (XMLAttributes) gparams.attributeMap [key]; var constraints = gparams.constraints [key]; list.Add (new MasterGenericTypeParameter (key, constraints.attributes, attributes)); } return list; }
public MasterMethod(string name, XMLMethods.SignatureFlags signatureFlags, string returnType, XMLParameters parameters, XMLGenericParameters genericParameters, string methodAccess, XMLAttributes attributes) : base(String.Format ("{0} {1}", returnType, name)) { this.signatureFlags = signatureFlags; this.returnType = returnType; this.parameters = parameters; this.genericParameters = genericParameters; // we don't care about the Assembly (internal) part this.methodAccess = methodAccess.Replace ("FamORAssem", "Family"); this.attributes = attributes; }
protected override void LoadExtraData (string name, XmlNode node) { XmlAttribute xatt = node.Attributes ["returntype"]; if (xatt != null) { if (returnTypes == null) returnTypes = new Hashtable (); returnTypes [name] = xatt.Value; } SignatureFlags flags = SignatureFlags.None; if (((XmlElement) node).GetAttribute ("abstract") == "true") flags |= SignatureFlags.Abstract; if (((XmlElement) node).GetAttribute ("static") == "true") flags |= SignatureFlags.Static; if (((XmlElement) node).GetAttribute ("virtual") == "true") flags |= SignatureFlags.Virtual; if (((XmlElement) node).GetAttribute ("final") == "true") flags |= SignatureFlags.Final; if (flags != SignatureFlags.None) { if (signatureFlags == null) signatureFlags = new Hashtable (); signatureFlags [name] = flags; } XmlNode parametersNode = node.SelectSingleNode ("parameters"); if (parametersNode != null) { if (parameters == null) parameters = new Hashtable (); XMLParameters parms = new XMLParameters (); parms.LoadData (parametersNode); parameters[name] = parms; } XmlNode genericNode = node.SelectSingleNode ("generic-parameters"); if (genericNode != null) { if (genericParameters == null) genericParameters = new Hashtable (); XMLGenericParameters gparams = new XMLGenericParameters (); gparams.LoadData (genericNode); genericParameters [name] = gparams; } base.LoadExtraData (name, node); }
public override void LoadData (XmlNode node) { if (node == null) throw new ArgumentNullException ("node"); name = node.Attributes ["name"].Value; type = node.Attributes ["type"].Value; XmlAttribute xatt = node.Attributes ["base"]; if (xatt != null) baseName = xatt.Value; xatt = node.Attributes ["sealed"]; isSealed = (xatt != null && xatt.Value == "true"); xatt = node.Attributes ["abstract"]; isAbstract = (xatt != null && xatt.Value == "true"); xatt = node.Attributes["serializable"]; isSerializable = (xatt != null && xatt.Value == "true"); xatt = node.Attributes["charset"]; if (xatt != null) charSet = xatt.Value; xatt = node.Attributes["layout"]; if (xatt != null) layout = xatt.Value; XmlNode child = node.FirstChild; if (child == null) { // Console.Error.WriteLine ("Empty class {0} {1}", name, type); return; } if (child.Name == "attributes") { attributes = new XMLAttributes (); attributes.LoadData (child); child = child.NextSibling; } if (child != null && child.Name == "interfaces") { interfaces = new XMLInterfaces (); interfaces.LoadData (child); child = child.NextSibling; } if (child != null && child.Name == "generic-parameters") { genericParameters = new XMLGenericParameters (); genericParameters.LoadData (child); child = child.NextSibling; } if (child != null && child.Name == "fields") { fields = new XMLFields (); fields.LoadData (child); child = child.NextSibling; } if (child != null && child.Name == "constructors") { constructors = new XMLConstructors (); constructors.LoadData (child); child = child.NextSibling; } if (child != null && child.Name == "properties") { properties = new XMLProperties (); properties.LoadData (child); child = child.NextSibling; } if (child != null && child.Name == "events") { events = new XMLEvents (); events.LoadData (child); child = child.NextSibling; } if (child != null && child.Name == "methods") { methods = new XMLMethods (); methods.LoadData (child); child = child.NextSibling; } if (child == null) return; if (child.Name != "classes") { Console.WriteLine ("name: {0} type: {1} {2}", name, type, child.NodeType); throw new FormatException ("Expecting <classes>. Got <" + child.Name + ">"); } nested = (XMLClass []) LoadRecursive (child.ChildNodes, typeof (XMLClass)); }