进行了优化,减少了上帝结构体的符号表占用
This commit is contained in:
@@ -171,7 +171,7 @@ class BaseGenMixin:
|
||||
return existing
|
||||
if clean_name in {'typedef', 'CType', 'CVolatile', 'CEnum', 'CUnion', 'CStruct', 'enum', 'REnum', 'renum', 'Void', 'void'}:
|
||||
return ir.IntType(8)
|
||||
if hasattr(self, 'SymbolTable') and self.SymbolTable and clean_name in self.SymbolTable:
|
||||
if hasattr(self, 'SymbolTable') and self.SymbolTable and self.SymbolTable.has(clean_name):
|
||||
Entry = self.SymbolTable[clean_name]
|
||||
if Entry.IsTypedef:
|
||||
resolved_str = self._resolve_typedef(clean_name)
|
||||
@@ -235,7 +235,7 @@ class BaseGenMixin:
|
||||
return int(llvm_str[1:])
|
||||
|
||||
# 2. 再查 SymbolTable(用户定义的 typedef)
|
||||
if hasattr(self, 'SymbolTable') and self.SymbolTable and name in self.SymbolTable:
|
||||
if hasattr(self, 'SymbolTable') and self.SymbolTable and self.SymbolTable.has(name):
|
||||
Entry = self.SymbolTable[name]
|
||||
if Entry.IsTypedef:
|
||||
if Entry.BaseType:
|
||||
|
||||
Reference in New Issue
Block a user