public ClassHelper(SourceWriter headers, SourceWriter implementation, SourceWriter privateHeaders = null)
 {
     this.headers         = headers;
     this.implementation  = implementation;
     this.private_headers = privateHeaders;
 }
Esempio n. 2
0
 void WriteSignature(SourceWriter writer)
 {
     writer.Write(IsStatic && !IsExtension ? '+' : '-');
     writer.Write($" ({ReturnType}){ObjCSignature}");
 }
Esempio n. 3
0
 public MethodHelper(SourceWriter headers, SourceWriter implementation)
 {
     this.headers        = headers;
     this.implementation = implementation;
 }
Esempio n. 4
0
 public ComparableHelper(SourceWriter headers, SourceWriter implementation) :
     base(headers, implementation)
 {
     ReturnType = "NSComparisonResult";
 }
 public ProtocolHelper(SourceWriter headers, SourceWriter implementation, SourceWriter privateHeaders) :
     base(headers, implementation, privateHeaders)
 {
 }
Esempio n. 6
0
        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());
        }