package jetbrains.mps.baseLanguage.extensionMethods.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 myConceptBaseExtensionMethodContainer = createDescriptorForBaseExtensionMethodContainer();
/*package*/ final ConceptDescriptor myConceptExtensionMethodCall = createDescriptorForExtensionMethodCall();
/*package*/ final ConceptDescriptor myConceptExtensionMethodDeclaration = createDescriptorForExtensionMethodDeclaration();
/*package*/ final ConceptDescriptor myConceptExtensionStaticFieldDeclaration = createDescriptorForExtensionStaticFieldDeclaration();
/*package*/ final ConceptDescriptor myConceptExtensionStaticFieldReference = createDescriptorForExtensionStaticFieldReference();
/*package*/ final ConceptDescriptor myConceptLocalExtendedMethodCall = createDescriptorForLocalExtendedMethodCall();
/*package*/ final ConceptDescriptor myConceptSimpleExtensionMethodsContainer = createDescriptorForSimpleExtensionMethodsContainer();
/*package*/ final ConceptDescriptor myConceptThisExtensionExpression = createDescriptorForThisExtensionExpression();
/*package*/ final ConceptDescriptor myConceptTypeExtension = createDescriptorForTypeExtension();
private final LanguageConceptSwitch myConceptIndex;
public StructureAspectDescriptor() {
myConceptIndex = new LanguageConceptSwitch();
}
@Override
public Collection<ConceptDescriptor> getDescriptors() {
return Arrays.asList(myConceptBaseExtensionMethodContainer, myConceptExtensionMethodCall, myConceptExtensionMethodDeclaration, myConceptExtensionStaticFieldDeclaration, myConceptExtensionStaticFieldReference, myConceptLocalExtendedMethodCall, myConceptSimpleExtensionMethodsContainer, myConceptThisExtensionExpression, myConceptTypeExtension);
}
@Override
@Nullable
public ConceptDescriptor getDescriptor(SConceptId id) {
switch (myConceptIndex.index(id)) {
case LanguageConceptSwitch.BaseExtensionMethodContainer:
return myConceptBaseExtensionMethodContainer;
case LanguageConceptSwitch.ExtensionMethodCall:
return myConceptExtensionMethodCall;
case LanguageConceptSwitch.ExtensionMethodDeclaration:
return myConceptExtensionMethodDeclaration;
case LanguageConceptSwitch.ExtensionStaticFieldDeclaration:
return myConceptExtensionStaticFieldDeclaration;
case LanguageConceptSwitch.ExtensionStaticFieldReference:
return myConceptExtensionStaticFieldReference;
case LanguageConceptSwitch.LocalExtendedMethodCall:
return myConceptLocalExtendedMethodCall;
case LanguageConceptSwitch.SimpleExtensionMethodsContainer:
return myConceptSimpleExtensionMethodsContainer;
case LanguageConceptSwitch.ThisExtensionExpression:
return myConceptThisExtensionExpression;
case LanguageConceptSwitch.TypeExtension:
return myConceptTypeExtension;
default:
return null;
}
}
/*package*/ int internalIndex(SAbstractConcept c) {
return myConceptIndex.index(c);
}
private static ConceptDescriptor createDescriptorForBaseExtensionMethodContainer() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.baseLanguage.extensionMethods", "BaseExtensionMethodContainer", 0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x6f5433076549f519L);
b.class_(false, true, false);
b.super_("jetbrains.mps.baseLanguage.structure.GenericDeclaration", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x102463b447aL);
b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x112670d273fL);
b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11638b31955L);
b.origin("r:4f6f8ed5-c3d7-49f4-b0dd-d70029feffdf(jetbrains.mps.baseLanguage.extensionMethods.structure)/8022092943110829337");
b.aggregate("methods", 0x6f5433076549f51bL).target(0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x1583d1b63365e7f9L).optional(true).ordered(true).multiple(true).origin("8022092943110829339").done();
b.aggregate("staticFields", 0x1b622d944bbb1c5fL).target(0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x1b622d944bc0aff7L).optional(true).ordered(true).multiple(true).origin("1973189701690661983").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForExtensionMethodCall() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.baseLanguage.extensionMethods", "ExtensionMethodCall", 0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x1583d1b63359483bL);
b.class_(false, false, false);
b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x116b46ac030L);
b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L);
b.origin("r:4f6f8ed5-c3d7-49f4-b0dd-d70029feffdf(jetbrains.mps.baseLanguage.extensionMethods.structure)/1550313277221324859");
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
return b.create();
}
private static ConceptDescriptor createDescriptorForExtensionMethodDeclaration() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.baseLanguage.extensionMethods", "ExtensionMethodDeclaration", 0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x1583d1b63365e7f9L);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b1fcL);
b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x112574373bdL);
b.origin("r:4f6f8ed5-c3d7-49f4-b0dd-d70029feffdf(jetbrains.mps.baseLanguage.extensionMethods.structure)/1550313277222152185");
b.aggregate("extendedType", 0x6f54330765374812L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506dL).optional(true).ordered(true).multiple(false).origin("8022092943109605394").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForExtensionStaticFieldDeclaration() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.baseLanguage.extensionMethods", "ExtensionStaticFieldDeclaration", 0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x1b622d944bc0aff7L);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.VariableDeclaration", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37a7f6eL);
b.origin("r:4f6f8ed5-c3d7-49f4-b0dd-d70029feffdf(jetbrains.mps.baseLanguage.extensionMethods.structure)/1973189701691027447");
return b.create();
}
private static ConceptDescriptor createDescriptorForExtensionStaticFieldReference() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.baseLanguage.extensionMethods", "ExtensionStaticFieldReference", 0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x1b622d944bbdfbc7L);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.VariableReference", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c77f1e98L);
b.origin("r:4f6f8ed5-c3d7-49f4-b0dd-d70029feffdf(jetbrains.mps.baseLanguage.extensionMethods.structure)/1973189701690850247");
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
return b.create();
}
private static ConceptDescriptor createDescriptorForLocalExtendedMethodCall() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.baseLanguage.extensionMethods", "LocalExtendedMethodCall", 0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x6aa7ca55518b9170L);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.BaseMethodCall", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c78301acL);
b.origin("r:4f6f8ed5-c3d7-49f4-b0dd-d70029feffdf(jetbrains.mps.baseLanguage.extensionMethods.structure)/7685333756920172912");
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
return b.create();
}
private static ConceptDescriptor createDescriptorForSimpleExtensionMethodsContainer() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.baseLanguage.extensionMethods", "SimpleExtensionMethodsContainer", 0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x6f5433076532f593L);
b.class_(false, false, true);
b.super_("jetbrains.mps.baseLanguage.extensionMethods.structure.BaseExtensionMethodContainer", 0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x6f5433076549f519L);
b.origin("r:4f6f8ed5-c3d7-49f4-b0dd-d70029feffdf(jetbrains.mps.baseLanguage.extensionMethods.structure)/8022092943109322131");
b.alias("Simple Extension Method Container");
return b.create();
}
private static ConceptDescriptor createDescriptorForThisExtensionExpression() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.baseLanguage.extensionMethods", "ThisExtensionExpression", 0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x2e076d2695911333L);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.structure.Expression", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
b.origin("r:4f6f8ed5-c3d7-49f4-b0dd-d70029feffdf(jetbrains.mps.baseLanguage.extensionMethods.structure)/3316739663067157299");
b.kind(ConceptKind.NORMAL, StaticScope.NONE);
b.alias("this");
return b.create();
}
private static ConceptDescriptor createDescriptorForTypeExtension() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.baseLanguage.extensionMethods", "TypeExtension", 0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x1a4abaca2a94ce10L);
b.class_(false, false, true);
b.super_("jetbrains.mps.baseLanguage.extensionMethods.structure.BaseExtensionMethodContainer", 0x5dc5fc0d37ef4782L, 0x81928b5ce1f69f80L, 0x6f5433076549f519L);
b.origin("r:4f6f8ed5-c3d7-49f4-b0dd-d70029feffdf(jetbrains.mps.baseLanguage.extensionMethods.structure)/1894531970723270160");
b.aggregate("type", 0x1a4abaca2a959cfeL).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506dL).optional(false).ordered(true).multiple(false).origin("1894531970723323134").done();
b.alias("type extension");
return b.create();
}
}