diff --git a/liquidjava-example/src/main/java/testSuite/classes/arraylist_correct/ArrayListRefinements.java b/liquidjava-example/src/main/java/testSuite/classes/arraylist_correct/ArrayListRefinements.java index 260a8297d..4dc910011 100644 --- a/liquidjava-example/src/main/java/testSuite/classes/arraylist_correct/ArrayListRefinements.java +++ b/liquidjava-example/src/main/java/testSuite/classes/arraylist_correct/ArrayListRefinements.java @@ -1,8 +1,6 @@ package testSuite.classes.arraylist_correct; -import liquidjava.specification.ExternalRefinementsFor; -import liquidjava.specification.RefinementPredicate; -import liquidjava.specification.StateRefinement; +import liquidjava.specification.*; @ExternalRefinementsFor("java.util.ArrayList") public interface ArrayListRefinements { diff --git a/liquidjava-example/src/main/java/testSuite/classes/socket_error/SocketRefinements.java b/liquidjava-example/src/main/java/testSuite/classes/socket_error/SocketRefinements.java index 4c31fcf26..1547464ea 100644 --- a/liquidjava-example/src/main/java/testSuite/classes/socket_error/SocketRefinements.java +++ b/liquidjava-example/src/main/java/testSuite/classes/socket_error/SocketRefinements.java @@ -1,9 +1,7 @@ package testSuite.classes.socket_error; import java.net.SocketAddress; -import liquidjava.specification.ExternalRefinementsFor; -import liquidjava.specification.StateRefinement; -import liquidjava.specification.StateSet; +import liquidjava.specification.*; @ExternalRefinementsFor("java.net.Socket") @StateSet({"unconnected", "binded", "connected", "closed"}) diff --git a/liquidjava-example/src/main/java/testSuite/classes/state_multiple_cases_correct/InputStreamReaderRefinements.java b/liquidjava-example/src/main/java/testSuite/classes/state_multiple_cases_correct/InputStreamReaderRefinements.java index 53de91f1b..4fd8cd063 100644 --- a/liquidjava-example/src/main/java/testSuite/classes/state_multiple_cases_correct/InputStreamReaderRefinements.java +++ b/liquidjava-example/src/main/java/testSuite/classes/state_multiple_cases_correct/InputStreamReaderRefinements.java @@ -1,10 +1,7 @@ package testSuite.classes.state_multiple_cases_correct; import java.io.InputStream; -import liquidjava.specification.ExternalRefinementsFor; -import liquidjava.specification.Refinement; -import liquidjava.specification.StateRefinement; -import liquidjava.specification.StateSet; +import liquidjava.specification.*; // https://docs.oracle.com/javase/7/docs/api/java/io/InputStreamReader.html @ExternalRefinementsFor("java.io.InputStreamReader") diff --git a/liquidjava-verifier/src/main/java/liquidjava/processor/refinement_checker/TypeChecker.java b/liquidjava-verifier/src/main/java/liquidjava/processor/refinement_checker/TypeChecker.java index a91a4cb2c..5b86a3664 100644 --- a/liquidjava-verifier/src/main/java/liquidjava/processor/refinement_checker/TypeChecker.java +++ b/liquidjava-verifier/src/main/java/liquidjava/processor/refinement_checker/TypeChecker.java @@ -64,7 +64,7 @@ public Optional getRefinementFromAnnotation(CtElement element) throws Optional constr = Optional.empty(); Optional ref = Optional.empty(); for (CtAnnotation ann : element.getAnnotations()) { - String an = ann.getActualAnnotation().annotationType().getCanonicalName(); + String an = ann.getAnnotationType().getQualifiedName(); if (an.contentEquals("liquidjava.specification.Refinement")) { String value = getStringFromAnnotation(ann.getValue("value")); ref = Optional.of(value); @@ -93,7 +93,7 @@ public Optional getRefinementFromAnnotation(CtElement element) throws @SuppressWarnings({ "rawtypes" }) public Optional getMessageFromAnnotation(CtElement element) { for (CtAnnotation ann : element.getAnnotations()) { - String an = ann.getActualAnnotation().annotationType().getCanonicalName(); + String an = ann.getAnnotationType().getQualifiedName(); if (an.contentEquals("liquidjava.specification.Refinement")) { Map values = ann.getAllValues(); String msg = getStringFromAnnotation((values.get("msg"))); @@ -109,7 +109,7 @@ public Optional getMessageFromAnnotation(CtElement element) { public void handleStateSetsFromAnnotation(CtElement element) throws LJError { int set = 0; for (CtAnnotation ann : element.getAnnotations()) { - String an = ann.getActualAnnotation().annotationType().getCanonicalName(); + String an = ann.getAnnotationType().getQualifiedName(); if (an.contentEquals("liquidjava.specification.StateSet")) { set++; createStateSet((CtNewArray) ann.getAllValues().get("value"), set, element); @@ -266,7 +266,7 @@ protected void handleAlias(String ref, CtElement element, SourcePosition positio Optional> getExternalRefinement(CtInterface intrface) { for (CtAnnotation ann : intrface.getAnnotations()) - if (ann.getActualAnnotation().annotationType().getCanonicalName() + if (ann.getAnnotationType().getQualifiedName() .contentEquals("liquidjava.specification.ExternalRefinementsFor")) { return Optional.of(ann); } diff --git a/liquidjava-verifier/src/main/java/liquidjava/processor/refinement_checker/object_checkers/AuxStateHandler.java b/liquidjava-verifier/src/main/java/liquidjava/processor/refinement_checker/object_checkers/AuxStateHandler.java index 9d435dffa..6040d17a9 100644 --- a/liquidjava-verifier/src/main/java/liquidjava/processor/refinement_checker/object_checkers/AuxStateHandler.java +++ b/liquidjava-verifier/src/main/java/liquidjava/processor/refinement_checker/object_checkers/AuxStateHandler.java @@ -33,7 +33,7 @@ public class AuxStateHandler { */ @SuppressWarnings({ "unchecked", "rawtypes" }) public static void handleConstructorState(CtConstructor c, RefinedFunction f, TypeChecker tc) throws LJError { - List> an = getStateAnnotation(c); + List> an = getStateAnnotations(c); if (!an.isEmpty()) { for (CtAnnotation a : an) { Map m = a.getAllValues(); @@ -140,7 +140,7 @@ private static List getDifferentSets(TypeChecker tc, String klass */ public static void handleMethodState(CtMethod method, RefinedFunction f, TypeChecker tc, String prefix) throws LJError { - List> an = getStateAnnotation(method); + List> an = getStateAnnotations(method); if (!an.isEmpty()) { setFunctionStates(f, an, tc, method, prefix); } @@ -611,9 +611,8 @@ static VariableInstance getTarget(CtElement invocation) { return null; } - private static List> getStateAnnotation(CtElement element) { - return element.getAnnotations().stream().filter(ann -> ann.getActualAnnotation().annotationType() - .getCanonicalName().contentEquals("liquidjava.specification.StateRefinement")) - .collect(Collectors.toList()); + private static List> getStateAnnotations(CtElement element) { + return element.getAnnotations().stream().filter(ann -> ann.getAnnotationType().getQualifiedName() + .contentEquals("liquidjava.specification.StateRefinement")).collect(Collectors.toList()); } } \ No newline at end of file