package jetbrains.mps.lang.textGen.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;
import jetbrains.mps.smodel.adapter.ids.PrimitiveTypeId;

public class StructureAspectDescriptor extends BaseStructureAspectDescriptor {
  /*package*/ final ConceptDescriptor myConceptAbstractAppendPart = createDescriptorForAbstractAppendPart();
  /*package*/ final ConceptDescriptor myConceptAbstractTextGenDeclaration = createDescriptorForAbstractTextGenDeclaration();
  /*package*/ final ConceptDescriptor myConceptAbstractTextGenParameter = createDescriptorForAbstractTextGenParameter();
  /*package*/ final ConceptDescriptor myConceptAppendOperation = createDescriptorForAppendOperation();
  /*package*/ final ConceptDescriptor myConceptAttributedNodePart = createDescriptorForAttributedNodePart();
  /*package*/ final ConceptDescriptor myConceptClassConceptUnitContext = createDescriptorForClassConceptUnitContext();
  /*package*/ final ConceptDescriptor myConceptCollectionAppendPart = createDescriptorForCollectionAppendPart();
  /*package*/ final ConceptDescriptor myConceptConceptTextGenDeclaration = createDescriptorForConceptTextGenDeclaration();
  /*package*/ final ConceptDescriptor myConceptConstantStringAppendPart = createDescriptorForConstantStringAppendPart();
  /*package*/ final ConceptDescriptor myConceptContextInstanceSpecification = createDescriptorForContextInstanceSpecification();
  /*package*/ final ConceptDescriptor myConceptDecreaseDepthOperation = createDescriptorForDecreaseDepthOperation();
  /*package*/ final ConceptDescriptor myConceptEncodingDeclaration = createDescriptorForEncodingDeclaration();
  /*package*/ final ConceptDescriptor myConceptEncodingDeclarationBase = createDescriptorForEncodingDeclarationBase();
  /*package*/ final ConceptDescriptor myConceptEncodingLiteral = createDescriptorForEncodingLiteral();
  /*package*/ final ConceptDescriptor myConceptExtensionDeclaration = createDescriptorForExtensionDeclaration();
  /*package*/ final ConceptDescriptor myConceptFilePathQuery = createDescriptorForFilePathQuery();
  /*package*/ final ConceptDescriptor myConceptFilePathSpec = createDescriptorForFilePathSpec();
  /*package*/ final ConceptDescriptor myConceptFilenameFunction = createDescriptorForFilenameFunction();
  /*package*/ final ConceptDescriptor myConceptFoundErrorOperation = createDescriptorForFoundErrorOperation();
  /*package*/ final ConceptDescriptor myConceptGenerateTextDeclaration = createDescriptorForGenerateTextDeclaration();
  /*package*/ final ConceptDescriptor myConceptIncreaseDepthOperation = createDescriptorForIncreaseDepthOperation();
  /*package*/ final ConceptDescriptor myConceptIndentBufferOperation = createDescriptorForIndentBufferOperation();
  /*package*/ final ConceptDescriptor myConceptIndentPart = createDescriptorForIndentPart();
  /*package*/ final ConceptDescriptor myConceptInstancePerUnitContextObject = createDescriptorForInstancePerUnitContextObject();
  /*package*/ final ConceptDescriptor myConceptLanguageTextGenDeclaration = createDescriptorForLanguageTextGenDeclaration();
  /*package*/ final ConceptDescriptor myConceptLayoutPart = createDescriptorForLayoutPart();
  /*package*/ final ConceptDescriptor myConceptNewLineAppendPart = createDescriptorForNewLineAppendPart();
  /*package*/ final ConceptDescriptor myConceptNodeAppendPart = createDescriptorForNodeAppendPart();
  /*package*/ final ConceptDescriptor myConceptNodeParameter = createDescriptorForNodeParameter();
  /*package*/ final ConceptDescriptor myConceptOperationCall = createDescriptorForOperationCall();
  /*package*/ final ConceptDescriptor myConceptOperationDeclaration = createDescriptorForOperationDeclaration();
  /*package*/ final ConceptDescriptor myConceptSimpleTextGenOperation = createDescriptorForSimpleTextGenOperation();
  /*package*/ final ConceptDescriptor myConceptStubOperationDeclaration = createDescriptorForStubOperationDeclaration();
  /*package*/ final ConceptDescriptor myConceptTextUnitLayout = createDescriptorForTextUnitLayout();
  /*package*/ final ConceptDescriptor myConceptUnitContextDeclaration = createDescriptorForUnitContextDeclaration();
  /*package*/ final ConceptDescriptor myConceptUnitContextObject = createDescriptorForUnitContextObject();
  /*package*/ final ConceptDescriptor myConceptUnitContextReference = createDescriptorForUnitContextReference();
  /*package*/ final ConceptDescriptor myConceptUtilityMethodCall = createDescriptorForUtilityMethodCall();
  /*package*/ final ConceptDescriptor myConceptUtilityMethodDeclaration = createDescriptorForUtilityMethodDeclaration();
  /*package*/ final ConceptDescriptor myConceptWithIndentOperation = createDescriptorForWithIndentOperation();
  private final LanguageConceptSwitch myIndexSwitch;

  public StructureAspectDescriptor() {
    myIndexSwitch = new LanguageConceptSwitch();
  }


  @Override
  public void reportDependencies(jetbrains.mps.smodel.runtime.StructureAspectDescriptor.Dependencies deps) {
    deps.extendedLanguage(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, "jetbrains.mps.lang.core");
    deps.extendedLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage");
    deps.aggregatedLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage");
  }

  @Override
  public Collection<ConceptDescriptor> getDescriptors() {
    return Arrays.asList(myConceptAbstractAppendPart, myConceptAbstractTextGenDeclaration, myConceptAbstractTextGenParameter, myConceptAppendOperation, myConceptAttributedNodePart, myConceptClassConceptUnitContext, myConceptCollectionAppendPart, myConceptConceptTextGenDeclaration, myConceptConstantStringAppendPart, myConceptContextInstanceSpecification, myConceptDecreaseDepthOperation, myConceptEncodingDeclaration, myConceptEncodingDeclarationBase, myConceptEncodingLiteral, myConceptExtensionDeclaration, myConceptFilePathQuery, myConceptFilePathSpec, myConceptFilenameFunction, myConceptFoundErrorOperation, myConceptGenerateTextDeclaration, myConceptIncreaseDepthOperation, myConceptIndentBufferOperation, myConceptIndentPart, myConceptInstancePerUnitContextObject, myConceptLanguageTextGenDeclaration, myConceptLayoutPart, myConceptNewLineAppendPart, myConceptNodeAppendPart, myConceptNodeParameter, myConceptOperationCall, myConceptOperationDeclaration, myConceptSimpleTextGenOperation, myConceptStubOperationDeclaration, myConceptTextUnitLayout, myConceptUnitContextDeclaration, myConceptUnitContextObject, myConceptUnitContextReference, myConceptUtilityMethodCall, myConceptUtilityMethodDeclaration, myConceptWithIndentOperation);
  }

  @Override
  @Nullable
  public ConceptDescriptor getDescriptor(SConceptId id) {
    switch (myIndexSwitch.index(id)) {
      case LanguageConceptSwitch.AbstractAppendPart:
        return myConceptAbstractAppendPart;
      case LanguageConceptSwitch.AbstractTextGenDeclaration:
        return myConceptAbstractTextGenDeclaration;
      case LanguageConceptSwitch.AbstractTextGenParameter:
        return myConceptAbstractTextGenParameter;
      case LanguageConceptSwitch.AppendOperation:
        return myConceptAppendOperation;
      case LanguageConceptSwitch.AttributedNodePart:
        return myConceptAttributedNodePart;
      case LanguageConceptSwitch.ClassConceptUnitContext:
        return myConceptClassConceptUnitContext;
      case LanguageConceptSwitch.CollectionAppendPart:
        return myConceptCollectionAppendPart;
      case LanguageConceptSwitch.ConceptTextGenDeclaration:
        return myConceptConceptTextGenDeclaration;
      case LanguageConceptSwitch.ConstantStringAppendPart:
        return myConceptConstantStringAppendPart;
      case LanguageConceptSwitch.ContextInstanceSpecification:
        return myConceptContextInstanceSpecification;
      case LanguageConceptSwitch.DecreaseDepthOperation:
        return myConceptDecreaseDepthOperation;
      case LanguageConceptSwitch.EncodingDeclaration:
        return myConceptEncodingDeclaration;
      case LanguageConceptSwitch.EncodingDeclarationBase:
        return myConceptEncodingDeclarationBase;
      case LanguageConceptSwitch.EncodingLiteral:
        return myConceptEncodingLiteral;
      case LanguageConceptSwitch.ExtensionDeclaration:
        return myConceptExtensionDeclaration;
      case LanguageConceptSwitch.FilePathQuery:
        return myConceptFilePathQuery;
      case LanguageConceptSwitch.FilePathSpec:
        return myConceptFilePathSpec;
      case LanguageConceptSwitch.FilenameFunction:
        return myConceptFilenameFunction;
      case LanguageConceptSwitch.FoundErrorOperation:
        return myConceptFoundErrorOperation;
      case LanguageConceptSwitch.GenerateTextDeclaration:
        return myConceptGenerateTextDeclaration;
      case LanguageConceptSwitch.IncreaseDepthOperation:
        return myConceptIncreaseDepthOperation;
      case LanguageConceptSwitch.IndentBufferOperation:
        return myConceptIndentBufferOperation;
      case LanguageConceptSwitch.IndentPart:
        return myConceptIndentPart;
      case LanguageConceptSwitch.InstancePerUnitContextObject:
        return myConceptInstancePerUnitContextObject;
      case LanguageConceptSwitch.LanguageTextGenDeclaration:
        return myConceptLanguageTextGenDeclaration;
      case LanguageConceptSwitch.LayoutPart:
        return myConceptLayoutPart;
      case LanguageConceptSwitch.NewLineAppendPart:
        return myConceptNewLineAppendPart;
      case LanguageConceptSwitch.NodeAppendPart:
        return myConceptNodeAppendPart;
      case LanguageConceptSwitch.NodeParameter:
        return myConceptNodeParameter;
      case LanguageConceptSwitch.OperationCall:
        return myConceptOperationCall;
      case LanguageConceptSwitch.OperationDeclaration:
        return myConceptOperationDeclaration;
      case LanguageConceptSwitch.SimpleTextGenOperation:
        return myConceptSimpleTextGenOperation;
      case LanguageConceptSwitch.StubOperationDeclaration:
        return myConceptStubOperationDeclaration;
      case LanguageConceptSwitch.TextUnitLayout:
        return myConceptTextUnitLayout;
      case LanguageConceptSwitch.UnitContextDeclaration:
        return myConceptUnitContextDeclaration;
      case LanguageConceptSwitch.UnitContextObject:
        return myConceptUnitContextObject;
      case LanguageConceptSwitch.UnitContextReference:
        return myConceptUnitContextReference;
      case LanguageConceptSwitch.UtilityMethodCall:
        return myConceptUtilityMethodCall;
      case LanguageConceptSwitch.UtilityMethodDeclaration:
        return myConceptUtilityMethodDeclaration;
      case LanguageConceptSwitch.WithIndentOperation:
        return myConceptWithIndentOperation;
      default:
        return null;
    }
  }


  /*package*/ int internalIndex(SAbstractConcept c) {
    return myIndexSwitch.index(c);
  }

  private static ConceptDescriptor createDescriptorForAbstractAppendPart() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "AbstractAppendPart", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x1201521c456L);
    b.class_(false, true, false);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1237305115734");
    b.version(3);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForAbstractTextGenDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "AbstractTextGenDeclaration", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f60f06a49L);
    b.class_(false, true, false);
    b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11a3afa8c0dL);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x12509ddfaa98f128L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1234281982537");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.GLOBAL);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForAbstractTextGenParameter() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "AbstractTextGenParameter", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f84e1988dL);
    b.class_(false, true, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunctionParameter
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101c66e2c0bL);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1234884991117");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForAppendOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "AppendOperation", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x120153077caL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Statement
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b215L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1237306079178");
    b.version(3);
    b.associate("textArea", 0x2b846983a62af1c4L).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x2bad879ac8f27dcaL).optional(true).origin("3135747254706172356").done();
    b.aggregate("part", 0x12015310576L).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x1201521c456L).optional(false).ordered(true).multiple(true).origin("1237306115446").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("append");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForAttributedNodePart() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "AttributedNodePart", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x7c096989aaf957c1L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.textGen.structure.AbstractAppendPart
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x1201521c456L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/8937790975493363649");
    b.version(3);
    b.alias("${ attributed node }$");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForClassConceptUnitContext() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "ClassConceptUnitContext", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x377692d961ac9073L);
    b.class_(false, false, false);
    b.parent(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x377692d961ac9072L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/3996543181682151539");
    b.version(3);
    b.associate("classifier", 0x377692d961ac9076L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c108ca66L).optional(false).origin("3996543181682151542").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForCollectionAppendPart() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "CollectionAppendPart", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x1201527819cL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.textGen.structure.AbstractAppendPart
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x1201521c456L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1237305491868");
    b.version(3);
    b.property("separator", 0x120152f5107L).type(PrimitiveTypeId.STRING).origin("1237306003719").done();
    b.property("withSeparator", 0x1203d98429fL).type(PrimitiveTypeId.BOOLEAN).origin("1237983969951").done();
    b.aggregate("list", 0x120152e6dcfL).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("1237305945551").done();
    b.alias("$list{");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForConceptTextGenDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "ConceptTextGenDeclaration", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f3c776369L);
    b.class_(false, false, true);
    // extends: jetbrains.mps.lang.textGen.structure.AbstractTextGenDeclaration
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f60f06a49L);
    b.parent(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0x24614259e94f0c84L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1233670071145");
    b.version(3);
    b.associate("conceptDeclaration", 0x11f3c7a3d4dL).target(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0x1103553c5ffL).optional(false).origin("1233670257997").done();
    b.aggregate("extension", 0x6ee6b5c5ad5f7279L).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x7bf48616723f681dL).optional(true).ordered(true).multiple(false).origin("7991274449437422201").done();
    b.aggregate("encoding", 0x10fd02ec599e8fbeL).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x10fd02ec599e8fbbL).optional(true).ordered(true).multiple(false).origin("1224137887853744062").done();
    b.aggregate("textGenBlock", 0x11f41304578L).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f412f8790L).optional(true).ordered(true).multiple(false).origin("1233749296504").done();
    b.aggregate("filename", 0xa0f73089d631ccL).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0xa0f73089d40b8eL).optional(true).ordered(true).multiple(false).origin("45307784116711884").done();
    b.aggregate("filePath", 0x6cdeb9421c83ad52L).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x6cdeb9421c83ad51L).optional(true).ordered(true).multiple(false).origin("7844911294523354450").done();
    b.aggregate("layout", 0x2bad879ac8f27decL).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x2bad879ac8f27dc9L).optional(true).ordered(true).multiple(false).origin("3147320813467893228").done();
    b.aggregate("contextObjects", 0x1dfcc3c672ea7620L).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x1dfcc3c672ea762cL).optional(true).ordered(true).multiple(true).origin("2160817178329904672").done();
    b.kind(ConceptKind.INTERFACE, StaticScope.GLOBAL);
    b.alias("Concept Text Gen");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForConstantStringAppendPart() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "ConstantStringAppendPart", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x12015288286L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.textGen.structure.AbstractAppendPart
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x1201521c456L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1237305557638");
    b.version(3);
    b.property("value", 0x1201528caacL).type(PrimitiveTypeId.STRING).origin("1237305576108").done();
    b.property("withIndent", 0x1201534c74dL).type(PrimitiveTypeId.BOOLEAN).origin("1237306361677").done();
    b.alias("constant");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForContextInstanceSpecification() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "ContextInstanceSpecification", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x377692d961ac9072L);
    b.interface_();
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/3996543181682151538");
    b.version(3);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForDecreaseDepthOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "DecreaseDepthOperation", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f4165704bL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.textGen.structure.SimpleTextGenOperation
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f4153bc8cL);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1233752780875");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("decrease depth");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForEncodingDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "EncodingDeclaration", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x10fd02ec599e8f93L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.parent(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x10fd02ec599e8fbbL);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1224137887853744019");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("encoding");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForEncodingDeclarationBase() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "EncodingDeclarationBase", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x10fd02ec599e8fbbL);
    b.interface_();
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1224137887853744059");
    b.version(3);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForEncodingLiteral() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "EncodingLiteral", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x63754d97e1c86b8cL);
    b.class_(false, false, false);
    b.parent(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x10fd02ec599e8fbbL);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/7166719696753421196");
    b.version(3);
    b.property("encoding", 0x63754d97e1c86b8dL).type(PrimitiveTypeId.STRING).origin("7166719696753421197").done();
    b.alias("encoding literal");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForExtensionDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "ExtensionDeclaration", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x7bf48616723f681dL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/8931911391946696733");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("extension");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForFilePathQuery() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "FilePathQuery", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x6cdeb9421c83c71fL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.parent(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x6cdeb9421c83ad51L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/7844911294523361055");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.GLOBAL);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForFilePathSpec() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "FilePathSpec", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x6cdeb9421c83ad51L);
    b.interface_();
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/7844911294523354449");
    b.version(3);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForFilenameFunction() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "FilenameFunction", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0xa0f73089d40b8eL);
    b.class_(true, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/45307784116571022");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.GLOBAL);
    b.alias("filename");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForFoundErrorOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "FoundErrorOperation", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f7f7ff1bdL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Statement
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b215L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1234794705341");
    b.version(3);
    b.aggregate("text", 0x1201f00bb34L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(true).ordered(true).multiple(false).origin("1237470722868").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("found error");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForGenerateTextDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "GenerateTextDeclaration", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f412f8790L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1233749247888");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("do generate text");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForIncreaseDepthOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "IncreaseDepthOperation", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f41648039L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.textGen.structure.SimpleTextGenOperation
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f4153bc8cL);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1233752719417");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("increase depth");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForIndentBufferOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "IndentBufferOperation", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f4b64a5c9L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.textGen.structure.SimpleTextGenOperation
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f4153bc8cL);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1233920501193");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("indent buffer");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForIndentPart() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "IndentPart", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x3c78adfd9bcaac6aL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.textGen.structure.AbstractAppendPart
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x1201521c456L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/4357423944233036906");
    b.version(3);
    b.alias("indent");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForInstancePerUnitContextObject() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "InstancePerUnitContextObject", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x1dfcc3c672ea762bL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.textGen.structure.UnitContextObject
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x1dfcc3c672ea762cL);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/2160817178329904683");
    b.version(3);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForLanguageTextGenDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "LanguageTextGenDeclaration", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f4b71f51fL);
    b.class_(false, false, true);
    // extends: jetbrains.mps.lang.textGen.structure.AbstractTextGenDeclaration
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f60f06a49L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1233921373471");
    b.version(3);
    b.associate("baseTextGen", 0x11f7eb142ecL).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f4b71f51fL).optional(true).origin("1234781160172").done();
    b.aggregate("operation", 0x11f4b821fc5L).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f4b80e9d3L).optional(true).ordered(true).multiple(true).origin("1233922432965").done();
    b.aggregate("function", 0x11f6f8860bdL).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f6f6a18e4L).optional(true).ordered(true).multiple(true).origin("1234526822589").done();
    b.aggregate("contextObjects", 0x377692d961abfe2aL).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x377692d961aaee79L).optional(true).ordered(true).multiple(true).origin("3996543181682114090").done();
    b.kind(ConceptKind.INTERFACE, StaticScope.GLOBAL);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForLayoutPart() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "LayoutPart", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x2bad879ac8f27dcaL);
    b.class_(false, false, false);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/3147320813467893194");
    b.version(3);
    b.aggregate("nested", 0x2bad879ac8f27dd2L).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x2bad879ac8f27dcaL).optional(true).ordered(true).multiple(true).origin("3147320813467893202").done();
    b.alias("text area");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForNewLineAppendPart() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "NewLineAppendPart", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x12015232fd0L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.textGen.structure.AbstractAppendPart
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x1201521c456L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1237305208784");
    b.version(3);
    b.alias("\\n");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForNodeAppendPart() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "NodeAppendPart", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x12015251a28L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.textGen.structure.AbstractAppendPart
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x1201521c456L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1237305334312");
    b.version(3);
    b.property("withIndent", 0x12015341f3eL).type(PrimitiveTypeId.BOOLEAN).origin("1237306318654").done();
    b.aggregate("value", 0x120152c1030L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("1237305790512").done();
    b.alias("${");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForNodeParameter() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "NodeParameter", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f411d576bL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.textGen.structure.AbstractTextGenParameter
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f84e1988dL);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1233748055915");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("node");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForOperationCall() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "OperationCall", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f4ba6faaaL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.textGen.structure.AbstractAppendPart
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x1201521c456L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1233924848298");
    b.version(3);
    b.associate("function", 0x11f5b7f02d9L).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f4b80e9d3L).optional(false).origin("1234190664409").done();
    b.aggregate("parameter", 0x11f5b891231L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(true).ordered(true).multiple(true).origin("1234191323697").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForOperationDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "OperationDeclaration", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f4b80e9d3L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b1fcL);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x612410e32cf46136L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1233922353619");
    b.version(3);
    b.stub(0x2bacbf19e457bd3bL);
    b.property("operationName", 0x11f5fdf3bedL).type(PrimitiveTypeId.STRING).origin("1234264079341").done();
    b.kind(ConceptKind.IMPLEMENTATION_WITH_STUB, StaticScope.GLOBAL);
    b.alias("new operation");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForSimpleTextGenOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "SimpleTextGenOperation", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f4153bc8cL);
    b.class_(false, true, false);
    // extends: jetbrains.mps.baseLanguage.structure.Statement
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b215L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1233751620748");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForStubOperationDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "StubOperationDeclaration", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x2bacbf19e457bd3bL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.textGen.structure.OperationDeclaration
    b.super_(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f4b80e9d3L);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2f16f1b357e19f43L);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x226fb4c3ba26d45L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/3147100357551177019");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.GLOBAL);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForTextUnitLayout() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "TextUnitLayout", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x2bad879ac8f27dc9L);
    b.class_(false, false, false);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/3147320813467893193");
    b.version(3);
    b.associate("active", 0x2bad879ac8f27dcdL).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x2bad879ac8f27dcaL).optional(false).origin("3147320813467893197").done();
    b.aggregate("parts", 0x2bad879ac8f27dcbL).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x2bad879ac8f27dcaL).optional(false).ordered(true).multiple(true).origin("3147320813467893195").done();
    b.alias("unit layout");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForUnitContextDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "UnitContextDeclaration", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x377692d961aaee79L);
    b.class_(false, false, false);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/3996543181682044537");
    b.version(3);
    b.aggregate("type", 0x377692d961aaee7eL).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506dL).optional(false).ordered(true).multiple(false).origin("3996543181682044542").done();
    b.aggregate("instance", 0x377692d961ac9078L).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x377692d961ac9072L).optional(false).ordered(true).multiple(false).origin("3996543181682151544").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForUnitContextObject() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "UnitContextObject", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x1dfcc3c672ea762cL);
    b.class_(false, true, false);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/2160817178329904684");
    b.version(3);
    b.associate("context", 0x1dfcc3c672ea762dL).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x377692d961aaee79L).optional(false).origin("2160817178329904685").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForUnitContextReference() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "UnitContextReference", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x377692d961ab5a81L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Expression
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/3996543181682072193");
    b.version(3);
    b.associate("context", 0x377692d961ab5a82L).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x377692d961aaee79L).optional(false).origin("3996543181682072194").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForUtilityMethodCall() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "UtilityMethodCall", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f6faa8c98L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Expression
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1234529062040");
    b.version(3);
    b.associate("function", 0x11f6fac17ecL).target(0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f6f6a18e4L).optional(false).origin("1234529163244").done();
    b.aggregate("parameter", 0x11f6fac4585L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(true).ordered(true).multiple(true).origin("1234529174917").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForUtilityMethodDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "UtilityMethodDeclaration", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11f6f6a18e4L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b1fcL);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1234524838116");
    b.version(3);
    b.alias("new private function");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForWithIndentOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.textGen", "WithIndentOperation", 0xb83431fe5c8f40bcL, 0x8a3665e25f4dd253L, 0x11fd28e1146L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Statement
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b215L);
    b.origin("r:de0d3c0c-d049-41cf-bbf9-a920ba513cd3(jetbrains.mps.lang.textGen.structure)/1236188139846");
    b.version(3);
    b.aggregate("list", 0x11fd28f940dL).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b200L).optional(false).ordered(true).multiple(false).origin("1236188238861").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("with indent {");
    return b.create();
  }
}
