Skip to content

Commit 8ee09ea

Browse files
committed
Fix
1 parent eff7067 commit 8ee09ea

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

liquidjava-verifier/src/main/java/liquidjava/processor/context/ContextHistory.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import spoon.reflect.cu.SourcePosition;
1010
import spoon.reflect.declaration.CtElement;
1111
import spoon.reflect.declaration.CtExecutable;
12+
import spoon.reflect.declaration.CtParameter;
1213

1314
public class ContextHistory {
1415
private static ContextHistory instance;
@@ -76,8 +77,9 @@ private String getFile(CtElement element) {
7677
}
7778

7879
public String getScopePosition(CtElement element) {
80+
CtElement startElement = element instanceof CtParameter<?> ? element.getParent() : element;
81+
SourcePosition annPosition = Utils.getFirstAnnotationPosition(startElement);
7982
SourcePosition pos = element.getPosition();
80-
SourcePosition annPosition = Utils.getFirstAnnotationPosition(element);
8183
return String.format("%d:%d-%d:%d", annPosition.getLine(), annPosition.getColumn() + 1, pos.getEndLine(),
8284
pos.getEndColumn());
8385
}

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

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,12 @@ public static SourcePosition getAnnotationPosition(CtElement element, String ref
4545
}
4646

4747
public static SourcePosition getFirstAnnotationPosition(CtElement element) {
48-
CtElement target = element.getParent() != null ? element.getParent() : element;
49-
return target.getAnnotations().stream().filter(Utils::isLiquidJavaAnnotation).map(CtElement::getPosition)
50-
.min((p1, p2) -> {
51-
if (p1.getLine() != p2.getLine())
52-
return Integer.compare(p1.getLine(), p2.getLine());
53-
return Integer.compare(p1.getColumn(), p2.getColumn());
54-
}).orElse(target.getPosition());
48+
return element.getAnnotations().stream().filter(Utils::isLiquidJavaAnnotation).map(CtElement::getPosition)
49+
.min((p1, p2) -> {
50+
if (p1.getLine() != p2.getLine())
51+
return Integer.compare(p1.getLine(), p2.getLine());
52+
return Integer.compare(p1.getColumn(), p2.getColumn());
53+
}).orElse(element.getPosition());
5554
}
5655

5756
private static boolean isLiquidJavaAnnotation(CtAnnotation<?> annotation) {

0 commit comments

Comments
 (0)