|
63 | 63 | GlobalLoad, GlobalStore, GlobalAddressArgument) |
64 | 64 | from chb.app.Instruction import Instruction |
65 | 65 | from chb.app.JumpTables import JumpTable |
66 | | -from chb.app.StackLayout import StackLayout |
67 | 66 | from chb.app.StringXRefs import StringsXRefs |
68 | 67 |
|
69 | 68 | import chb.ast.ASTNode as AST |
|
91 | 90 |
|
92 | 91 | if TYPE_CHECKING: |
93 | 92 | from chb.app.AppAccess import AppAccess |
94 | | - from chb.app.FnStackFrame import FnStackFrame |
| 93 | + from chb.app.FunctionStackframe import FunctionStackframe |
95 | 94 | from chb.app.GlobalMemoryMap import ( |
96 | 95 | GlobalMemoryMap, GlobalLocation, GlobalReference) |
97 | 96 | from chb.bctypes.BCTyp import BCTyp |
@@ -125,7 +124,6 @@ def __init__( |
125 | 124 | self._varinvd: Optional[FnVarInvDictionary] = None |
126 | 125 | self._invariants: Dict[str, List[InvariantFact]] = {} |
127 | 126 | self._varinvariants: Dict[str, List[VarInvariantFact]] = {} |
128 | | - self._stacklayout: Optional[StackLayout] = None |
129 | 127 | self._globalrefs: Optional[Dict[str, List["GlobalReference"]]] = None |
130 | 128 | self._proofobligations: Optional[FnProofObligations] = None |
131 | 129 |
|
@@ -393,7 +391,7 @@ def cfg(self) -> Cfg: |
393 | 391 | raise UF.CHBError("Property cfg not implemented for Function") |
394 | 392 |
|
395 | 393 | @property |
396 | | - def stackframe(self) -> "FnStackFrame": |
| 394 | + def stackframe(self) -> "FunctionStackframe": |
397 | 395 | raise UF.CHBError("Property stackframe not implemented for Function") |
398 | 396 |
|
399 | 397 | @property |
@@ -544,18 +542,6 @@ def lhs_types(self) -> Dict[str, Dict[str, "BCTyp"]]: |
544 | 542 |
|
545 | 543 | return result |
546 | 544 |
|
547 | | - def stacklayout(self) -> StackLayout: |
548 | | - if self._stacklayout is None: |
549 | | - stacklayout = StackLayout() |
550 | | - for (iaddr, instr) in self.instructions.items(): |
551 | | - memaccesses = instr.memory_accesses |
552 | | - if any(a.is_stack_address for a in memaccesses): |
553 | | - stacklayout.add_access(instr) |
554 | | - if instr.is_call_instruction: |
555 | | - stacklayout.add_access(instr) |
556 | | - self._stacklayout = stacklayout |
557 | | - return self._stacklayout |
558 | | - |
559 | 545 | def globalrefs(self) -> Dict[str, List["GlobalReference"]]: |
560 | 546 | if self._globalrefs is None: |
561 | 547 | self._globalrefs = {} |
|
0 commit comments