package org.jetbrains.mps.samples.ParallelFor.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 myConceptNonThreadSafeClass = createDescriptorForNonThreadSafeClass(); /*package*/ final ConceptDescriptor myConceptParallelFor = createDescriptorForParallelFor(); /*package*/ final ConceptDescriptor myConceptParallelLoopVariable = createDescriptorForParallelLoopVariable(); /*package*/ final ConceptDescriptor myConceptThreadPool = createDescriptorForThreadPool(); /*package*/ final ConceptDescriptor myConceptThreadSafe = createDescriptorForThreadSafe(); private final LanguageConceptSwitch myConceptIndex; public StructureAspectDescriptor() { myConceptIndex = new LanguageConceptSwitch(); } @Override public Collection<ConceptDescriptor> getDescriptors() { return Arrays.asList(myConceptNonThreadSafeClass, myConceptParallelFor, myConceptParallelLoopVariable, myConceptThreadPool, myConceptThreadSafe); } @Override @Nullable public ConceptDescriptor getDescriptor(SConceptId id) { switch (myConceptIndex.index(id)) { case LanguageConceptSwitch.NonThreadSafeClass: return myConceptNonThreadSafeClass; case LanguageConceptSwitch.ParallelFor: return myConceptParallelFor; case LanguageConceptSwitch.ParallelLoopVariable: return myConceptParallelLoopVariable; case LanguageConceptSwitch.ThreadPool: return myConceptThreadPool; case LanguageConceptSwitch.ThreadSafe: return myConceptThreadSafe; default: return null; } } /*package*/ int internalIndex(SAbstractConcept c) { return myConceptIndex.index(c); } private static ConceptDescriptor createDescriptorForNonThreadSafeClass() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("org.jetbrains.mps.samples.ParallelFor", "NonThreadSafeClass", 0xcb7388e8f1824cdaL, 0xbd839796e8634856L, 0x294c1cd4b8450380L); b.class_(false, false, false); b.super_("jetbrains.mps.lang.core.structure.NodeAttribute", 0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2eb1ad060897da54L); b.origin("r:10e9da27-7113-45e6-9477-92c95760f135(org.jetbrains.mps.samples.ParallelFor.structure)/2975785153735230336"); return b.create(); } private static ConceptDescriptor createDescriptorForParallelFor() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("org.jetbrains.mps.samples.ParallelFor", "ParallelFor", 0xcb7388e8f1824cdaL, 0xbd839796e8634856L, 0x7bd8445d1e8770aaL); b.class_(false, false, false); b.super_("jetbrains.mps.baseLanguage.structure.AbstractLoopStatement", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x10cb1ac5adeL); b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x1208f458d37L); b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11750ef8265L); b.origin("r:10e9da27-7113-45e6-9477-92c95760f135(org.jetbrains.mps.samples.ParallelFor.structure)/8923957828369477802"); b.prop("nowait", 0x74391c966b0f1304L, "8374756414438970116"); b.aggregate("loopVariable", 0x7bd8445d1e8810c2L).target(0xcb7388e8f1824cdaL, 0xbd839796e8634856L, 0x7bd8445d1e8770abL).optional(false).ordered(true).multiple(false).origin("8923957828369518786").done(); b.aggregate("inputSequence", 0x7bd8445d1e888c7eL).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("8923957828369550462").done(); b.aggregate("threadPool", 0x40a8d217b6d881feL).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(true).ordered(true).multiple(false).origin("4659204813808501246").done(); b.kind(ConceptKind.NORMAL, StaticScope.NONE); b.alias("parallelFor"); return b.create(); } private static ConceptDescriptor createDescriptorForParallelLoopVariable() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("org.jetbrains.mps.samples.ParallelFor", "ParallelLoopVariable", 0xcb7388e8f1824cdaL, 0xbd839796e8634856L, 0x7bd8445d1e8770abL); b.class_(false, false, false); b.super_("jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc67c7efL); b.origin("r:10e9da27-7113-45e6-9477-92c95760f135(org.jetbrains.mps.samples.ParallelFor.structure)/8923957828369477803"); return b.create(); } private static ConceptDescriptor createDescriptorForThreadPool() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("org.jetbrains.mps.samples.ParallelFor", "ThreadPool", 0xcb7388e8f1824cdaL, 0xbd839796e8634856L, 0x8c9905a80efd03cL); b.class_(false, false, false); b.super_("jetbrains.mps.baseLanguage.structure.Expression", 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL); b.origin("r:10e9da27-7113-45e6-9477-92c95760f135(org.jetbrains.mps.samples.ParallelFor.structure)/633195941006921788"); b.prop("numberOfThreads", 0x8c9905a80efd045L, "633195941006921797"); b.kind(ConceptKind.NORMAL, StaticScope.NONE); b.alias("thread pool"); return b.create(); } private static ConceptDescriptor createDescriptorForThreadSafe() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("org.jetbrains.mps.samples.ParallelFor", "ThreadSafe", 0xcb7388e8f1824cdaL, 0xbd839796e8634856L, 0x294c1cd4b84332e6L); b.class_(false, false, false); b.super_("jetbrains.mps.lang.core.structure.NodeAttribute", 0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2eb1ad060897da54L); b.origin("r:10e9da27-7113-45e6-9477-92c95760f135(org.jetbrains.mps.samples.ParallelFor.structure)/2975785153735111398"); return b.create(); } }