diff --git a/liquidjava-example/src/main/java/testSuite/CorrectStaticFinalUsedAsArgument.java b/liquidjava-example/src/main/java/testSuite/CorrectStaticFinalUsedAsArgument.java new file mode 100644 index 00000000..49703a6f --- /dev/null +++ b/liquidjava-example/src/main/java/testSuite/CorrectStaticFinalUsedAsArgument.java @@ -0,0 +1,11 @@ +import liquidjava.specification.Refinement; + +public class CorrectStaticFinalUsedAsArgument { + private static final int BUFFER = 64; + + static void use(@Refinement("_ > 0") int n) {} + + public static void main(String[] args) { + use(BUFFER); + } +} diff --git a/liquidjava-verifier/src/main/java/liquidjava/processor/ann_generation/FieldGhostsGeneration.java b/liquidjava-verifier/src/main/java/liquidjava/processor/ann_generation/FieldGhostsGeneration.java index 10ad84e6..a592f201 100644 --- a/liquidjava-verifier/src/main/java/liquidjava/processor/ann_generation/FieldGhostsGeneration.java +++ b/liquidjava-verifier/src/main/java/liquidjava/processor/ann_generation/FieldGhostsGeneration.java @@ -26,7 +26,8 @@ public Factory getFactory() { @Override public void visitCtClass(CtClass ctClass) { - ctClass.getDeclaredFields().stream().filter(fld -> fld.getType().getQualifiedName().equals("int")) + ctClass.getDeclaredFields().stream() + .filter(fld -> !(fld.isStatic() && fld.isFinal()) && fld.getType().getQualifiedName().equals("int")) .forEach(fld -> { CtTypeReference fldType = fld.getType(); CtAnnotation genAnn = factory.createAnnotation(factory.createCtTypeReference(Ghost.class));