package jetbrains.mps.baseLanguage.dataFlow; /*Generated by MPS */ import jetbrains.mps.lang.pattern.GeneratedMatcher; import org.jetbrains.mps.openapi.model.SNode; import jetbrains.mps.lang.pattern.NodeMatcher; import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory; import jetbrains.mps.lang.dataFlow.framework.Program; import jetbrains.mps.lang.dataFlow.framework.instructions.Instruction; /*package*/ class Pattern_i6ycer8nigq6 extends GeneratedMatcher { public Pattern_i6ycer8nigq6(SNode patternNode, SNode orClause0, SNode orClause1) { super(patternNode, false); NodeMatcher disjunct0 = new NodeMatcher(myValues); NodeMatcher disjunct1 = new NodeMatcher(myValues); disjunct0.child(MetaAdapterFactory.getContainmentLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfbdeb6fecfL, 0xfbdeb7a11cL, "leftExpression")).at(0).capture("p"); disjunct1.child(MetaAdapterFactory.getContainmentLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xfbdeb6fecfL, 0xfbdeb7a11bL, "rightExpression")).at(0).capture("p"); myTopMatcher.child(MetaAdapterFactory.getContainmentLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x10e50ecba3dL, 0x10e50ed44ceL, "condition")).at(0).capture("action_var_2394615668041443703"); myTopMatcher.child(MetaAdapterFactory.getContainmentLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x10e50ecba3dL, 0x10e50ed44ceL, "condition")).at(0).disjunct(orClause0, disjunct0).disjunct(orClause1, disjunct1); } @Override public void performActions(Object o) { { Object object = getFieldValue("patternVar_action_var_2394615668041443703"); if (((Program) o).contains(object)) { boolean before = false; int position; if (before) { position = ((Program) (o)).getStart(object); } else { position = ((Program) (o)).getEnd(object); } Instruction instruction = new notNullInstruction((SNode) getFieldValue("patternVar_p")); instruction.setRuleReference("r:00000000-0000-4000-0000-011c895902c2(jetbrains.mps.baseLanguage.dataFlow)/2394615668041444403"); instruction.setSource(getFieldValue("patternVar_action_var_2394615668041443703")); ((Program) (o)).insert(instruction, position, true, before); } } } }