Skip to content

Commit cb50d1e

Browse files
committed
Minor Improvements
1 parent f24dc28 commit cb50d1e

File tree

2 files changed

+7
-15
lines changed

2 files changed

+7
-15
lines changed

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

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -123,21 +123,19 @@ public <R> void visitCtMethod(CtMethod<R> method) {
123123
@Override
124124
public <T> void visitCtLocalVariable(CtLocalVariable<T> localVariable) {
125125
super.visitCtLocalVariable(localVariable);
126-
// only declaration, no assignment
126+
String varName = localVariable.getSimpleName();
127127
if (localVariable.getAssignment() == null) {
128-
Optional<Predicate> a;
129-
a = getRefinementFromAnnotation(localVariable);
130-
context.addVarToContext(localVariable.getSimpleName(), localVariable.getType(), a.orElse(new Predicate()),
131-
localVariable);
128+
// declaration with no assignment
129+
Optional<Predicate> pred = getRefinementFromAnnotation(localVariable);
130+
context.addVarToContext(varName, localVariable.getType(), pred.orElse(new Predicate()), localVariable);
132131
} else {
133-
String varName = localVariable.getSimpleName();
132+
// declaration with assignment
134133
CtExpression<?> e = localVariable.getAssignment();
135-
136134
Predicate refinementFound = getRefinement(e);
137135
if (refinementFound == null) {
138136
refinementFound = new Predicate();
139137
}
140-
if (Utils.isBoxedType(localVariable.getType()) && !Utils.isNullLiteral(e)) {
138+
if (!Utils.isPrimitiveType(localVariable.getType().getQualifiedName()) && !Utils.isNullLiteral(e)) {
141139
refinementFound = Predicate.createConjunction(refinementFound, Predicate.createNonNullEq());
142140
}
143141
context.addVarToContext(varName, localVariable.getType(), new Predicate(), e);
@@ -402,7 +400,7 @@ private void checkAssignment(String name, CtTypeReference<?> type, CtExpression<
402400
refinementFound = new Predicate();
403401
}
404402
}
405-
if (Utils.isBoxedType(type) && !Utils.isNullLiteral(assignment)) {
403+
if (!Utils.isPrimitiveType(type.getQualifiedName()) && !Utils.isNullLiteral(assignment)) {
406404
refinementFound = Predicate.createConjunction(refinementFound, Predicate.createNonNullEq());
407405
}
408406
Optional<VariableInstance> r = context.getLastVariableInstance(name);

liquidjava-verifier/src/main/java/liquidjava/utils/Utils.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ public class Utils {
1414

1515
private static final Set<String> DEFAULT_NAMES = Set.of("old", "length", "addToIndex", "getFromIndex");
1616
private static final Set<String> PRIMITIVE_TYPES = Set.of("int", "boolean", "long", "short", "float", "double");
17-
private static final Set<String> BOXED_TYPES = Set.of("java.lang.Integer", "java.lang.Boolean", "java.lang.Long",
18-
"java.lang.Short", "java.lang.Float", "java.lang.Double");
1917

2018
public static CtTypeReference<?> getType(String type, Factory factory) {
2119
// TODO: complete with other types
@@ -34,10 +32,6 @@ public static boolean isNullLiteral(CtExpression<?> assignment) {
3432
return assignment instanceof CtLiteral<?> lit && lit.getValue() == null;
3533
}
3634

37-
public static boolean isBoxedType(CtTypeReference<?> type) {
38-
return BOXED_TYPES.contains(type.getQualifiedName());
39-
}
40-
4135
public static boolean isPrimitiveType(String type) {
4236
return PRIMITIVE_TYPES.contains(type);
4337
}

0 commit comments

Comments
 (0)