33 using System.Collections.Generic;
34 using System.Text.RegularExpressions;
44 private readonly List<CodeElement> defines =
new List<CodeElement>();
45 private readonly List<CodeElement> includes =
new List<CodeElement>();
46 private readonly List<CodeElement> functionDeclarations =
new List<CodeElement>();
47 private readonly List<CodeElement> variableDeclarations =
new List<CodeElement>();
57 public List<CodeElement>
Defines 59 get {
return this.defines; }
64 get {
return this.includes; }
69 get {
return this.functionDeclarations; }
74 get {
return this.variableDeclarations; }
88 string headerDefine = cGenerator.
FileName;
89 headerDefine =
new Regex(
"[^a-zA-Z0-9]").Replace(headerDefine,
"_");
90 headerDefine = headerDefine.ToUpperInvariant();
97 e = e.
AddElement(
new PP_If(LwipDefs.Opt_SnmpEnabled)) as CodeContainerBase;
100 CodeContainerBase cplusplusopen = e.
AddElement(
new PP_Ifdef(
"__cplusplus")) as CodeContainerBase;
104 if (this.includes.Count > 0)
110 if (this.defines.Count > 0)
120 CodeContainerBase cplusplusclose = e.
AddElement(
new PP_Ifdef(
"__cplusplus")) as CodeContainerBase;
124 cFile.
Save(cGenerator);
void AddElements(IList< CodeElement > elements, params CodeElement[] spacerElements)
static readonly EmptyLine SingleLine
void Save(CGenerator generator)
CodeElement AddElement(CodeElement element)