|
16 | 16 | import liquidjava.utils.constants.Keys; |
17 | 17 | import liquidjava.utils.constants.Types; |
18 | 18 | import spoon.reflect.code.*; |
| 19 | +import spoon.reflect.cu.SourcePosition; |
19 | 20 | import spoon.reflect.declaration.*; |
20 | 21 | import spoon.reflect.reference.CtTypeReference; |
21 | 22 |
|
@@ -69,7 +70,7 @@ private static void setConstructorStates(RefinedFunction f, List<CtAnnotation<? |
69 | 70 | if (to != null) { |
70 | 71 | Predicate p = new Predicate(to, element); |
71 | 72 | if (!p.getExpression().isBooleanExpression()) { |
72 | | - throw new InvalidRefinementError(element.getPosition(), |
| 73 | + throw new InvalidRefinementError(an.getPosition(), |
73 | 74 | "State refinement transition must be a boolean expression", to); |
74 | 75 | } |
75 | 76 | state.setTo(p); |
@@ -208,7 +209,8 @@ private static Predicate createStatePredicate(String value, String targetClass, |
208 | 209 | boolean isTo, String prefix) throws LJError { |
209 | 210 | Predicate p = new Predicate(value, e, prefix); |
210 | 211 | if (!p.getExpression().isBooleanExpression()) { |
211 | | - throw new InvalidRefinementError(e.getPosition(), |
| 212 | + SourcePosition position = Utils.getAnnotationPosition(e, value); |
| 213 | + throw new InvalidRefinementError(position, |
212 | 214 | "State refinement transition must be a boolean expression", value); |
213 | 215 | } |
214 | 216 | CtTypeReference<?> r = tc.getFactory().Type().createReference(targetClass); |
|
0 commit comments