SSEHUB / EASyProducer

EASy-Producer - A Product Line Engineering Toolset
Apache License 2.0
10 stars 2 forks source link

Compound used as annotation annotated to roject will result in StackOVerflowException #41

Closed Elscha closed 8 years ago

Elscha commented 8 years ago

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)
...

/cc @eichelbe