text: package jetbrains.mps.lang.smodel.constraints;
  
  /*Generated by MPS */
  
  import jetbrains.mps.smodel.runtime.base.BaseConstraintsDescriptor;
  import jetbrains.mps.smodel.runtime.ConstraintFunction;
  import jetbrains.mps.smodel.runtime.ConstraintContext_CanBeChild;
  import org.jetbrains.annotations.NotNull;
  import org.jetbrains.annotations.Nullable;
  import jetbrains.mps.smodel.runtime.CheckingNodeContext;
  import org.jetbrains.mps.openapi.model.SNode;
  import org.jetbrains.mps.openapi.language.SAbstractConcept;
  import org.jetbrains.mps.openapi.language.SContainmentLink;
  import jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations;
  import jetbrains.mps.smodel.SNodePointer;
  import org.jetbrains.mps.openapi.language.SInterfaceConcept;
  import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
  import org.jetbrains.mps.openapi.language.SConcept;
  
  public class SEnumOperation_Old_Constraints extends BaseConstraintsDescriptor {
    public SEnumOperation_Old_Constraints() {
      super(CONCEPTS.SEnumOperation_Old$hZ);
    }
  
    @Override
    protected ConstraintFunction<ConstraintContext_CanBeChild, Boolean> calculateCanBeChildConstraint() {
      return new ConstraintFunction<ConstraintContext_CanBeChild, Boolean>() {
        @NotNull
        public Boolean invoke(@NotNull ConstraintContext_CanBeChild context, @Nullable CheckingNodeContext checkingNodeContext) {
          boolean result = staticCanBeAChild(context.getNode(), context.getParentNode(), context.getConcept(), context.getLink());
  
          if (!(result) && checkingNodeContext != null) {
            checkingNodeContext.setBreakingNode(canBeChildBreakingPoint);
          }
  
          return result;
        }
      };
    }
    private static boolean staticCanBeAChild(SNode node, SNode parentNode, SAbstractConcept childConcept, SContainmentLink link) {
      return SNodeOperations.isInstanceOf(parentNode, CONCEPTS.SEnumOperationInvocation$_F);
    }
    private static final SNodePointer canBeChildBreakingPoint = new SNodePointer("r:00000000-0000-4000-0000-011c895902fb(jetbrains.mps.lang.smodel.constraints)", "1227128029536563490");
  
    private static final class CONCEPTS {
      /*package*/ static final SInterfaceConcept SEnumOperation_Old$hZ = MetaAdapterFactory.getInterfaceConcept(0x7866978ea0f04cc7L, 0x81bc4d213d9375e1L, 0x120ed37273dL, "jetbrains.mps.lang.smodel.structure.SEnumOperation_Old");
      /*package*/ static final SConcept SEnumOperationInvocation$_F = MetaAdapterFactory.getConcept(0x7866978ea0f04cc7L, 0x81bc4d213d9375e1L, 0x120ed32e98bL, "jetbrains.mps.lang.smodel.structure.SEnumOperationInvocation");
    }
  }
  