package jetbrains.mps.console.base.actions;

/*Generated by MPS */

import jetbrains.mps.openapi.actions.descriptor.PasteWrapper;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import org.jetbrains.mps.openapi.model.SNode;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SLinkOperations;
import jetbrains.mps.smodel.builder.SNodeBuilder;
import org.jetbrains.mps.openapi.language.SConcept;
import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
import org.jetbrains.mps.openapi.language.SContainmentLink;

public final class blExpression_PasteWrapper_5 implements PasteWrapper {
  @Override
  public SAbstractConcept getSourceConcept() {
    return CONCEPTS.BlockStatement$u4;
  }
  @Override
  public SAbstractConcept getTargetConcept() {
    return CONCEPTS.Command$6M;
  }
  @Override
  public SNode wrap(SNode sourceNode) {
    return createBLCommand_sma98h_a0a0f(SLinkOperations.getTarget(sourceNode, LINKS.statements$q65M));
  }
  private static SNode createBLCommand_sma98h_a0a0f(SNode p0) {
    SNodeBuilder n0 = new SNodeBuilder().init(CONCEPTS.BLCommand$W4);
    n0.forChild(LINKS.body$Q1Y9).initNode(p0, CONCEPTS.StatementList$m_, true);
    return n0.getResult();
  }

  private static final class CONCEPTS {
    /*package*/ static final SConcept BlockStatement$u4 = MetaAdapterFactory.getConcept(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfc092b6b77L, "jetbrains.mps.baseLanguage.structure.BlockStatement");
    /*package*/ static final SConcept Command$6M = MetaAdapterFactory.getConcept(0xde1ad86d6e504a02L, 0xb306d4d17f64c375L, 0x5f1fb64db424879fL, "jetbrains.mps.console.base.structure.Command");
    /*package*/ static final SConcept BLCommand$W4 = MetaAdapterFactory.getConcept(0xde1ad86d6e504a02L, 0xb306d4d17f64c375L, 0x4bd43869e610f3e9L, "jetbrains.mps.console.base.structure.BLCommand");
    /*package*/ static final SConcept StatementList$m_ = MetaAdapterFactory.getConcept(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b200L, "jetbrains.mps.baseLanguage.structure.StatementList");
  }

  private static final class LINKS {
    /*package*/ static final SContainmentLink statements$q65M = MetaAdapterFactory.getContainmentLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfc092b6b77L, 0xfc092b6b78L, "statements");
    /*package*/ static final SContainmentLink body$Q1Y9 = MetaAdapterFactory.getContainmentLink(0xde1ad86d6e504a02L, 0xb306d4d17f64c375L, 0x4bd43869e610f3e9L, 0x188f8efcef6cea65L, "body");
  }
}
