If a compound is used as annotation for a project, creating the configuration will result in a StackOVerflowException. For instance:
project Example {
version v0;
compound Developer {
String firstName;
String lastName;
}
Integer intA;
annotate Developer developer = {firstName = "John", lastName = "Doe"} to Example;
}
Result:
java.lang.StackOverflowError
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.addAttributes(DecisionVariable.java:151)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.initializeAttributes(DecisionVariable.java:97)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.(DecisionVariable.java:70)
at de.uni_hildesheim.sse.model.confModel.BasisVariable.(BasisVariable.java:49)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitStringType(VariableCreator.java:147)
at de.uni_hildesheim.sse.model.varModel.datatypes.StringType.accept(StringType.java:83)
at de.uni_hildesheim.sse.model.varModel.datatypes.DelegatingType.accept(DelegatingType.java:202)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.createNestedElement(CompoundVariable.java:94)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.(CompoundVariable.java:62)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitCompoundType(VariableCreator.java:167)
at de.uni_hildesheim.sse.model.varModel.datatypes.Compound.accept(Compound.java:183)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.addAttributes(DecisionVariable.java:155)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.initializeAttributes(DecisionVariable.java:97)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.(DecisionVariable.java:70)
at de.uni_hildesheim.sse.model.confModel.BasisVariable.(BasisVariable.java:49)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitStringType(VariableCreator.java:147)
at de.uni_hildesheim.sse.model.varModel.datatypes.StringType.accept(StringType.java:83)
at de.uni_hildesheim.sse.model.varModel.datatypes.DelegatingType.accept(DelegatingType.java:202)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.createNestedElement(CompoundVariable.java:94)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.(CompoundVariable.java:62)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitCompoundType(VariableCreator.java:167)
at de.uni_hildesheim.sse.model.varModel.datatypes.Compound.accept(Compound.java:183)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.addAttributes(DecisionVariable.java:155)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.initializeAttributes(DecisionVariable.java:97)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.(DecisionVariable.java:70)
at de.uni_hildesheim.sse.model.confModel.BasisVariable.(BasisVariable.java:49)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitStringType(VariableCreator.java:147)
at de.uni_hildesheim.sse.model.varModel.datatypes.StringType.accept(StringType.java:83)
at de.uni_hildesheim.sse.model.varModel.datatypes.DelegatingType.accept(DelegatingType.java:202)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.createNestedElement(CompoundVariable.java:94)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.(CompoundVariable.java:62)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitCompoundType(VariableCreator.java:167)
at de.uni_hildesheim.sse.model.varModel.datatypes.Compound.accept(Compound.java:183)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.addAttributes(DecisionVariable.java:155)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.initializeAttributes(DecisionVariable.java:97)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.(DecisionVariable.java:70)
at de.uni_hildesheim.sse.model.confModel.BasisVariable.(BasisVariable.java:49)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitStringType(VariableCreator.java:147)
at de.uni_hildesheim.sse.model.varModel.datatypes.StringType.accept(StringType.java:83)
at de.uni_hildesheim.sse.model.varModel.datatypes.DelegatingType.accept(DelegatingType.java:202)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.createNestedElement(CompoundVariable.java:94)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.(CompoundVariable.java:62)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitCompoundType(VariableCreator.java:167)
at de.uni_hildesheim.sse.model.varModel.datatypes.Compound.accept(Compound.java:183)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.addAttributes(DecisionVariable.java:155)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.initializeAttributes(DecisionVariable.java:97)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.(DecisionVariable.java:70)
at de.uni_hildesheim.sse.model.confModel.BasisVariable.(BasisVariable.java:49)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitStringType(VariableCreator.java:147)
at de.uni_hildesheim.sse.model.varModel.datatypes.StringType.accept(StringType.java:83)
at de.uni_hildesheim.sse.model.varModel.datatypes.DelegatingType.accept(DelegatingType.java:202)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.createNestedElement(CompoundVariable.java:94)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.(CompoundVariable.java:62)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitCompoundType(VariableCreator.java:167)
at de.uni_hildesheim.sse.model.varModel.datatypes.Compound.accept(Compound.java:183)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.addAttributes(DecisionVariable.java:155)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.initializeAttributes(DecisionVariable.java:97)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.(DecisionVariable.java:70)
at de.uni_hildesheim.sse.model.confModel.BasisVariable.(BasisVariable.java:49)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitStringType(VariableCreator.java:147)
at de.uni_hildesheim.sse.model.varModel.datatypes.StringType.accept(StringType.java:83)
at de.uni_hildesheim.sse.model.varModel.datatypes.DelegatingType.accept(DelegatingType.java:202)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.createNestedElement(CompoundVariable.java:94)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.(CompoundVariable.java:62)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitCompoundType(VariableCreator.java:167)
at de.uni_hildesheim.sse.model.varModel.datatypes.Compound.accept(Compound.java:183)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.addAttributes(DecisionVariable.java:155)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.initializeAttributes(DecisionVariable.java:97)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.(DecisionVariable.java:70)
at de.uni_hildesheim.sse.model.confModel.BasisVariable.(BasisVariable.java:49)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitStringType(VariableCreator.java:147)
at de.uni_hildesheim.sse.model.varModel.datatypes.StringType.accept(StringType.java:83)
at de.uni_hildesheim.sse.model.varModel.datatypes.DelegatingType.accept(DelegatingType.java:202)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.createNestedElement(CompoundVariable.java:94)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.(CompoundVariable.java:62)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitCompoundType(VariableCreator.java:167)
at de.uni_hildesheim.sse.model.varModel.datatypes.Compound.accept(Compound.java:183)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.addAttributes(DecisionVariable.java:155)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.initializeAttributes(DecisionVariable.java:97)
at de.uni_hildesheim.sse.model.confModel.DecisionVariable.(DecisionVariable.java:70)
at de.uni_hildesheim.sse.model.confModel.BasisVariable.(BasisVariable.java:49)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.visitStringType(VariableCreator.java:147)
at de.uni_hildesheim.sse.model.varModel.datatypes.StringType.accept(StringType.java:83)
at de.uni_hildesheim.sse.model.varModel.datatypes.DelegatingType.accept(DelegatingType.java:202)
at de.uni_hildesheim.sse.model.confModel.VariableCreator.(VariableCreator.java:69)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.createNestedElement(CompoundVariable.java:94)
at de.uni_hildesheim.sse.model.confModel.CompoundVariable.(CompoundVariable.java:62)
...
If a compound is used as annotation for a project, creating the configuration will result in a StackOVerflowException. For instance:
Result:
/cc @eichelbe