package jetbrains.mps.lang.extension.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 myConceptExtension = createDescriptorForExtension();
/*package*/ final ConceptDescriptor myConceptExtensionDeclaration = createDescriptorForExtensionDeclaration();
/*package*/ final ConceptDescriptor myConceptExtensionFieldDeclaration = createDescriptorForExtensionFieldDeclaration();
/*package*/ final ConceptDescriptor myConceptExtensionFieldReference = createDescriptorForExtensionFieldReference();
/*package*/ final ConceptDescriptor myConceptExtensionFunction = createDescriptorForExtensionFunction();
/*package*/ final ConceptDescriptor myConceptExtensionObjectGetter = createDescriptorForExtensionObjectGetter();
/*package*/ final ConceptDescriptor myConceptExtensionPointDeclaration = createDescriptorForExtensionPointDeclaration();
/*package*/ final ConceptDescriptor myConceptExtensionPointExpression = createDescriptorForExtensionPointExpression();
/*package*/ final ConceptDescriptor myConceptExtensionPointType = createDescriptorForExtensionPointType();
/*package*/ final ConceptDescriptor myConceptGetExtensionObjectsOperation = createDescriptorForGetExtensionObjectsOperation();
/*package*/ final ConceptDescriptor myConceptIRootWithUniqueName = createDescriptorForIRootWithUniqueName();
private final LanguageConceptSwitch myConceptIndex;
public StructureAspectDescriptor() {
myConceptIndex = new LanguageConceptSwitch();
}
@Override
public Collection<ConceptDescriptor> getDescriptors() {
return Arrays.asList(myConceptExtension, myConceptExtensionDeclaration, myConceptExtensionFieldDeclaration, myConceptExtensionFieldReference, myConceptExtensionFunction, myConceptExtensionObjectGetter, myConceptExtensionPointDeclaration, myConceptExtensionPointExpression, myConceptExtensionPointType, myConceptGetExtensionObjectsOperation, myConceptIRootWithUniqueName);
}
@Override
@Nullable
public ConceptDescriptor getDescriptor(SConceptId id) {
switch (myConceptIndex.index(id)) {
case LanguageConceptSwitch.Extension:
return myConceptExtension;
case LanguageConceptSwitch.ExtensionDeclaration:
return myConceptExtensionDeclaration;
case LanguageConceptSwitch.ExtensionFieldDeclaration:
return myConceptExtensionFieldDeclaration;
case LanguageConceptSwitch.ExtensionFieldReference:
return myConceptExtensionFieldReference;
case LanguageConceptSwitch.ExtensionFunction:
return myConceptExtensionFunction;
case LanguageConceptSwitch.ExtensionObjectGetter:
return myConceptExtensionObjectGetter;
case LanguageConceptSwitch.ExtensionPointDeclaration:
return myConceptExtensionPointDeclaration;
case LanguageConceptSwitch.ExtensionPointExpression:
return myConceptExtensionPointExpression;
case LanguageConceptSwitch.ExtensionPointType:
return myConceptExtensionPointType;
case LanguageConceptSwitch.GetExtensionObjectsOperation:
return myConceptGetExtensionObjectsOperation;
case LanguageConceptSwitch.IRootWithUniqueName:
return myConceptIRootWithUniqueName;
default:
return null;
}
}
/*package*/ int internalIndex(SAbstractConcept c) {
return myConceptIndex.index(c);
}
private static ConceptDescriptor createDescriptorForExtension() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.extension", "Extension", 0xc0080a477e374558L, 0xbee99ae18e690549L, 0x1c30c5b543be3b2L);
b.class_(false, false, true);
b.super_("jetbrains.mps.baseLanguage.structure.ClassConcept", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c108ca66L);
b.parent(0xc7d5b9dda05f4be2L, 0xbc73f2e16994cc67L, 0xea740fb893a13edL);
b.origin("r:2a0fe383-d602-4f5b-813c-e41afdbbb97e(jetbrains.mps.lang.extension.structure)/126958800891274162");
b.associate("extensionPoint", 0x1c30c5b543be565L).target(0xc0080a477e374558L, 0xbee99ae18e690549L, 0x33c018482cafa9d6L).optional(false).origin("126958800891274597").done();
b.kind(ConceptKind.INTERFACE, StaticScope.GLOBAL);
b.alias("extension");
return b.create();
}
private static ConceptDescriptor createDescriptorForExtensionDeclaration() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.extension", "ExtensionDeclaration", 0xc0080a477e374558L, 0xbee99ae18e690549L, 0x33c018482cafa9d4L);
b.class_(false, false, true);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:2a0fe383-d602-4f5b-813c-e41afdbbb97e(jetbrains.mps.lang.extension.structure)/3729007189729192404");
b.associate("extensionPoint", 0x33c018482cafa9d5L).target(0xc0080a477e374558L, 0xbee99ae18e690549L, 0x33c018482cafa9d6L).optional(false).origin("3729007189729192405").done();
b.aggregate("objectGetter", 0x6f6f7f3b7a17bd13L).target(0xc0080a477e374558L, 0xbee99ae18e690549L, 0x6f6f7f3b7a178565L).optional(false).ordered(true).multiple(false).origin("8029776554053057811").done();
b.aggregate("activator", 0x61a62b43e15253eeL).target(0xc0080a477e374558L, 0xbee99ae18e690549L, 0x61a62b43e15253efL).optional(true).ordered(true).multiple(false).origin("7036359038356050926").done();
b.aggregate("deactivator", 0x61a62b43e15253f6L).target(0xc0080a477e374558L, 0xbee99ae18e690549L, 0x61a62b43e15253efL).optional(true).ordered(true).multiple(false).origin("7036359038356050934").done();
b.aggregate("fieldDeclaration", 0x61a62b43e1534edcL).target(0xc0080a477e374558L, 0xbee99ae18e690549L, 0x61a62b43e1534e99L).optional(true).ordered(true).multiple(true).origin("7036359038356115164").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForExtensionFieldDeclaration() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.extension", "ExtensionFieldDeclaration", 0xc0080a477e374558L, 0xbee99ae18e690549L, 0x61a62b43e1534e99L);
b.class_(false, false, false);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:2a0fe383-d602-4f5b-813c-e41afdbbb97e(jetbrains.mps.lang.extension.structure)/7036359038356115097");
b.aggregate("fieldType", 0x61a62b43e1534e9dL).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506dL).optional(false).ordered(true).multiple(false).origin("7036359038356115101").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForExtensionFieldReference() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.extension", "ExtensionFieldReference", 0xc0080a477e374558L, 0xbee99ae18e690549L, 0x61a62b43e1534e9eL);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.Expression", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
b.origin("r:2a0fe383-d602-4f5b-813c-e41afdbbb97e(jetbrains.mps.lang.extension.structure)/7036359038356115102");
b.associate("declaration", 0x61a62b43e1534e9fL).target(0xc0080a477e374558L, 0xbee99ae18e690549L, 0x61a62b43e1534e99L).optional(false).origin("7036359038356115103").done();
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
return b.create();
}
private static ConceptDescriptor createDescriptorForExtensionFunction() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.extension", "ExtensionFunction", 0xc0080a477e374558L, 0xbee99ae18e690549L, 0x61a62b43e15253efL);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.ConceptFunction", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
b.origin("r:2a0fe383-d602-4f5b-813c-e41afdbbb97e(jetbrains.mps.lang.extension.structure)/7036359038356050927");
b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
return b.create();
}
private static ConceptDescriptor createDescriptorForExtensionObjectGetter() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.extension", "ExtensionObjectGetter", 0xc0080a477e374558L, 0xbee99ae18e690549L, 0x6f6f7f3b7a178565L);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.ConceptFunction", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
b.origin("r:2a0fe383-d602-4f5b-813c-e41afdbbb97e(jetbrains.mps.lang.extension.structure)/8029776554053043557");
b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
return b.create();
}
private static ConceptDescriptor createDescriptorForExtensionPointDeclaration() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.extension", "ExtensionPointDeclaration", 0xc0080a477e374558L, 0xbee99ae18e690549L, 0x33c018482cafa9d6L);
b.class_(false, false, true);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.parent(0xc0080a477e374558L, 0xbee99ae18e690549L, 0x2b7651d49ee9d72L);
b.origin("r:2a0fe383-d602-4f5b-813c-e41afdbbb97e(jetbrains.mps.lang.extension.structure)/3729007189729192406");
b.prop("extensionName", 0x520ae19dd2771b96L, "5911785528834333590");
b.aggregate("objectType", 0x6f6f7f3b7a17bd0bL).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506dL).optional(false).ordered(true).multiple(false).origin("8029776554053057803").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForExtensionPointExpression() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.extension", "ExtensionPointExpression", 0xc0080a477e374558L, 0xbee99ae18e690549L, 0x5bf74eafefe0e940L);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.Expression", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
b.origin("r:2a0fe383-d602-4f5b-813c-e41afdbbb97e(jetbrains.mps.lang.extension.structure)/6626851894249711936");
b.associate("extensionPoint", 0x5bf74eafefe0eb55L).target(0xc0080a477e374558L, 0xbee99ae18e690549L, 0x33c018482cafa9d6L).optional(false).origin("6626851894249712469").done();
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
b.alias("extensionPoint");
return b.create();
}
private static ConceptDescriptor createDescriptorForExtensionPointType() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.extension", "ExtensionPointType", 0xc0080a477e374558L, 0xbee99ae18e690549L, 0x2c10fa62142eb538L);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.Type", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506dL);
b.origin("r:2a0fe383-d602-4f5b-813c-e41afdbbb97e(jetbrains.mps.lang.extension.structure)/3175313036448544056");
b.associate("extensionPoint", 0x2c10fa62142eb539L).target(0xc0080a477e374558L, 0xbee99ae18e690549L, 0x33c018482cafa9d6L).optional(false).origin("3175313036448544057").done();
b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
b.alias("extensionPoint");
return b.create();
}
private static ConceptDescriptor createDescriptorForGetExtensionObjectsOperation() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.extension", "GetExtensionObjectsOperation", 0xc0080a477e374558L, 0xbee99ae18e690549L, 0x2c10fa62142ef747L);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.AbstractOperation", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x1196792d150L);
b.origin("r:2a0fe383-d602-4f5b-813c-e41afdbbb97e(jetbrains.mps.lang.extension.structure)/3175313036448560967");
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
b.alias("objects");
return b.create();
}
private static ConceptDescriptor createDescriptorForIRootWithUniqueName() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.extension", "IRootWithUniqueName", 0xc0080a477e374558L, 0xbee99ae18e690549L, 0x2b7651d49ee9d72L);
b.interface_();
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:2a0fe383-d602-4f5b-813c-e41afdbbb97e(jetbrains.mps.lang.extension.structure)/195736285282737522");
return b.create();
}
}