package jetbrains.mps.console.scripts.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;
public class StructureAspectDescriptor extends BaseStructureAspectDescriptor {
/*package*/ final ConceptDescriptor myConceptAbstractConsoleScript = createDescriptorForAbstractConsoleScript();
/*package*/ final ConceptDescriptor myConceptConsoleScript = createDescriptorForConsoleScript();
/*package*/ final ConceptDescriptor myConceptExecute = createDescriptorForExecute();
/*package*/ final ConceptDescriptor myConceptRefactorOperation = createDescriptorForRefactorOperation();
private final LanguageConceptSwitch myConceptIndex;
public StructureAspectDescriptor() {
myConceptIndex = new LanguageConceptSwitch();
}
@Override
public Collection<ConceptDescriptor> getDescriptors() {
return Arrays.asList(myConceptAbstractConsoleScript, myConceptConsoleScript, myConceptExecute, myConceptRefactorOperation);
}
@Override
@Nullable
public ConceptDescriptor getDescriptor(SConceptId id) {
switch (myConceptIndex.index(id)) {
case LanguageConceptSwitch.AbstractConsoleScript:
return myConceptAbstractConsoleScript;
case LanguageConceptSwitch.ConsoleScript:
return myConceptConsoleScript;
case LanguageConceptSwitch.Execute:
return myConceptExecute;
case LanguageConceptSwitch.RefactorOperation:
return myConceptRefactorOperation;
default:
return null;
}
}
/*package*/ int internalIndex(SAbstractConcept c) {
return myConceptIndex.index(c);
}
private static ConceptDescriptor createDescriptorForAbstractConsoleScript() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.console.scripts", "AbstractConsoleScript", 0xf26691d20def4c06L, 0xaec62cb90c4af0a4L, 0x1811ccc46ac3f6d9L);
b.interface_();
b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11a3afa8c0dL);
b.origin("r:e712f353-5c3c-4288-adce-87c956a52ffb(jetbrains.mps.console.scripts.structure)/1734392475491235545");
return b.create();
}
private static ConceptDescriptor createDescriptorForConsoleScript() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.console.scripts", "ConsoleScript", 0xf26691d20def4c06L, 0xaec62cb90c4af0a4L, 0x1811ccc46ac3f6deL);
b.class_(false, false, true);
b.parent(0xf26691d20def4c06L, 0xaec62cb90c4af0a4L, 0x1811ccc46ac3f6d9L);
b.origin("r:e712f353-5c3c-4288-adce-87c956a52ffb(jetbrains.mps.console.scripts.structure)/1734392475491235550");
b.aggregate("command", 0x1811ccc46ac3f6dfL).target(0xde1ad86d6e504a02L, 0xb306d4d17f64c375L, 0x5f1fb64db424879fL).optional(true).ordered(true).multiple(true).origin("1734392475491235551").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForExecute() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.console.scripts", "Execute", 0xf26691d20def4c06L, 0xaec62cb90c4af0a4L, 0x1811ccc46ac3dc6aL);
b.class_(false, false, false);
b.super_("jetbrains.mps.console.base.structure.GeneratedCommand", 0xde1ad86d6e504a02L, 0xb306d4d17f64c375L, 0x188f8efcef689c71L);
b.origin("r:e712f353-5c3c-4288-adce-87c956a52ffb(jetbrains.mps.console.scripts.structure)/1734392475491228778");
b.associate("script", 0x1811ccc46ac3dc6bL).target(0xf26691d20def4c06L, 0xaec62cb90c4af0a4L, 0x1811ccc46ac3f6d9L).optional(false).origin("1734392475491228779").done();
b.alias("#exec");
return b.create();
}
private static ConceptDescriptor createDescriptorForRefactorOperation() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.console.scripts", "RefactorOperation", 0xf26691d20def4c06L, 0xaec62cb90c4af0a4L, 0x20fd2063d7de993eL);
b.class_(false, false, false);
b.super_("jetbrains.mps.baseLanguage.collections.structure.InternalSequenceOperation", 0x8388864671ce4f1cL, 0x9c53c54016f6ad4fL, 0x1188372895aL);
b.parent(0x1a8554c4eb8443baL, 0x8c346f0d90c6e75aL, 0x5252d9021b8b6c03L);
b.origin("r:e712f353-5c3c-4288-adce-87c956a52ffb(jetbrains.mps.console.scripts.structure)/2377091791517030718");
b.alias("refactor");
return b.create();
}
}