public override void OutputPre(OutputStream os, OutputFlags flags) { if (FunctionClass.HasFlag(FuncClass.Public)) { os.Append("public: "); } if (FunctionClass.HasFlag(FuncClass.Protected)) { os.Append("protected: "); } if (FunctionClass.HasFlag(FuncClass.Private)) { os.Append("private: "); } if (!(FunctionClass.HasFlag(FuncClass.Global))) { if (FunctionClass.HasFlag(FuncClass.Static)) { os.Append("static "); } } if (FunctionClass.HasFlag(FuncClass.Virtual)) { os.Append("virtual "); } if (FunctionClass.HasFlag(FuncClass.ExternC)) { os.Append("extern \"C\" "); } if (ReturnType != null) { ReturnType.Output(os, flags); os.Append(' '); } if (!(flags.HasFlag(OutputFlags.NoCallingConvention))) { OutputCallingConvention(os, CallConvention); } }