]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Workspace/BuildClassObject.py
BaseTools: Sort Pcd settings to make PcdTokenNumber be fixed
[mirror_edk2.git] / BaseTools / Source / Python / Workspace / BuildClassObject.py
index 5d2bb733752a8f593c845e88e2971bed55369264..db40e3b10c3cf63c5f1a5934fa721fd71b8fe458 100644 (file)
@@ -14,6 +14,7 @@ from Common.Misc import CopyDict,ArrayIndex
 import copy\r
 import Common.EdkLogger as EdkLogger\r
 from Common.BuildToolError import OPTION_VALUE_INVALID\r
+from Common.caching import cached_property\r
 StructPattern = re.compile(r'[_a-zA-Z][0-9A-Za-z_\[\]]*$')\r
 \r
 ## PcdClassObject\r
@@ -227,6 +228,15 @@ class PcdClassObject(object):
     def __hash__(self):\r
         return hash((self.TokenCName, self.TokenSpaceGuidCName))\r
 \r
+    @cached_property\r
+    def _fullname(self):\r
+        return ".".join((self.TokenSpaceGuidCName,self.TokenCName))\r
+\r
+    def __lt__(self,pcd):\r
+        return self._fullname < pcd._fullname\r
+    def __gt__(self,pcd):\r
+        return self._fullname > pcd._fullname\r
+\r
     def sharedcopy(self,new_pcd):\r
         new_pcd.TokenCName = self.TokenCName\r
         new_pcd.TokenSpaceGuidCName = self.TokenSpaceGuidCName\r