]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/GenBuild/org/tianocore/build/pcd/action/CollectPCDAction.java
Add in GetNextToken and Register Callback Function funtionality for DXE Driver.
[mirror_edk2.git] / Tools / Source / GenBuild / org / tianocore / build / pcd / action / CollectPCDAction.java
index 6cc73ff22845d9df80078ba595aa4ca8f6aeaddf..e10f325ee6ebe8e4afda9f0fffefd4ff3082d57c 100644 (file)
@@ -217,7 +217,7 @@ class SizeTable {
 \r
         return index;\r
     }\r
-\r
+    \r
     private int getDatumSize(Token token) {\r
         /*\r
         switch (token.datumType) {\r
@@ -674,6 +674,15 @@ class PcdDatabase {
     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
@@ -702,7 +711,7 @@ class PcdDatabase {
 \r
     private void getTwoGroupsOfTokens (ArrayList<Token> alTokens, List<Token> initTokens, List<Token> uninitTokens) {\r
         for (int i = 0; i < alTokens.size(); i++) {\r
-            Token t = (Token)alTokens.get(i);\r
+            Token t = alTokens.get(i);\r
             if (t.hasDefaultValue()) {\r
                 initTokens.add(t);\r
             } else {\r
@@ -754,10 +763,8 @@ class PcdDatabase {
      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
@@ -781,9 +788,8 @@ class PcdDatabase {
         // Generate Structure Declaration for PcdTokens without Default Value\r
         // PEI_PCD_DATABASE_INIT\r
         //\r
-        java.util.Comparator comparator = new AlignmentSizeComp();\r
-        List<Token> list = initTokens;\r
-        java.util.Collections.sort(list, comparator);\r
+        java.util.Comparator<Token> comparator = new AlignmentSizeComp();\r
+        java.util.Collections.sort(initTokens, comparator);\r
         initCode = processTokens(initTokens);\r
 \r
         //\r
@@ -851,12 +857,6 @@ class PcdDatabase {
         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
@@ -907,6 +907,8 @@ class PcdDatabase {
               + 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
@@ -924,7 +926,6 @@ class PcdDatabase {
 \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
@@ -1039,8 +1040,6 @@ class PcdDatabase {
 \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