File tree Expand file tree Collapse file tree
liquidjava-verifier/src/main/java/liquidjava/processor Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -47,6 +47,14 @@ public void clearInstanceVariables() {
4747 ctxInstanceVars = new ArrayList <>();
4848 }
4949
50+ public void restoreInstanceVariables () {
51+ for (RefinedVariable variable : getCtxVars ()) {
52+ if (variable instanceof Variable ) {
53+ ((Variable ) variable ).getLastInstance ().ifPresent (this ::addInstanceVariable );
54+ }
55+ }
56+ }
57+
5058 public void reinitializeAllContext () {
5159 reinitializeContext ();
5260 ctxFunctions = new ArrayList <>();
Original file line number Diff line number Diff line change @@ -107,6 +107,7 @@ public <A extends Annotation> void visitCtAnnotationType(CtAnnotationType<A> ann
107107 public <T > void visitCtConstructor (CtConstructor <T > constructor ) {
108108 context .clearInstanceVariables ();
109109 context .enterContext ();
110+ context .restoreInstanceVariables ();
110111 mfc .loadFunctionInfo (constructor );
111112 try {
112113 super .visitCtConstructor (constructor );
@@ -121,6 +122,7 @@ public <T> void visitCtConstructor(CtConstructor<T> constructor) {
121122 public <R > void visitCtMethod (CtMethod <R > method ) {
122123 context .clearInstanceVariables ();
123124 context .enterContext ();
125+ context .restoreInstanceVariables ();
124126 if (!method .getSignature ().equals ("main(java.lang.String[])" )) {
125127 mfc .loadFunctionInfo (method );
126128 }
You can’t perform that action at this time.
0 commit comments