public EmitClassCPP( EmitModuleCPP module, string name, EmitClassCPP baseClass, Span headerSpan, Span sourceSpan) { _module = module; _name = name; _base = baseClass; _headerSpan = headerSpan; _sourceSpan = sourceSpan; string baseClassString = ""; if (baseClass != null) { baseClassString = string.Format(" : public {0}", baseClass._name); } _headerSpan.WriteLine("class {0}{1}", _name, baseClassString); _headerSpan.WriteLine("{"); _headerSpan.WriteLine("public:"); _publicSpan = _headerSpan.IndentSpan(); _publicFieldsSpan = _publicSpan.InsertSpan(); _headerSpan.WriteLine("protected:"); _protectedSpan = _headerSpan.IndentSpan(); _headerSpan.WriteLine("public:"); _privateSpan = _headerSpan.IndentSpan(); _headerSpan.WriteLine("};"); _sourceSpan.WriteLine("// {0}", _name); }
public EmitClassCPP( EmitModuleCPP module, string name, EmitClassCPP baseClass, Span headerSpan, Span sourceSpan) { _module = module; _name = name; _base = baseClass; _headerSpan = headerSpan; _sourceSpan = sourceSpan; string baseClassString = ""; if (baseClass != null) baseClassString = string.Format(" : public {0}", baseClass._name); _headerSpan.WriteLine("class {0}{1}", _name, baseClassString); _headerSpan.WriteLine("{"); _headerSpan.WriteLine("public:"); _publicSpan = _headerSpan.IndentSpan(); _publicFieldsSpan = _publicSpan.InsertSpan(); _headerSpan.WriteLine("protected:"); _protectedSpan = _headerSpan.IndentSpan(); _headerSpan.WriteLine("public:"); _privateSpan = _headerSpan.IndentSpan(); _headerSpan.WriteLine("};"); _sourceSpan.WriteLine("// {0}", _name); }