]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/GenBuild/org/tianocore/build/pcd/action/CollectPCDAction.java
Make sure the PCD dxe service driver can handle the case where no PEIM is using any...
[mirror_edk2.git] / Tools / Source / GenBuild / org / tianocore / build / pcd / action / CollectPCDAction.java
index 7b86e6b88fc4e680bfa83c5828641315862218e6..1eb060b6a618dbaef69a0a773ff4f83c553b9f2f 100644 (file)
@@ -442,21 +442,18 @@ class LocalTokenNumberTable {
     private ArrayList<String>    alComment;\r
     private String               phase;\r
     private int                  len;\r
-    private int                   bodyStart;\r
-    private int                   bodyLineNum;\r
 \r
     public LocalTokenNumberTable (String phase) {\r
         this.phase = phase;\r
         al = new ArrayList<String>();\r
         alComment = new ArrayList<String>();\r
-        bodyStart = 0;\r
-        bodyLineNum = 0;\r
 \r
         len = 0;\r
     }\r
 \r
     public String getSizeMacro () {\r
-        return String.format(PcdDatabase.LocalTokenNumberTableSizeMacro, phase, getSize());\r
+       return String.format(PcdDatabase.LocalTokenNumberTableSizeMacro, phase, getSize())\r
+                       + String.format(PcdDatabase.LocalTokenNumberSizeMacro, phase, al.size());\r
     }\r
 \r
     public int getSize () {\r
@@ -476,7 +473,6 @@ class LocalTokenNumberTable {
 \r
         output.add("/* LocalTokenNumberTable */");\r
         output.add("{");\r
-        bodyStart = 2;\r
 \r
         if (al.size() == 0) {\r
             output.add("0");\r
@@ -498,8 +494,6 @@ class LocalTokenNumberTable {
 \r
         }\r
 \r
-        bodyLineNum = al.size();\r
-\r
         output.add("}");\r
 \r
         return output;\r
@@ -641,16 +635,17 @@ class PcdDatabase {
 \r
     public final static String ExMapTableDeclaration            = "DYNAMICEX_MAPPING ExMapTable[%s_EXMAPPING_TABLE_SIZE];\r\n";\r
     public final static String GuidTableDeclaration             = "EFI_GUID          GuidTable[%s_GUID_TABLE_SIZE];\r\n";\r
-    public final static String LocalTokenNumberTableDeclaration = "UINT32            LocalTokenNumberTable[%s_LOCAL_TOKEN_NUMBER];\r\n";\r
+    public final static String LocalTokenNumberTableDeclaration = "UINT32            LocalTokenNumberTable[%s_LOCAL_TOKEN_NUMBER_TABLE_SIZE];\r\n";\r
     public final static String StringTableDeclaration           = "UINT16            StringTable[%s_STRING_TABLE_SIZE];\r\n";\r
-    public final static String SizeTableDeclaration             = "UINT16            SizeTable[%s_LOCAL_TOKEN_NUMBER];\r\n";\r
+    public final static String SizeTableDeclaration             = "UINT16            SizeTable[%s_LOCAL_TOKEN_NUMBER_TABLE_SIZE];\r\n";\r
     public final static String SkuIdTableDeclaration              = "UINT8             SkuIdTable[%s_SKUID_TABLE_SIZE];\r\n";\r
 \r
 \r
     public final static String ExMapTableSizeMacro              = "#define %s_EXMAPPING_TABLE_SIZE  %d\r\n";\r
     public final static String ExTokenNumber                    = "#define %s_EX_TOKEN_NUMBER       %d\r\n";\r
     public final static String GuidTableSizeMacro               = "#define %s_GUID_TABLE_SIZE         %d\r\n";\r
-    public final static String LocalTokenNumberTableSizeMacro   = "#define %s_LOCAL_TOKEN_NUMBER            %d\r\n";\r
+    public final static String LocalTokenNumberTableSizeMacro   = "#define %s_LOCAL_TOKEN_NUMBER_TABLE_SIZE            %d\r\n";\r
+    public final static String LocalTokenNumberSizeMacro               = "#define %s_LOCAL_TOKEN_NUMBER            %d\r\n";\r
     public final static String StringTableSizeMacro             = "#define %s_STRING_TABLE_SIZE       %d\r\n";\r
     public final static String SkuIdTableSizeMacro              = "#define %s_SKUID_TABLE_SIZE        %d\r\n";\r
 \r
@@ -711,7 +706,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
@@ -789,16 +784,14 @@ class PcdDatabase {
         // PEI_PCD_DATABASE_INIT\r
         //\r
         java.util.Comparator<Token> comparator = new AlignmentSizeComp();\r
-        List<Token> list = initTokens;\r
-        java.util.Collections.sort(list, comparator);\r
+        java.util.Collections.sort(initTokens, comparator);\r
         initCode = processTokens(initTokens);\r
 \r
         //\r
         // Generate Structure Declaration for PcdTokens without Default Value\r
         // PEI_PCD_DATABASE_UNINIT\r
         //\r
-        list = uninitTokens;\r
-        java.util.Collections.sort(list, comparator);\r
+        java.util.Collections.sort(uninitTokens, comparator);\r
         uninitCode = processTokens(uninitTokens);\r
 \r
         //\r