public GenerateImport ( |
||
sw | ||
return | void |
void GenerateGType(StreamWriter sw) { Method m = GetMethod("GetType"); if (m == null) { throw new Exception("Interface " + QualifiedName + " missing GetType method."); } m.GenerateImport(sw); sw.WriteLine("\t\tprivate static GLib.GType _gtype = new GLib.GType ({0} ());", m.CName); sw.WriteLine(); // by convention, all GTypes generated have a static GType property sw.WriteLine("\t\tpublic static GLib.GType GType {"); sw.WriteLine("\t\t\tget {"); sw.WriteLine("\t\t\t\treturn _gtype;"); sw.WriteLine("\t\t\t}"); sw.WriteLine("\t\t}"); sw.WriteLine(); // we need same property but non-static, because it is being accessed via a GInterfaceAdapter instance sw.WriteLine("\t\tpublic override GLib.GType GInterfaceGType {"); sw.WriteLine("\t\t\tget {"); sw.WriteLine("\t\t\t\treturn _gtype;"); sw.WriteLine("\t\t\t}"); sw.WriteLine("\t\t}"); sw.WriteLine(); }
void GenerateGType(StreamWriter sw) { Method m = GetMethod("GetType"); m.GenerateImport(sw); sw.WriteLine("\t\tprivate static GLib.GType _gtype = new GLib.GType ({0} ());", m.CName); sw.WriteLine(); sw.WriteLine("\t\tpublic override GLib.GType GType {"); sw.WriteLine("\t\t\tget {"); sw.WriteLine("\t\t\t\treturn _gtype;"); sw.WriteLine("\t\t\t}"); sw.WriteLine("\t\t}"); sw.WriteLine(); }
void GenerateGType(StreamWriter sw) { Method m = GetMethod("GetType"); if (m == null) { throw new Exception("Interface " + QualifiedName + " missing GetType method."); } m.GenerateImport(sw); sw.WriteLine("\t\tprivate static GLib.GType _gtype = new GLib.GType ({0} ());", m.CName); sw.WriteLine(); sw.WriteLine("\t\tpublic override GLib.GType GType {"); sw.WriteLine("\t\t\tget {"); sw.WriteLine("\t\t\t\treturn _gtype;"); sw.WriteLine("\t\t\t}"); sw.WriteLine("\t\t}"); sw.WriteLine(); }
public void Generate(GenerationInfo gen_info, ClassBase implementor) { Method comp = null; gen_info.CurrentMember = Name; /* we are generated by the get Method, if there is one */ if (is_set || is_get) { if (Modifiers != "new " && container_type.GetPropertyRecursively(Name.Substring(3)) != null) { return; } comp = GetComplement(); if (comp != null && is_set) { if (Parameters.AccessorReturnType == comp.ReturnType) { return; } else { is_set = false; call = "(" + (IsStatic ? "" : container_type.CallByName() + (parms.Count > 0 ? ", " : "")) + Body.GetCallString(false) + ")"; comp = null; } } /* some setters take more than one arg */ if (comp != null && !comp.is_set) { comp = null; } } GenerateImport(gen_info.Writer); if (comp != null && retval.CSType == comp.Parameters.AccessorReturnType) { comp.GenerateImport(gen_info.Writer); } if (IsDeprecated) { gen_info.Writer.WriteLine("\t\t[Obsolete]"); } gen_info.Writer.Write("\t\t"); if (Protection != "") { gen_info.Writer.Write("{0} ", Protection); } GenerateDeclCommon(gen_info.Writer, implementor); if (is_get || is_set) { gen_info.Writer.Write("\t\t\t"); gen_info.Writer.Write((is_get) ? "get" : "set"); GenerateBody(gen_info, implementor, "\t"); } else { GenerateBody(gen_info, implementor, ""); } if (is_get || is_set) { if (comp != null && retval.CSType == comp.Parameters.AccessorReturnType) { gen_info.Writer.WriteLine(); gen_info.Writer.Write("\t\t\tset"); comp.GenerateBody(gen_info, implementor, "\t"); } gen_info.Writer.WriteLine(); gen_info.Writer.WriteLine("\t\t}"); } else { gen_info.Writer.WriteLine(); } if (Parameters.HasOptional && !(is_get || is_set)) { GenerateOverloads(gen_info.Writer); } gen_info.Writer.WriteLine(); Statistics.MethodCount++; }