in languages/baseLanguage/closures/source_gen/jetbrains/mps/baseLanguage/closures/scripts/UpdateClosuresRuntime_MigrationScript.java [30:356]
public UpdateClosuresRuntime_MigrationScript() {
super("Create runtime classes in the closures runtime");
this.addRefactoring(new AbstractMigrationRefactoring() {
@Override
public String getName() {
return "_FunctionTypes";
}
@Override
public String getAdditionalInfo() {
return "_FunctionTypes";
}
@Override
public SAbstractConcept getApplicableConcept() {
return CONCEPTS.ClassConcept$bK;
}
@Override
public boolean isApplicableInstanceNode(SNode node) {
return "jetbrains.mps.baseLanguage.closures.runtime._FunctionTypes".equals(NameUtil.nodeFQName(node)) && !(Sequence.fromIterable(Classifier__BehaviorDescriptor.nestedClassifiers_id4_LVZ3pBjGQ.invoke(node)).any((it) -> SPropertyOperations.getString(it, PROPS.name$MnvL).startsWith("_void")));
}
@Override
public void doUpdateInstanceNode(SNode node) {
List<SNode> paramTypeVars = new ArrayList<SNode>();
for (int params = 0; params <= Constants.MAX_CLOSURE_PARAMETERS; params++) {
List<SNode> excepTypeVars = new ArrayList<SNode>();
for (int exceps = 0; exceps <= Constants.MAX_CLOSURE_EXCEPTIONS; exceps++) {
List<SNode> tvds = new ArrayList<SNode>();
ListSequence.fromList(tvds).addSequence(ListSequence.fromList(paramTypeVars).select((it) -> SNodeOperations.copyNode(it)));
List<SNode> pdecls = new ArrayList<SNode>();
ListSequence.fromList(pdecls).addSequence(ListSequence.fromList(tvds).select((it) -> {
SNode tr = _quotation_createNode_awiph7_a0a0a0a0a4a1a1a0a(it);
return _quotation_createNode_awiph7_a1a0a0a0e0b0b0a0(tr, SPropertyOperations.getString(it, PROPS.name$MnvL).toLowerCase());
}));
ListSequence.fromList(tvds).addSequence(ListSequence.fromList(excepTypeVars).select((it) -> SNodeOperations.copyNode(it)));
List<SNode> exdecls = new ArrayList<SNode>();
ListSequence.fromList(exdecls).addSequence(ListSequence.fromList(tvds).skip(ListSequence.fromList(paramTypeVars).count()).select((it) -> _quotation_createNode_awiph7_a0a0a0a0i0b0b0a0(it)));
String name = "_void" + "_P" + params + "_E" + exceps;
ListSequence.fromList(SLinkOperations.getChildren(node, LINKS.member$L_2d)).addElement(_quotation_createNode_awiph7_a0a11a1a1a0a(tvds, name, pdecls, exdecls));
ListSequence.fromList(excepTypeVars).addElement(_quotation_createNode_awiph7_a0a31a1a1a0a("E" + (exceps + 1)));
}
ListSequence.fromList(paramTypeVars).addElement(_quotation_createNode_awiph7_a0a2a1a0a("P" + (params + 1)));
}
}
@Override
public boolean isShowAsIntention() {
return false;
}
});
this.addRefactoring(new AbstractMigrationRefactoring() {
@Override
public String getName() {
return "_FunctionTypes";
}
@Override
public String getAdditionalInfo() {
return "_FunctionTypes";
}
@Override
public SAbstractConcept getApplicableConcept() {
return CONCEPTS.ClassConcept$bK;
}
@Override
public boolean isApplicableInstanceNode(SNode node) {
return "jetbrains.mps.baseLanguage.closures.runtime._FunctionTypes".equals(NameUtil.nodeFQName(node)) && !(Sequence.fromIterable(Classifier__BehaviorDescriptor.nestedClassifiers_id4_LVZ3pBjGQ.invoke(node)).any((it) -> SPropertyOperations.getString(it, PROPS.name$MnvL).startsWith("_return")));
}
@Override
public void doUpdateInstanceNode(SNode node) {
List<SNode> paramTypeVars = new ArrayList<SNode>();
for (int params = 0; params <= Constants.MAX_CLOSURE_PARAMETERS; params++) {
List<SNode> excepTypeVars = new ArrayList<SNode>();
for (int exceps = 0; exceps <= Constants.MAX_CLOSURE_EXCEPTIONS; exceps++) {
List<SNode> tvds = new ArrayList<SNode>();
ListSequence.fromList(tvds).addElement(_quotation_createNode_awiph7_a0a1a1a1a0b());
SNode retVal = _quotation_createNode_awiph7_a0c0b0b0a1(ListSequence.fromList(tvds).first());
ListSequence.fromList(tvds).addSequence(ListSequence.fromList(paramTypeVars).select((it) -> SNodeOperations.copyNode(it)));
List<SNode> pdecls = new ArrayList<SNode>();
ListSequence.fromList(pdecls).addSequence(ListSequence.fromList(tvds).skip(1).select((it) -> {
SNode tr = _quotation_createNode_awiph7_a0a0a0a0a7a1a1a0b(it);
return _quotation_createNode_awiph7_a1a0a0a0h0b0b0a1(tr, SPropertyOperations.getString(it, PROPS.name$MnvL).toLowerCase());
}));
ListSequence.fromList(tvds).addSequence(ListSequence.fromList(excepTypeVars).select((it) -> SNodeOperations.copyNode(it)));
List<SNode> exdecls = new ArrayList<SNode>();
ListSequence.fromList(exdecls).addSequence(ListSequence.fromList(tvds).skip(ListSequence.fromList(paramTypeVars).count() + 1).select((it) -> _quotation_createNode_awiph7_a0a0a0a0l0b0b0a1(it)));
String name = "_return" + "_P" + params + "_E" + exceps;
ListSequence.fromList(SLinkOperations.getChildren(node, LINKS.member$L_2d)).addElement(_quotation_createNode_awiph7_a0a41a1a1a0b(tvds, name, pdecls, retVal, exdecls));
ListSequence.fromList(excepTypeVars).addElement(_quotation_createNode_awiph7_a0a61a1a1a0b("E" + (exceps + 1)));
}
ListSequence.fromList(paramTypeVars).addElement(_quotation_createNode_awiph7_a0a2a1a0b("P" + (params + 1)));
}
}
@Override
public boolean isShowAsIntention() {
return false;
}
});
this.addRefactoring(new AbstractMigrationRefactoring() {
@Override
public String getName() {
return "_UnrestrictedFunctionTypes";
}
@Override
public String getAdditionalInfo() {
return "_UnrestrictedFunctionTypes";
}
@Override
public SAbstractConcept getApplicableConcept() {
return CONCEPTS.ClassConcept$bK;
}
@Override
public boolean isApplicableInstanceNode(SNode node) {
return "jetbrains.mps.baseLanguage.closures.runtime._UnrestrictedFunctionTypes".equals(NameUtil.nodeFQName(node)) && !(Sequence.fromIterable(Classifier__BehaviorDescriptor.nestedClassifiers_id4_LVZ3pBjGQ.invoke(node)).any((it) -> SPropertyOperations.getString(it, PROPS.name$MnvL).startsWith("_return_terminate")));
}
@Override
public void doUpdateInstanceNode(SNode node) {
List<SNode> paramTypeVars = new ArrayList<SNode>();
for (int params = 0; params <= Constants.MAX_CLOSURE_PARAMETERS; params++) {
List<SNode> excepTypeVars = new ArrayList<SNode>();
for (int exceps = 0; exceps <= Constants.MAX_CLOSURE_EXCEPTIONS; exceps++) {
List<SNode> tvds = new ArrayList<SNode>();
ListSequence.fromList(tvds).addElement(_quotation_createNode_awiph7_a0a1a1a1a0c());
SNode t = _quotation_createNode_awiph7_a0c0b0b0a2(ListSequence.fromList(tvds).first());
ListSequence.fromList(tvds).addElement(_quotation_createNode_awiph7_a0a3a1a1a0c());
SNode r = _quotation_createNode_awiph7_a0e0b0b0a2(ListSequence.fromList(tvds).last());
SNode retVal = _quotation_createNode_awiph7_a0f0b0b0a2(t, r);
ListSequence.fromList(tvds).addSequence(ListSequence.fromList(paramTypeVars).select((it) -> SNodeOperations.copyNode(it)));
List<SNode> pdecls = new ArrayList<SNode>();
ListSequence.fromList(pdecls).addSequence(ListSequence.fromList(tvds).skip(2).select((it) -> {
SNode tr = _quotation_createNode_awiph7_a0a0a0a0a9a1a1a0c(it);
return _quotation_createNode_awiph7_a1a0a0a0j0b0b0a2(tr, SPropertyOperations.getString(it, PROPS.name$MnvL).toLowerCase());
}));
ListSequence.fromList(tvds).addSequence(ListSequence.fromList(excepTypeVars).select((it) -> SNodeOperations.copyNode(it)));
List<SNode> exdecls = new ArrayList<SNode>();
ListSequence.fromList(exdecls).addSequence(ListSequence.fromList(tvds).skip(ListSequence.fromList(paramTypeVars).count() + 2).select((it) -> _quotation_createNode_awiph7_a0a0a0a0n0b0b0a2(it)));
String name = "_return_terminate" + "_P" + params + "_E" + exceps;
ListSequence.fromList(SLinkOperations.getChildren(node, LINKS.member$L_2d)).addElement(_quotation_createNode_awiph7_a0a61a1a1a0c(tvds, name, pdecls, retVal, exdecls));
ListSequence.fromList(excepTypeVars).addElement(_quotation_createNode_awiph7_a0a81a1a1a0c("E" + (exceps + 1)));
}
ListSequence.fromList(paramTypeVars).addElement(_quotation_createNode_awiph7_a0a2a1a0c("P" + (params + 1)));
}
}
@Override
public boolean isShowAsIntention() {
return false;
}
});
this.addRefactoring(new AbstractMigrationRefactoring() {
@Override
public String getName() {
return "_UnrestrictedFunctionTypes";
}
@Override
public String getAdditionalInfo() {
return "_UnrestrictedFunctionTypes";
}
@Override
public SAbstractConcept getApplicableConcept() {
return CONCEPTS.ClassConcept$bK;
}
@Override
public boolean isApplicableInstanceNode(SNode node) {
return "jetbrains.mps.baseLanguage.closures.runtime._UnrestrictedFunctionTypes".equals(NameUtil.nodeFQName(node)) && !(Sequence.fromIterable(Classifier__BehaviorDescriptor.nestedClassifiers_id4_LVZ3pBjGQ.invoke(node)).any((it) -> SPropertyOperations.getString(it, PROPS.name$MnvL).startsWith("_void_terminate")));
}
@Override
public void doUpdateInstanceNode(SNode node) {
List<SNode> paramTypeVars = new ArrayList<SNode>();
for (int params = 0; params <= Constants.MAX_CLOSURE_PARAMETERS; params++) {
List<SNode> excepTypeVars = new ArrayList<SNode>();
for (int exceps = 0; exceps <= Constants.MAX_CLOSURE_EXCEPTIONS; exceps++) {
List<SNode> tvds = new ArrayList<SNode>();
ListSequence.fromList(tvds).addElement(_quotation_createNode_awiph7_a0a1a1a1a0d());
SNode t = _quotation_createNode_awiph7_a0c0b0b0a3(ListSequence.fromList(tvds).first());
SNode retVal = _quotation_createNode_awiph7_a0d0b0b0a3(t);
ListSequence.fromList(tvds).addSequence(ListSequence.fromList(paramTypeVars).select((it) -> SNodeOperations.copyNode(it)));
List<SNode> pdecls = new ArrayList<SNode>();
ListSequence.fromList(pdecls).addSequence(ListSequence.fromList(tvds).skip(1).select((it) -> {
SNode tr = _quotation_createNode_awiph7_a0a0a0a0a7a1a1a0d(it);
return _quotation_createNode_awiph7_a1a0a0a0h0b0b0a3(tr, SPropertyOperations.getString(it, PROPS.name$MnvL).toLowerCase());
}));
ListSequence.fromList(tvds).addSequence(ListSequence.fromList(excepTypeVars).select((it) -> SNodeOperations.copyNode(it)));
List<SNode> exdecls = new ArrayList<SNode>();
ListSequence.fromList(exdecls).addSequence(ListSequence.fromList(tvds).skip(ListSequence.fromList(paramTypeVars).count() + 1).select((it) -> _quotation_createNode_awiph7_a0a0a0a0l0b0b0a3(it)));
final String ename = "_return_terminate" + "_P" + params + "_E" + exceps;
SNode eifc = SNodeOperations.cast(Sequence.fromIterable(Classifier__BehaviorDescriptor.nestedClassifiers_id4_LVZ3pBjGQ.invoke(node)).findFirst((it) -> ename.equals(SPropertyOperations.getString(it, PROPS.name$MnvL))), CONCEPTS.Interface$db);
List<SNode> eifcParams = new ArrayList<SNode>();
ListSequence.fromList(eifcParams).addSequence(ListSequence.fromList(tvds).skip(1).select((it) -> _quotation_createNode_awiph7_a0a0a0a0q0b0b0a3(it)));
String name = "_void_terminate" + "_P" + params + "_E" + exceps;
ListSequence.fromList(SLinkOperations.getChildren(node, LINKS.member$L_2d)).addElement(_quotation_createNode_awiph7_a0a91a1a1a0d(t, eifcParams, eifc, tvds, name, pdecls, retVal, exdecls));
ListSequence.fromList(excepTypeVars).addElement(_quotation_createNode_awiph7_a0a12a1a1a0d("E" + (exceps + 1)));
}
ListSequence.fromList(paramTypeVars).addElement(_quotation_createNode_awiph7_a0a2a1a0d("P" + (params + 1)));
}
}
@Override
public boolean isShowAsIntention() {
return false;
}
});
this.addRefactoring(new AbstractMigrationRefactoring() {
@Override
public String getName() {
return "_UnrestrictedFunctionTypes";
}
@Override
public String getAdditionalInfo() {
return "_UnrestrictedFunctionTypes";
}
@Override
public SAbstractConcept getApplicableConcept() {
return CONCEPTS.ClassConcept$bK;
}
@Override
public boolean isApplicableInstanceNode(SNode node) {
return "jetbrains.mps.baseLanguage.closures.runtime._UnrestrictedFunctionTypes".equals(NameUtil.nodeFQName(node)) && !(Sequence.fromIterable(Classifier__BehaviorDescriptor.nestedClassifiers_id4_LVZ3pBjGQ.invoke(node)).any((it) -> SPropertyOperations.getString(it, PROPS.name$MnvL).startsWith("_return_void")));
}
@Override
public void doUpdateInstanceNode(SNode node) {
List<SNode> paramTypeVars = new ArrayList<SNode>();
for (int params = 0; params <= Constants.MAX_CLOSURE_PARAMETERS; params++) {
List<SNode> excepTypeVars = new ArrayList<SNode>();
for (int exceps = 0; exceps <= Constants.MAX_CLOSURE_EXCEPTIONS; exceps++) {
List<SNode> tvds = new ArrayList<SNode>();
ListSequence.fromList(tvds).addElement(_quotation_createNode_awiph7_a0a1a1a1a0e());
SNode r = _quotation_createNode_awiph7_a0c0b0b0a4(ListSequence.fromList(tvds).first());
SNode retVal = _quotation_createNode_awiph7_a0d0b0b0a4(r);
ListSequence.fromList(tvds).addSequence(ListSequence.fromList(paramTypeVars).select((it) -> SNodeOperations.copyNode(it)));
List<SNode> pdecls = new ArrayList<SNode>();
ListSequence.fromList(pdecls).addSequence(ListSequence.fromList(tvds).skip(1).select((it) -> {
SNode tr = _quotation_createNode_awiph7_a0a0a0a0a7a1a1a0e(it);
return _quotation_createNode_awiph7_a1a0a0a0h0b0b0a4(tr, SPropertyOperations.getString(it, PROPS.name$MnvL).toLowerCase());
}));
ListSequence.fromList(tvds).addSequence(ListSequence.fromList(excepTypeVars).select((it) -> SNodeOperations.copyNode(it)));
List<SNode> exdecls = new ArrayList<SNode>();
ListSequence.fromList(exdecls).addSequence(ListSequence.fromList(tvds).skip(ListSequence.fromList(paramTypeVars).count() + 1).select((it) -> _quotation_createNode_awiph7_a0a0a0a0l0b0b0a4(it)));
final String ename = "_return_terminate" + "_P" + params + "_E" + exceps;
SNode eifc = SNodeOperations.cast(Sequence.fromIterable(Classifier__BehaviorDescriptor.nestedClassifiers_id4_LVZ3pBjGQ.invoke(node)).findFirst((it) -> ename.equals(SPropertyOperations.getString(it, PROPS.name$MnvL))), CONCEPTS.Interface$db);
List<SNode> eifcParams = new ArrayList<SNode>();
ListSequence.fromList(eifcParams).addSequence(ListSequence.fromList(tvds).skip(1).select((it) -> _quotation_createNode_awiph7_a0a0a0a0q0b0b0a4(it)));
String name = "_return_void" + "_P" + params + "_E" + exceps;
ListSequence.fromList(SLinkOperations.getChildren(node, LINKS.member$L_2d)).addElement(_quotation_createNode_awiph7_a0a91a1a1a0e(r, eifcParams, eifc, tvds, name, pdecls, retVal, exdecls));
ListSequence.fromList(excepTypeVars).addElement(_quotation_createNode_awiph7_a0a12a1a1a0e("E" + (exceps + 1)));
}
ListSequence.fromList(paramTypeVars).addElement(_quotation_createNode_awiph7_a0a2a1a0e("P" + (params + 1)));
}
}
@Override
public boolean isShowAsIntention() {
return false;
}
});
this.addRefactoring(new AbstractMigrationRefactoring() {
@Override
public String getName() {
return "_UnrestrictedFunctionTypes";
}
@Override
public String getAdditionalInfo() {
return "_UnrestrictedFunctionTypes";
}
@Override
public SAbstractConcept getApplicableConcept() {
return CONCEPTS.ClassConcept$bK;
}
@Override
public boolean isApplicableInstanceNode(SNode node) {
return "jetbrains.mps.baseLanguage.closures.runtime._UnrestrictedFunctionTypes".equals(NameUtil.nodeFQName(node)) && !(Sequence.fromIterable(Classifier__BehaviorDescriptor.nestedClassifiers_id4_LVZ3pBjGQ.invoke(node)).any((it) -> SPropertyOperations.getString(it, PROPS.name$MnvL).startsWith("_void_void")));
}
@Override
public void doUpdateInstanceNode(SNode node) {
List<SNode> paramTypeVars = new ArrayList<SNode>();
for (int params = 0; params <= Constants.MAX_CLOSURE_PARAMETERS; params++) {
List<SNode> excepTypeVars = new ArrayList<SNode>();
for (int exceps = 0; exceps <= Constants.MAX_CLOSURE_EXCEPTIONS; exceps++) {
List<SNode> tvds = new ArrayList<SNode>();
SNode retVal = _quotation_createNode_awiph7_a0b0b0b0a5();
ListSequence.fromList(tvds).addSequence(ListSequence.fromList(paramTypeVars).select((it) -> SNodeOperations.copyNode(it)));
List<SNode> pdecls = new ArrayList<SNode>();
ListSequence.fromList(pdecls).addSequence(ListSequence.fromList(tvds).select((it) -> {
SNode tr = _quotation_createNode_awiph7_a0a0a0a0a5a1a1a0f(it);
return _quotation_createNode_awiph7_a1a0a0a0f0b0b0a5(tr, SPropertyOperations.getString(it, PROPS.name$MnvL).toLowerCase());
}));
ListSequence.fromList(tvds).addSequence(ListSequence.fromList(excepTypeVars).select((it) -> SNodeOperations.copyNode(it)));
List<SNode> exdecls = new ArrayList<SNode>();
ListSequence.fromList(exdecls).addSequence(ListSequence.fromList(tvds).skip(ListSequence.fromList(paramTypeVars).count()).select((it) -> _quotation_createNode_awiph7_a0a0a0a0j0b0b0a5(it)));
final String ename = "_return_terminate" + "_P" + params + "_E" + exceps;
SNode eifc = SNodeOperations.cast(Sequence.fromIterable(Classifier__BehaviorDescriptor.nestedClassifiers_id4_LVZ3pBjGQ.invoke(node)).findFirst((it) -> ename.equals(SPropertyOperations.getString(it, PROPS.name$MnvL))), CONCEPTS.Interface$db);
List<SNode> eifcParams = new ArrayList<SNode>();
ListSequence.fromList(eifcParams).addSequence(ListSequence.fromList(tvds).select((it) -> _quotation_createNode_awiph7_a0a0a0a0o0b0b0a5(it)));
String name = "_void_void" + "_P" + params + "_E" + exceps;
ListSequence.fromList(SLinkOperations.getChildren(node, LINKS.member$L_2d)).addElement(_quotation_createNode_awiph7_a0a71a1a1a0f(eifcParams, eifc, tvds, name, pdecls, retVal, exdecls));
ListSequence.fromList(excepTypeVars).addElement(_quotation_createNode_awiph7_a0a91a1a1a0f("E" + (exceps + 1)));
}
ListSequence.fromList(paramTypeVars).addElement(_quotation_createNode_awiph7_a0a2a1a0f("P" + (params + 1)));
}
}
@Override
public boolean isShowAsIntention() {
return false;
}
});
}