-
Notifications
You must be signed in to change notification settings - Fork 41
Open
Labels
Description
Description
KeY fails to load a .java file where a constructor accepts a variable number of arguments.
Reproducible
always
Steps to reproduce
Load Varargs.java, try to prove the constructor contract:
class Varargs {
/*@ public normal_behavior
@ ensures this != null;
@*/
public Varargs(int... inp) {
}
}Expected behavior: it works
Actual behavior: it fails to load with an exception
Additional information
Stacktrace
Assertion failure: Call to non-existent constructor.
at de.uka.ilkd.key.util.Debug.fail(Debug.java:105)
at de.uka.ilkd.key.util.Debug.assertTrue(Debug.java:55)
at de.uka.ilkd.key.rule.metaconstruct.ConstructorCall.constructorCallSequence(ConstructorCall.java:151)
at de.uka.ilkd.key.rule.metaconstruct.ConstructorCall.transform(ConstructorCall.java:102)
at de.uka.ilkd.key.proof.init.FunctionalOperationContractPO.buildOperationBlocks(FunctionalOperationContractPO.java:159)
at de.uka.ilkd.key.proof.init.AbstractOperationPO.createNonModelPOTerm(AbstractOperationPO.java:1124)
at de.uka.ilkd.key.proof.init.AbstractOperationPO.readProblem(AbstractOperationPO.java:438)
at de.uka.ilkd.key.proof.init.ProblemInitializer.startProver(ProblemInitializer.java:580)
at de.uka.ilkd.key.gui.ProofManagementDialog.findOrStartProof(ProofManagementDialog.java:476)
at de.uka.ilkd.key.gui.ProofManagementDialog.lambda$new$5(ProofManagementDialog.java:220)
- Commit: 7750e75