Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						5bcf1d5671 
					 
					
						
						
							
							BaseTools: make static functions when self is not needed  
						
						... 
						
						
						
						remove self, and add @staticmethod to functions
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-04-03 17:38:42 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						231fdbb210 
					 
					
						
						
							
							BaseTools: remove uncalled function  
						
						... 
						
						
						
						no one calls __IsWhiteSpace() (none of the 4 copies)
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-04-03 17:38:10 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						cfbe3c3500 
					 
					
						
						
							
							BaseTools: change hex parsing to use built in  
						
						... 
						
						
						
						use <char> in string.hexdigits instead of custom functions.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-04-03 17:37:33 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						4f9e71e1f7 
					 
					
						
						
							
							BaseTools: use single RegExp for token matching  
						
						... 
						
						
						
						same pattern was compiled 3 places in the file.  just compile once and share.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-04-03 17:35:31 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						0b560b980c 
					 
					
						
						
							
							BaseTools: cleanup class heirarchy  
						
						... 
						
						
						
						remove totally empty classes from class heirarchy
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-30 09:17:30 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						5fbb0f9908 
					 
					
						
						
							
							BaseTools: remove loop and variables.  
						
						... 
						
						
						
						this loop does nothing. none of Key, Item, nor DevicePathList
are ever used.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-30 09:17:09 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						0a014fba41 
					 
					
						
						
							
							BaseTools: use in to compare single chars  
						
						... 
						
						
						
						instead if 3 Startswith for single chars, just use in with a list of chars
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-30 09:16:27 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						0944818a19 
					 
					
						
						
							
							BaseTools: no need to do int() API work for it  
						
						... 
						
						
						
						int() with base=0 will already auto determine base from preceeding 0x/0X
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-30 09:16:01 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						4231a8193e 
					 
					
						
						
							
							BaseTools: Remove equality operator with None  
						
						... 
						
						
						
						replace "== None" with "is None" and "!= None" with "is not None"
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-30 08:25:13 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						cc0321f22a 
					 
					
						
						
							
							BaseTools: refactor repeated RegExp when no special searching is needed.  
						
						... 
						
						
						
						use str.replace and try/except.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 16:33:55 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						e52aed0d85 
					 
					
						
						
							
							BaseTools: dont use enumerate when un-needed  
						
						... 
						
						
						
						Since we only use the item from the list and not the numeric value,
dont bother with enumerate()
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 16:31:24 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						38504ad3e3 
					 
					
						
						
							
							BaseTools: move regular expression compile out of function call.  
						
						... 
						
						
						
						move to the root of the file and dont recompile.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 16:28:43 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						663b9e061e 
					 
					
						
						
							
							BaseTools: expression can use single in instead of 3 API calls.  
						
						... 
						
						
						
						change 3 StartsWith() calls to a single 'in' operation.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 16:28:11 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						56326323e6 
					 
					
						
						
							
							BaseTools: remove local hex number regular expression  
						
						... 
						
						
						
						Change to using the new shared hex number regular expression
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 16:26:38 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						b1a9e404d4 
					 
					
						
						
							
							BaseTools: use new shared GUID regular expressions  
						
						... 
						
						
						
						remove local variables that are GUID matching and replace with shared
expression.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 16:18:29 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						0760ed06a1 
					 
					
						
						
							
							BaseTools: GlobalData Add a regular expression for a hex number  
						
						... 
						
						
						
						add a shared precompiled regular expression
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 10:17:46 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						9e7790a352 
					 
					
						
						
							
							BaseTools: Add new RegExp for future use  
						
						... 
						
						
						
						Add a precompiled RegExp for 4 hex chars.
v2: fixed incorrect numbers of {}
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 08:55:09 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						256e2d885b 
					 
					
						
						
							
							BaseTools: Regular Expressions refactor out the hex char for later reuse  
						
						... 
						
						
						
						move hex character info from GUID expressions into seperate variable to
facilitate reuse.
I had a type with insufficient {} in the first version.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 08:54:35 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						cd67d66484 
					 
					
						
						
							
							BaseTools: add GUID pattern to global data  
						
						... 
						
						
						
						add a shared global regular expression for GUID matching
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 08:36:06 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						0f17c9fef1 
					 
					
						
						
							
							BaseTools: GlobalData share same MACRO name definition  
						
						... 
						
						
						
						use the same MACRO name definition across shared regular expression patterns.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 08:35:17 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						4d603daa3a 
					 
					
						
						
							
							BaseTools: FdfParser and FdfParserLite share reg exp  
						
						... 
						
						
						
						FdfParser can share regular expression from FdfParserLite.
reduce overlap and reduce recompile of the same expression.
v2: fix missed replacement of Pattern with shared variable
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 08:34:09 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						2eb370ffdb 
					 
					
						
						
							
							BaseTools: FdfParser & FdfParserLite refactor regular expression for GUIDs  
						
						... 
						
						
						
						Instead of recompiling it each time the API is called, just use
the global one that exists.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-21 13:40:15 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						c1e732344a 
					 
					
						
						
							
							BaseTools: RangeExpression - remove unused variable  
						
						... 
						
						
						
						remove a never used variable.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-19 09:27:29 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						47f7040ddb 
					 
					
						
						
							
							BaseTools: Expression - remove variable  
						
						... 
						
						
						
						The InArary variable serves no purpose.  just do the work immediately.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-19 09:26:21 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						3e8bab960e 
					 
					
						
						
							
							BaseTools: Expression - change from series of if to elif  
						
						... 
						
						
						
						since the first character of the string cannot be found by multiple if
statements, use elif to optomize the behavior.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-19 09:25:33 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						1f901a89f0 
					 
					
						
						
							
							BaseTools: Expression refactor function  
						
						... 
						
						
						
						The function is about C Names, not C Strings.
Move the re.compile outside the function call
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-19 09:25:06 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						ae4cc2b084 
					 
					
						
						
							
							BaseTools: Expression - remove redundant variable  
						
						... 
						
						
						
						Str is created and not needed.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-19 09:24:31 +08:00 
						 
				 
			
				
					
						
							
							
								Yonghong Zhu 
							
						 
					 
					
						
						
							
						
						316b43dee5 
					 
					
						
						
							
							BaseTools: Fix bug for VOID* DynamicDefault Pcd use Flexible format  
						
						... 
						
						
						
						define a flexible pcd format in Dyanmic/DynamicExDefault section,
it cause build error.
[PcdsDynamicExDefault.common.DEFAULT]
  pcdToken.Name|{GUID("11111111-2222-42eb-b5eb-fef31d207cb4")}
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com > 
						
						
					 
					
						2018-03-18 15:01:07 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						7878f706e7 
					 
					
						
						
							
							BaseTools: GlobalData remove unused variable  
						
						... 
						
						
						
						gWideStringPattern is not used.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-09 17:39:38 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						b31501c90a 
					 
					
						
						
							
							BaseTools: Fix parse OFFSET_OF get wrong offset  
						
						... 
						
						
						
						Fix parse OFFSET_OF get wrong offset
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-09 17:34:10 +08:00 
						 
				 
			
				
					
						
							
							
								Yonghong Zhu 
							
						 
					 
					
						
						
							
						
						8565b5829c 
					 
					
						
						
							
							BaseTools: Update --pcd parser to support flexible pcd format  
						
						... 
						
						
						
						This patch update --pcd parser to support flexible pcd format.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com > 
						
						
					 
					
						2018-03-09 16:34:37 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						5ac0a5450b 
					 
					
						
						
							
							BaseTools: report error if flag in LABEL() invalid  
						
						... 
						
						
						
						Flag in LABEL() is not valid C variable name, will report error.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-02 10:18:50 +08:00 
						 
				 
			
				
					
						
							
							
								Yonghong Zhu 
							
						 
					 
					
						
						
							
						
						6ee9c68912 
					 
					
						
						
							
							BaseTools: Fix the bug for display incorrect *M flag in report  
						
						... 
						
						
						
						The root cause is the byte array value in the driver Pcd, some bytes
have additional space character, while the value in DSC file doesn't
have this space, it cause the string compare return false, so we remove
the extra space.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com > 
						
						
					 
					
						2018-03-02 10:06:21 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						4faf13222e 
					 
					
						
						
							
							BaseTools: Fix eval parse string issue  
						
						... 
						
						
						
						eval argument start with " or ', but it is unicode string,
will encounter error:
    List = list(eval(Value)) # translate escape character
  File "<string>", line 1
    'j??=????????F??
             ^
SyntaxError: EOL while scanning string literal
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-02 10:05:03 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						ea927d2f3f 
					 
					
						
						
							
							BaseTools: Fix flexible PCD single quote and double quote bugs  
						
						... 
						
						
						
						1.The " and ' inside the string, must use escape character format
  (\", \')
2.'string' and L'string' format in --pcd, it must be double quoted
  first.
  Some examples that to match --pcd format and DSC format
  --pcd                             DSC format
  L"ABC"                            L"ABC"
  "AB\\\"C"                         "AB\"C"
  "AB\\\'C"                         "AB\'C"
  L"\'AB\\\"C\'"                    L'AB\"C'
  "\'AB\\\'C\'"                     'AB\'C'
  H"{0, L\"AB\\\"B\", \'ab\\\"c\'}" {0, L"AB\"B", 'ab\"c'}
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-02-28 08:47:11 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						3be421e987 
					 
					
						
						
							
							BaseTools: Update ValueExpressionEx for flexible PCD  
						
						... 
						
						
						
						1. Byte  array number should less than 0xFF.
2. Add SplitPcdValueString for PCD split
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-02-25 16:04:23 +08:00 
						 
				 
			
				
					
						
							
							
								Kinney, Michael D 
							
						 
					 
					
						
						
							
						
						8bd72d7c05 
					 
					
						
						
							
							BaseTools/Expression: Use 2nd passes on PCD values  
						
						... 
						
						
						
						Use 2 passes when evaluating PCD values to discover
all the LABEL() operators and compute the byte offset
of each LABEL().  The 2nd pass then has the information
to replace the OFFSET_OF() operator with the computed
byte offset.  The 2 passes allows OFFSET_OF() to be used
before a LABEL() is declared.
fixes:https://bugzilla.tianocore.org/show_bug.cgi?id=880 
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-02-25 16:03:14 +08:00 
						 
				 
			
				
					
						
							
							
								Yonghong Zhu 
							
						 
					 
					
						
						
							
						
						8aaa8f7bc0 
					 
					
						
						
							
							BaseTools: Fix the bug to display the single SKUID info  
						
						... 
						
						
						
						when defined SKUID_IDENTIFIER = DEFAULT|TEST in DSC [Defines] section,
per spec it means current SKUID is single, the bug is build report print
both DEFAULT and TEST info, it should only print TEST.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com > 
						
						
					 
					
						2018-02-23 18:48:03 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						a35918caae 
					 
					
						
						
							
							BaseTools: Fix VOID* type bug  
						
						... 
						
						
						
						Code miss UINT32 and UINT64 value type setting in
VOID*, like as {UINT32({TRUE})}
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-02-10 19:55:13 +08:00 
						 
				 
			
				
					
						
							
							
								Yunhua Feng 
							
						 
					 
					
						
						
							
						
						9efe8d6040 
					 
					
						
						
							
							BaseTools: Update Expression.py for string comparison and MACRO replace issue  
						
						... 
						
						
						
						1. Fix string comparison incorrect issue, we expected "ABC" is greater than
"AAD" since the second char 'B' is greater than 'A'.
2. fix MACRO not replace issue.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-02-09 08:34:36 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						4344a788c4 
					 
					
						
						
							
							BaseTools: Report error when GUID format is incorrect  
						
						... 
						
						
						
						Flexible GUID format of PCD value support following format, so tool should report
error when it is not correct.
1. { GUID("11E13869-1896-4A07-8B21-D8B23DD2A2B4") }
2. { GUID({ 0x11e13869, 0x1896, 0x4a07,{
    0x8b, 0x21, 0xd8, 0xb2, 0x3d, 0xd2, 0xa2, 0xb4 } }) }
3. { GUID(gEfiBlockIoProtocolGuid) }
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-02-07 09:29:08 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						8ad5f10a2b 
					 
					
						
						
							
							BaseTools: Fix flexible PCD DEVICE_PATH parse issue  
						
						... 
						
						
						
						When the format of DEVICE_PATH have string, like as:
{DEVICE_PATH("BBS(1,"AB",0)")} have string "AB", will
get the wrong value.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-02-07 09:28:44 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						f9bba77495 
					 
					
						
						
							
							BaseTools: Fix build argument --pcd for flexible format bugs  
						
						... 
						
						
						
						Build argument --pcd flexible format, like as:
1. VOID* type
gTokenSpaceGuid.Test=H"{flexible format}"
gTokenSpaceGuid.Test=L"string"
gTokenSpaceGuid.Test="string"
gTokenSpaceGuid.Test=L'string'
gTokenSpaceGuid.Test='string'
2. UINT8/UINT16/UINT32/UINT64 type
gTokenSpaceGuid.Test=H"{flexible format}"
gTokenSpaceGuid.Test=L"string"
gTokenSpaceGuid.Test="string"
gTokenSpaceGuid.Test=L'string'
gTokenSpaceGuid.Test='string'
In linux, single quotes need escape
gTokenSpaceGuid.Test=L\'string\'
gTokenSpaceGuid.Test=\'string\'
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-02-07 09:28:17 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						0e6b86731e 
					 
					
						
						
							
							BaseTools: Update Expression.py for VOID* to support L'a' and 'a'  
						
						... 
						
						
						
						Original VOID* type support L"string" and "string" format, now we also
add support for single quote string that without null terminator.
Type VOID* support L'a' and 'a', the value transfer to c style value.
L'a' --> {0x61, 0x00}
L'ab' --> {0x61, 0x00, 0x62, 0x00}
'a'  --> {0x61}
'ab' --> {0x61, 0x62}
when the value is L'' or '' that not include any character, tool will
report error.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-02-04 11:19:39 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, Bob C 
							
						 
					 
					
						
						
							
						
						6f49996ced 
					 
					
						
						
							
							BaseTools: Structure Pcd in CommandLine.  
						
						... 
						
						
						
						Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com > 
						
						
					 
					
						2018-02-01 09:21:47 +08:00 
						 
				 
			
				
					
						
							
							
								Yonghong Zhu 
							
						 
					 
					
						
						
							
						
						d5988a8ac9 
					 
					
						
						
							
							BaseTools: Update BPDG to support L'' and '' format as VPD Pcd Value  
						
						... 
						
						
						
						Current Pcd value support flexible format, this patch add support for
BPDG Tool to support L'' and '' format.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com > 
						
						
					 
					
						2018-01-31 17:50:01 +08:00 
						 
				 
			
				
					
						
							
							
								Yunhua Feng 
							
						 
					 
					
						
						
							
						
						35f613d96c 
					 
					
						
						
							
							BaseTools: Enhance parse performance by optimize ValueExpressionEx  
						
						... 
						
						
						
						Optimize ValueExpressionEx function to enhance meta-data file parse
performance.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com > 
						
						
					 
					
						2018-01-30 22:44:59 +08:00 
						 
				 
			
				
					
						
							
							
								BobCF 
							
						 
					 
					
						
						
							
						
						09c80b07b4 
					 
					
						
						
							
							BaseTools: Fix Sku inherit issue.  
						
						... 
						
						
						
						The final Pcd value should only be override by its parents.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Feng Bob C <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com > 
						
						
					 
					
						2018-01-08 11:32:04 +08:00 
						 
				 
			
				
					
						
							
							
								Yonghong Zhu 
							
						 
					 
					
						
						
							
						
						7dbc50bd24 
					 
					
						
						
							
							BaseTools: Add DevicePath support for PCD values  
						
						... 
						
						
						
						Use C code parse device path to output hex string, and Python
run command when PCD Value need device path parse.
https://bugzilla.tianocore.org/show_bug.cgi?id=541 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com > 
						
						
					 
					
						2017-12-31 13:10:49 +08:00 
						 
				 
			
				
					
						
							
							
								Zhu, Yonghong 
							
						 
					 
					
						
						
							
						
						f13f306b3b 
					 
					
						
						
							
							BaseTools: Fix the bug for QuarkPlatformPkg build failure  
						
						... 
						
						
						
						The issue is that the string 'LPC' starts with the 'L' character and
this is being confused with L" or L' for a Unicode string or Unicode
character.
Fixes:https://bugzilla.tianocore.org/show_bug.cgi?id=831 
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com > 
						
						
					 
					
						2017-12-29 11:07:56 +08:00