\r
return index;\r
}\r
-\r
+ \r
private int getDatumSize(Token token) {\r
/*\r
switch (token.datumType) {\r
private ArrayList<Token> alTokens;\r
private String phase;\r
private int assignedTokenNumber;\r
+ \r
+ //\r
+ // After Major changes done to the PCD\r
+ // database generation class PcdDatabase\r
+ // Please increment the version and please\r
+ // also update the version number in PCD\r
+ // service PEIM and DXE driver accordingly.\r
+ //\r
+ private final int version = 1;\r
\r
private String hString;\r
private String cString;\r
public void genCode () {\r
\r
final String newLine = "\r\n";\r
- final String instNewLine = "\\\r\n";\r
final String declNewLine = ";\r\n";\r
final String tab = "\t";\r
- final String commaInstNewLine = "\t,\\\r\n";\r
final String commaNewLine = ", \r\n";\r
\r
int i;\r
// Generate Structure Declaration for PcdTokens without Default Value\r
// PEI_PCD_DATABASE_INIT\r
//\r
- java.util.Comparator comparator = new AlignmentSizeComp();\r
+ java.util.Comparator<Token> comparator = new AlignmentSizeComp();\r
List<Token> list = initTokens;\r
java.util.Collections.sort(list, comparator);\r
initCode = processTokens(initTokens);\r
// Generate Structure Declaration for PcdTokens without Default Value\r
// PEI_PCD_DATABASE_UNINIT\r
//\r
- java.util.Collections.sort(uninitTokens, comparator);\r
+ list = uninitTokens;\r
+ java.util.Collections.sort(list, comparator);\r
uninitCode = processTokens(uninitTokens);\r
\r
//\r
initInstStr += tab + genInstantiationStr(exMapTable.getInstantiation()) + commaNewLine;\r
initInstStr += tab + genInstantiationStr(guidTable.getInstantiation()) + commaNewLine;\r
initInstStr += tab + genInstantiationStr(localTokenNumberTable.getInstantiation()) + commaNewLine; \r
- /*\r
- inst = stringTable.getInstantiation();\r
- for (i = 0; i < inst.size(); i++ ) {\r
- initInstStr += tab + inst.get(i) + commaNewLine; \r
- }\r
- */\r
initInstStr += tab + genInstantiationStr(stringTable.getInstantiation()) + commaNewLine;\r
initInstStr += tab + genInstantiationStr(sizeTable.getInstantiation()) + commaNewLine;\r
initInstStr += tab + genInstantiationStr(skuIdTable.getInstantiation()) + commaNewLine;\r
+ initDeclStr + newLine\r
+ uninitDeclStr + newLine\r
+ newLine;\r
+ \r
+ hString += String.format("#define PCD_%s_SERVICE_DRIVER_VERSION %d", phase, version);\r
\r
}\r
\r
\r
private HashMap<String, ArrayList<String>> processTokens (List<Token> alToken) {\r
\r
- ArrayList[] output = new ArrayList[4];\r
HashMap <String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();\r
\r
ArrayList<String> decl = new ArrayList<String>();\r
\r
private String getDataTypeInstantiation (Token token) {\r
\r
- String typeStr = "";\r
-\r
if (token.datumType == Token.DATUM_TYPE.POINTER) {\r
return String.format("%s /* %s */", token.datum.toString(), token.getPrimaryKeyString());\r
} else {\r