package testOverridingType.structure;
/*Generated by MPS */
import jetbrains.mps.smodel.runtime.BaseStructureAspectDescriptor;
import jetbrains.mps.smodel.runtime.ConceptDescriptor;
import java.util.Collection;
import java.util.Arrays;
import org.jetbrains.annotations.Nullable;
import jetbrains.mps.smodel.adapter.ids.SConceptId;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import jetbrains.mps.smodel.runtime.impl.ConceptDescriptorBuilder2;
import jetbrains.mps.smodel.runtime.ConceptKind;
import jetbrains.mps.smodel.runtime.StaticScope;
public class StructureAspectDescriptor extends BaseStructureAspectDescriptor {
/*package*/ final ConceptDescriptor myConceptErrorType = createDescriptorForErrorType();
/*package*/ final ConceptDescriptor myConceptOverrideAnnotation = createDescriptorForOverrideAnnotation();
/*package*/ final ConceptDescriptor myConceptOverridingPrimFloatType = createDescriptorForOverridingPrimFloatType();
/*package*/ final ConceptDescriptor myConceptOverridingPrimIntType = createDescriptorForOverridingPrimIntType();
/*package*/ final ConceptDescriptor myConceptOverridingPrimNumConstant = createDescriptorForOverridingPrimNumConstant();
/*package*/ final ConceptDescriptor myConceptUnconditionalOverrideAnnotation = createDescriptorForUnconditionalOverrideAnnotation();
private final LanguageConceptSwitch myConceptIndex;
public StructureAspectDescriptor() {
myConceptIndex = new LanguageConceptSwitch();
}
@Override
public Collection<ConceptDescriptor> getDescriptors() {
return Arrays.asList(myConceptErrorType, myConceptOverrideAnnotation, myConceptOverridingPrimFloatType, myConceptOverridingPrimIntType, myConceptOverridingPrimNumConstant, myConceptUnconditionalOverrideAnnotation);
}
@Override
@Nullable
public ConceptDescriptor getDescriptor(SConceptId id) {
switch (myConceptIndex.index(id)) {
case LanguageConceptSwitch.ErrorType:
return myConceptErrorType;
case LanguageConceptSwitch.OverrideAnnotation:
return myConceptOverrideAnnotation;
case LanguageConceptSwitch.OverridingPrimFloatType:
return myConceptOverridingPrimFloatType;
case LanguageConceptSwitch.OverridingPrimIntType:
return myConceptOverridingPrimIntType;
case LanguageConceptSwitch.OverridingPrimNumConstant:
return myConceptOverridingPrimNumConstant;
case LanguageConceptSwitch.UnconditionalOverrideAnnotation:
return myConceptUnconditionalOverrideAnnotation;
default:
return null;
}
}
/*package*/ int internalIndex(SAbstractConcept c) {
return myConceptIndex.index(c);
}
private static ConceptDescriptor createDescriptorForErrorType() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("testOverridingType", "ErrorType", 0x394e385732564e8bL, 0x96015abe7ad354d9L, 0x19f3ac4f6f2a7f40L);
b.class_(false, false, false);
b.super_("testAnnotatedType.structure.PrimType", 0x2f74e72e3e3d480eL, 0xbae1cc709d588366L, 0x58e32a0782beb1bcL);
b.origin("r:b840b070-fa0a-4e7f-8980-8fcd6f3fd146(testOverridingType.structure)/1870027727456337728");
b.kind(ConceptKind.INTERFACE, StaticScope.GLOBAL);
b.alias("error");
return b.create();
}
private static ConceptDescriptor createDescriptorForOverrideAnnotation() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("testOverridingType", "OverrideAnnotation", 0x394e385732564e8bL, 0x96015abe7ad354d9L, 0x391548fac32006d4L);
b.class_(false, false, false);
b.super_("jetbrains.mps.lang.core.structure.NodeAttribute", 0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2eb1ad060897da54L);
b.origin("r:b840b070-fa0a-4e7f-8980-8fcd6f3fd146(testOverridingType.structure)/4113274076525496020");
b.aggregate("substitute", 0x58e32a0782beb1baL).target(0x2f74e72e3e3d480eL, 0xbae1cc709d588366L, 0x58e32a0782beb1bcL).optional(false).ordered(true).multiple(false).origin("6405009306797650362").done();
b.aggregate("condition", 0x58e32a0782beb1c4L).target(0x2f74e72e3e3d480eL, 0xbae1cc709d588366L, 0x58e32a0782beb1c7L).optional(false).ordered(true).multiple(false).origin("6405009306797650372").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForOverridingPrimFloatType() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("testOverridingType", "OverridingPrimFloatType", 0x394e385732564e8bL, 0x96015abe7ad354d9L, 0x5b362c13a4993604L);
b.class_(false, false, false);
b.super_("testAnnotatedType.structure.PrimFloatType", 0x2f74e72e3e3d480eL, 0xbae1cc709d588366L, 0x58e32a0782beb1bdL);
b.origin("r:b840b070-fa0a-4e7f-8980-8fcd6f3fd146(testOverridingType.structure)/6572489169071322628");
b.kind(ConceptKind.INTERFACE, StaticScope.GLOBAL);
b.alias("_float_overridden");
return b.create();
}
private static ConceptDescriptor createDescriptorForOverridingPrimIntType() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("testOverridingType", "OverridingPrimIntType", 0x394e385732564e8bL, 0x96015abe7ad354d9L, 0x5b362c13a49935f1L);
b.class_(false, false, false);
b.super_("testAnnotatedType.structure.PrimIntType", 0x2f74e72e3e3d480eL, 0xbae1cc709d588366L, 0x58e32a0782be609eL);
b.origin("r:b840b070-fa0a-4e7f-8980-8fcd6f3fd146(testOverridingType.structure)/6572489169071322609");
b.kind(ConceptKind.INTERFACE, StaticScope.GLOBAL);
b.alias("_int_overridden");
return b.create();
}
private static ConceptDescriptor createDescriptorForOverridingPrimNumConstant() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("testOverridingType", "OverridingPrimNumConstant", 0x394e385732564e8bL, 0x96015abe7ad354d9L, 0x5b362c13a4988795L);
b.class_(false, false, false);
b.super_("testAnnotatedType.structure.PrimNumConstant", 0x2f74e72e3e3d480eL, 0xbae1cc709d588366L, 0x1469c391a09a5eefL);
b.origin("r:b840b070-fa0a-4e7f-8980-8fcd6f3fd146(testOverridingType.structure)/6572489169071277973");
b.prop("isOverriding", 0x5b362c13a498895bL, "6572489169071278427");
return b.create();
}
private static ConceptDescriptor createDescriptorForUnconditionalOverrideAnnotation() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("testOverridingType", "UnconditionalOverrideAnnotation", 0x394e385732564e8bL, 0x96015abe7ad354d9L, 0x19f3ac4f6f2a050aL);
b.class_(false, false, false);
b.super_("testOverridingType.structure.OverrideAnnotation", 0x394e385732564e8bL, 0x96015abe7ad354d9L, 0x391548fac32006d4L);
b.origin("r:b840b070-fa0a-4e7f-8980-8fcd6f3fd146(testOverridingType.structure)/1870027727456306442");
return b.create();
}
}