public ClassHelper(SourceWriter headers, SourceWriter implementation, SourceWriter privateHeaders = null) { this.headers = headers; this.implementation = implementation; this.private_headers = privateHeaders; }
void WriteSignature(SourceWriter writer) { writer.Write(IsStatic && !IsExtension ? '+' : '-'); writer.Write($" ({ReturnType}){ObjCSignature}"); }
public MethodHelper(SourceWriter headers, SourceWriter implementation) { this.headers = headers; this.implementation = implementation; }
public ComparableHelper(SourceWriter headers, SourceWriter implementation) : base(headers, implementation) { ReturnType = "NSComparisonResult"; }
public ProtocolHelper(SourceWriter headers, SourceWriter implementation, SourceWriter privateHeaders) : base(headers, implementation, privateHeaders) { }
public virtual void Write(string outputDirectory) { if (!GenerateLinkerExclusions) { return; } var xml = new SourceWriter(); xml.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"); xml.WriteLine("<linker>"); xml.Indent++; foreach (var a in Processor.Assemblies.Where((arg) => !arg.UserCode)) { xml.WriteLine($"<assembly fullname=\"{a.Name}\">"); xml.Indent++; foreach (var t in Processor.Types.Where((arg) => arg.Assembly == a)) { xml.WriteLine($"<type fullname=\"{t}\">"); xml.Indent++; if (t.HasConstructors) { foreach (var c in t.Constructors) { xml.WriteLine($"<method signature=\"{ToXml (c)}\"/>"); } } if (t.HasMethods) { foreach (var m in t.Methods) { xml.WriteLine($"<method signature=\"{ToXml (m)}\"/>"); } } if (t.HasProperties) { foreach (var p in t.Properties) { var prop = p.Property; var getter = prop.GetGetMethod(); if (getter != null) { xml.WriteLine($"<method signature=\"{ToXml (p.ToString (getter))}\"/>"); } var setter = prop.GetSetMethod(); if (setter != null) { xml.WriteLine($"<method signature=\"{ToXml (p.ToString (setter))}\"/>"); } } } if (t.HasFields) { foreach (var f in t.Fields) { xml.WriteLine($"<field signature=\"{ToXml (f)}\"/>"); } } xml.Indent--; xml.WriteLine("</type>"); } xml.Indent--; xml.WriteLine("</assembly>"); } xml.Indent--; xml.WriteLine("</linker>"); WriteFile(Path.Combine(outputDirectory, "bindings.xml"), xml.ToString()); }