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
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