Skip to content

Commit 3b4d375

Browse files
committed
Fix conversion of explicit constructor invocations
1 parent 6d44452 commit 3b4d375

2 files changed

Lines changed: 17 additions & 1 deletion

File tree

key.core/src/main/java/de/uka/ilkd/key/java/ast/reference/ThisConstructorReference.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
* SPDX-License-Identifier: GPL-2.0-only */
44
package de.uka.ilkd.key.java.ast.reference;
55

6+
import java.util.List;
7+
8+
import de.uka.ilkd.key.java.ast.Comment;
9+
import de.uka.ilkd.key.java.ast.PositionInfo;
610
import de.uka.ilkd.key.java.ast.expression.Expression;
711
import de.uka.ilkd.key.java.visitor.Visitor;
812

@@ -44,6 +48,17 @@ public ThisConstructorReference(ImmutableArray<Expression> arguments) {
4448
super(arguments);
4549
}
4650

51+
/**
52+
* This constructor reference.
53+
*
54+
* @param arguments
55+
* an expression mutable list.
56+
*/
57+
public ThisConstructorReference(ImmutableArray<Expression> arguments, PositionInfo pi,
58+
List<Comment> comments) {
59+
super(arguments, pi, comments);
60+
}
61+
4762

4863
/**
4964
* Constructor for the transformation of COMPOST ASTs to KeY.

key.core/src/main/java/de/uka/ilkd/key/java/loader/JP2KeYConverter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -602,7 +602,8 @@ public Object visit(ExplicitConstructorInvocationStmt n, Void arg) {
602602
var pi = createPositionInfo(n);
603603
var c = createComments(n);
604604
ImmutableArray<Expression> args = map(n.getArguments());
605-
return new SuperConstructorReference(args, pi, c);
605+
return n.isThis() ? new ThisConstructorReference(args, pi, c)
606+
: new SuperConstructorReference(args, pi, c);
606607
}
607608

608609
@Override

0 commit comments

Comments
 (0)