Skip to content

Commit 6ac6ff7

Browse files
committed
Fix NullPointerException
1 parent 375418d commit 6ac6ff7

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

liquidjava-verifier/src/main/java/liquidjava/processor/refinement_checker/MethodsFirstChecker.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,16 +96,24 @@ public <T> void visitCtInterface(CtInterface<T> intrface) {
9696
@Override
9797
public <T> void visitCtConstructor(CtConstructor<T> c) {
9898
context.enterContext();
99-
getRefinementFromAnnotation(c);
100-
mfc.getConstructorRefinements(c);
101-
super.visitCtConstructor(c);
99+
try {
100+
getRefinementFromAnnotation(c);
101+
mfc.getConstructorRefinements(c);
102+
super.visitCtConstructor(c);
103+
} catch (LJError e) {
104+
diagnostics.add(e);
105+
}
102106
context.exitContext();
103107
}
104108

105109
public <R> void visitCtMethod(CtMethod<R> method) {
106110
context.enterContext();
107-
mfc.getMethodRefinements(method);
108-
super.visitCtMethod(method);
111+
try {
112+
mfc.getMethodRefinements(method);
113+
super.visitCtMethod(method);
114+
} catch (LJError e) {
115+
diagnostics.add(e);
116+
}
109117
context.exitContext();
110118
}
111119
}

liquidjava-verifier/src/main/java/liquidjava/processor/refinement_checker/general_checkers/MethodsFunctionsChecker.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,8 @@ public <R> void getReturnRefinements(CtReturn<R> ret) throws LJError {
181181
if (method.getParent() instanceof CtClass) {
182182
RefinedFunction fi = rtc.getContext().getFunction(method.getSimpleName(),
183183
((CtClass<?>) method.getParent()).getQualifiedName(), method.getParameters().size());
184+
if (fi == null)
185+
return;
184186

185187
List<Variable> lv = fi.getArguments();
186188
for (Variable v : lv) {

0 commit comments

Comments
 (0)