diff --git a/tools/generator/ApiTransform.cs b/tools/generator/ApiTransform.cs index 5ebd63b65..ce9c738e3 100644 --- a/tools/generator/ApiTransform.cs +++ b/tools/generator/ApiTransform.cs @@ -31,30 +31,20 @@ public void WriteTransform (StreamWriter sw) { string preserveAttr = PreserveType ? " preserveType=\"true\"" : null; + string cls = Class.StartsWith ("[Interface]", StringComparison.Ordinal) ? Class.Substring ("[Interface]".Length) : Class; + if (string.IsNullOrEmpty (Parameter)) { // This is a field - sw.WriteLine (" {3}", Package, Class, Member, Enum, preserveAttr); - - } else if (Class.StartsWith ("[Interface]") && Parameter == "return") { - // This is the return type on an interface method - sw.WriteLine (" {3}", Package, Class.Substring ("[Interface]".Length), Member, Enum, preserveAttr); - - } else if (Class.StartsWith ("[Interface]")) { - // This is the return type on an interface method - sw.WriteLine (" {4}", Package, Class.Substring ("[Interface]".Length), Member, Parameter, Enum, preserveAttr); - + sw.WriteLine (" {3}", Package, Class, Member, Enum, preserveAttr); } else if (Parameter == "return") { - // This is the return type on a class method - sw.WriteLine (" {3}", Package, Class, Member, Enum, preserveAttr); - + // This is the return type + sw.WriteLine (" {3}", Package, cls, Member, Enum, preserveAttr); } else if (Member == "ctor" || Member == "constructor") { - // This is the return type on a class constructor - sw.WriteLine (" {3}", Package, Class, Parameter, Enum, preserveAttr); - + // This is the return type + sw.WriteLine (" {3}", Package, cls, Parameter, Enum, preserveAttr); } else { - // This is a parameter on a class method - sw.WriteLine (" {4}", Package, Class, Member, Parameter, Enum, preserveAttr); - + // This is a parameter + sw.WriteLine (" {4}", Package, cls, Member, Parameter, Enum, preserveAttr); } } }