public override void EmitCpp(CppEmitContext cec) { base.EmitCpp(cec); if ((this.ModFlags & Modifiers.STATIC) != 0) { cec.Buf.Write("\tstatic ", Location); } else { cec.Buf.Write("\t", Location); } if (cec.Pass == CppPasses.CLASSDEF) { cec.Buf.Write(cec.MakeCppFullTypeName(this.ReturnType), " ", this.MethodName.Name, "("); parameters.EmitCpp(cec); cec.Buf.Write(");\n"); } else { cec.Buf.Write(cec.MakeCppFullTypeName(this.ReturnType), " ", cec.MakeCppTypeName(Parent.CurrentType, false), "::", this.MethodName.Name, "("); parameters.EmitCpp(cec); cec.Buf.Write(") "); if (MethodData != null) { MethodData.EmitCpp(Parent, cec); } Block = null; cec.Buf.Write("\n"); } }