public static boolean baseMappingRule_Condition_1201386765715( final IOperationContext operationContext, final BaseMappingRuleContext _context) { return SConceptOperations.isExactly( SNodeOperations.getConceptDeclaration( SLinkOperations.getTarget(_context.getNode(), "operation", true)), "jetbrains.mps.baseLanguage.structure.PropertyReference"); }
public static Object propertyMacro_GetPropertyValue_7923290658387314322( final IOperationContext operationContext, final PropertyMacroContext _context) { SNode extendsNode = SLinkOperations.getTarget( SNodeOperations.cast( SLinkOperations.getTarget(_context.getNode(), "concept", false), "jetbrains.mps.lang.structure.structure.ConceptDeclaration"), "extends", false); if (SConceptOperations.isExactly( SLinkOperations.getTarget(_context.getNode(), "concept", false), "jetbrains.mps.lang.core.structure.BaseConcept")) { return "jetbrains.mps.smodel.runtime.impl.CompiledBehaviorDescriptor"; } if ((extendsNode == null)) { extendsNode = SNodeOperations.getNode( "r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)", "1133920641626"); } String behaviorModel = jetbrains.mps.util.SNodeOperations.getModelLongName(SNodeOperations.getModel(extendsNode)); behaviorModel = behaviorModel.substring(0, behaviorModel.length() - "structure".length()) + "behavior"; return behaviorModel + "." + SPropertyOperations.getString(extendsNode, "name") + "_BehaviorDescriptor"; }
public Collection<ConceptEditor> getDeclaredEditors(SAbstractConcept concept) { { SAbstractConcept cncpt = ((SAbstractConcept) concept); if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0x58f98fef90ad4b72L, 0xa390fad66ec7005aL, 0x36fb0dc9fd3a3ad9L, "jetbrains.mps.core.properties.structure.PropertiesComment"))) { return Collections.<ConceptEditor>singletonList(new PropertiesComment_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0x58f98fef90ad4b72L, 0xa390fad66ec7005aL, 0x36fb0dc9fd3a3ac1L, "jetbrains.mps.core.properties.structure.PropertiesDeclaration"))) { return Collections.<ConceptEditor>singletonList(new PropertiesDeclaration_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0x58f98fef90ad4b72L, 0xa390fad66ec7005aL, 0x36fb0dc9fd3a2754L, "jetbrains.mps.core.properties.structure.PropertiesFile"))) { return Collections.<ConceptEditor>singletonList(new PropertiesFile_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0x58f98fef90ad4b72L, 0xa390fad66ec7005aL, 0x36fb0dc9fd3a3ac2L, "jetbrains.mps.core.properties.structure.PropertiesLine"))) { return Collections.<ConceptEditor>singletonList(new PropertiesLine_Editor()); } } return Collections.<ConceptEditor>emptyList(); }
public static Scope virtual_getScope_3734116213129936182( SNode thisNode, SNode kind, SNode child) { if (SConceptOperations.isExactly( kind, "jetbrains.mps.baseLanguage.structure.VariableDeclaration")) { return new EmptyScope(); } return BehaviorReflection.invokeSuper( Scope.class, thisNode, "jetbrains.mps.lang.core.structure.ScopeProvider", "virtual_getScope_3734116213129936182", new Object[] {kind, child}); }
public Collection<ConceptEditor> getDeclaredEditors(SAbstractConcept concept) { { SAbstractConcept cncpt = ((SAbstractConcept) concept); if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0x1839bec5cea641dfL, 0xb9e0c405ff35c41eL, 0x20c051df23a9488cL, "jetbrains.mps.lang.editor.imageGen.structure.ImageGenerator"))) { return Collections.<ConceptEditor>singletonList(new ImageGenerator_Editor()); } } return Collections.<ConceptEditor>emptyList(); }
public Collection<ConceptEditor> getDeclaredEditors(SAbstractConcept concept) { { SAbstractConcept cncpt = ((SAbstractConcept) concept); if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0x37e03aa1728949bcL, 0x826930de5eceec76L, 0x657f08af7deb331aL, "jetbrains.mps.vcs.mergehints.structure.MergeHint"))) { return Collections.<ConceptEditor>singletonList(new MergeHint_Editor()); } } return Collections.<ConceptEditor>emptyList(); }
public boolean isApplicableToNode(final SNode node, final EditorContext editorContext) { final EditorCell editorCell = editorContext.getSelectedCell(); if (editorCell == null) { return false; } if (editorCell.getLinkDeclaration() != SLinkOperations.findLinkDeclaration( "jetbrains.mps.lang.generator.structure.Weaving_MappingRule", "ruleConsequence")) { return false; } return SLinkOperations.getTarget(node, "ruleConsequence", true) == null || SConceptOperations.isExactly( SNodeOperations.getConceptDeclaration( SLinkOperations.getTarget(node, "ruleConsequence", true)), "jetbrains.mps.lang.generator.structure.RuleConsequence"); }
public void applyRule( final SNode func, final TypeCheckingContext typeCheckingContext, IsApplicableStatus status) { SNode expectedRetType = BehaviorReflection.invokeVirtual( (Class<SNode>) ((Class) Object.class), func, "virtual_getExpectedReturnType_1213877374441", new Object[] {}); boolean noReturnExpected = ((expectedRetType == null) || TypeChecker.getInstance() .getSubtypingManager() .isSubtype(expectedRetType, _quotation_createNode_bbraw4_b0a0a0b0b())); if (SConceptOperations.isExactly( SNodeOperations.getConceptDeclaration(expectedRetType), "jetbrains.mps.baseLanguage.structure.WildCardType")) { // function is expected to return value of any type expectedRetType = null; } if (!(noReturnExpected)) { final SNode LCS_typevar_1186052624152 = typeCheckingContext.createNewRuntimeTypesVariable(); Iterable<SNode> returnStatements = RulesFunctions_BaseLanguage.collectReturnStatements( SLinkOperations.getTarget(func, "body", true)); // should return subtypes of the 'expected type' // if 'expected type' is null - should still return some value (of any type) for (SNode returnStatement : Sequence.fromIterable(returnStatements)) { if ((SLinkOperations.getTarget(returnStatement, "expression", true) == null)) { { MessageTarget errorTarget = new NodeMessageTarget(); IErrorReporter _reporter_2309309498 = typeCheckingContext.reportTypeError( returnStatement, "should return value", "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053304501", null, errorTarget); } } else { { SNode _nodeToCheck_1029348928467 = SLinkOperations.getTarget(returnStatement, "expression", true); EquationInfo _info_12389875345 = new EquationInfo( _nodeToCheck_1029348928467, null, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053304511", 0, null); typeCheckingContext.createGreaterThanInequality( (SNode) typeCheckingContext.getRepresentative(LCS_typevar_1186052624152), (SNode) typeCheckingContext.typeOf( _nodeToCheck_1029348928467, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053304515", true), false, true, _info_12389875345); } if ((expectedRetType != null)) { if (!(typeCheckingContext.isSingleTypeComputation())) { { SNode _nodeToCheck_1029348928467 = SLinkOperations.getTarget(returnStatement, "expression", true); EquationInfo _info_12389875345 = new EquationInfo( _nodeToCheck_1029348928467, null, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "7630810368327770735", 0, null); typeCheckingContext.createLessThanInequality( (SNode) typeCheckingContext.typeOf( _nodeToCheck_1029348928467, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "7630810368327770718", true), (SNode) expectedRetType, true, true, _info_12389875345); } } } } } // last expression statement can serve as return statement SNode lastStatement = BehaviorReflection.invokeVirtual( (Class<SNode>) ((Class) Object.class), func, "virtual_getLastStatement_1239354409446", new Object[] {}); if (SNodeOperations.isInstanceOf( lastStatement, "jetbrains.mps.baseLanguage.structure.ExpressionStatement")) { SNode expression = SLinkOperations.getTarget( SNodeOperations.cast( lastStatement, "jetbrains.mps.baseLanguage.structure.ExpressionStatement"), "expression", true); { SNode _nodeToCheck_1029348928467 = expression; EquationInfo _info_12389875345 = new EquationInfo( _nodeToCheck_1029348928467, null, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053063874", 0, null); typeCheckingContext.createGreaterThanInequality( (SNode) typeCheckingContext.getRepresentative(LCS_typevar_1186052624152), (SNode) typeCheckingContext.typeOf( _nodeToCheck_1029348928467, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053084979", true), false, true, _info_12389875345); } if ((expectedRetType != null)) { if (!(typeCheckingContext.isSingleTypeComputation())) { { SNode _nodeToCheck_1029348928467 = expression; EquationInfo _info_12389875345 = new EquationInfo( _nodeToCheck_1029348928467, null, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "7630810368327770756", 0, null); typeCheckingContext.createLessThanInequality( (SNode) typeCheckingContext.typeOf( _nodeToCheck_1029348928467, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "7630810368327770753", true), (SNode) expectedRetType, true, true, _info_12389875345); } } } } { SNode _nodeToCheck_1029348928467 = func; EquationInfo _info_12389875345 = new EquationInfo( _nodeToCheck_1029348928467, null, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053174208", 0, null); typeCheckingContext.createEquation( (SNode) typeCheckingContext.typeOf( _nodeToCheck_1029348928467, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053169643", true), (SNode) typeCheckingContext.getRepresentative(LCS_typevar_1186052624152), _info_12389875345); } if ((expectedRetType != null)) { { SNode _nodeToCheck_1029348928467 = func; EquationInfo _info_12389875345 = new EquationInfo( _nodeToCheck_1029348928467, null, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053540847", 0, null); typeCheckingContext.createLessThanInequality( (SNode) typeCheckingContext.typeOf( _nodeToCheck_1029348928467, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053540851", true), (SNode) expectedRetType, false, true, _info_12389875345); } } } }
public Collection<ConceptEditor> getDeclaredEditors(SAbstractConcept concept) { { SAbstractConcept cncpt = ((SAbstractConcept) concept); if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x108050a5816L, "jetbrains.mps.samples.formulaLanguage.structure.AndOperation"))) { return Collections.<ConceptEditor>singletonList(new AndOperation_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x102db857767L, "jetbrains.mps.samples.formulaLanguage.structure.Constant"))) { return Collections.<ConceptEditor>singletonList(new Constant_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x10809c54870L, "jetbrains.mps.samples.formulaLanguage.structure.EqualsOperation"))) { return Collections.<ConceptEditor>singletonList(new EqualsOperation_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x102db824fa1L, "jetbrains.mps.samples.formulaLanguage.structure.Expression"))) { return Collections.<ConceptEditor>singletonList(new Expression_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x102db8bab3cL, "jetbrains.mps.samples.formulaLanguage.structure.FloatingPointConstant"))) { return Collections.<ConceptEditor>singletonList(new FloatingPointConstant_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x102db80c054L, "jetbrains.mps.samples.formulaLanguage.structure.Formula"))) { return Collections.<ConceptEditor>singletonList(new Formula_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x102db8296fcL, "jetbrains.mps.samples.formulaLanguage.structure.Function"))) { return Collections.<ConceptEditor>singletonList(new Function_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x103009e5ee0L, "jetbrains.mps.samples.formulaLanguage.structure.GreaterThanOperation"))) { return Collections.<ConceptEditor>singletonList(new GreaterThanOperation_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x102db8d4298L, "jetbrains.mps.samples.formulaLanguage.structure.IfFunction"))) { return Collections.<ConceptEditor>singletonList(new IfFunction_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x102db8aa3f9L, "jetbrains.mps.samples.formulaLanguage.structure.IntegerConstant"))) { return Collections.<ConceptEditor>singletonList(new IntegerConstant_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x10a037c6c0bL, "jetbrains.mps.samples.formulaLanguage.structure.IsNullOperation"))) { return Collections.<ConceptEditor>singletonList(new IsNullOperation_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x102ea976b99L, "jetbrains.mps.samples.formulaLanguage.structure.LessThanOperation"))) { return Collections.<ConceptEditor>singletonList(new LessThanOperation_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x102dba2244aL, "jetbrains.mps.samples.formulaLanguage.structure.MinusOperation"))) { return Collections.<ConceptEditor>singletonList(new MinusOperation_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x102ff4441ddL, "jetbrains.mps.samples.formulaLanguage.structure.MultOperation"))) { return Collections.<ConceptEditor>singletonList(new MultOperation_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x10a04135987L, "jetbrains.mps.samples.formulaLanguage.structure.NotOperation"))) { return Collections.<ConceptEditor>singletonList(new NotOperation_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x10a036c79c0L, "jetbrains.mps.samples.formulaLanguage.structure.NullConstant"))) { return Collections.<ConceptEditor>singletonList(new NullConstant_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x102db8620dbL, "jetbrains.mps.samples.formulaLanguage.structure.Operation"))) { return Collections.<ConceptEditor>singletonList(new Operation_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x108050ab746L, "jetbrains.mps.samples.formulaLanguage.structure.OrOperation"))) { return Collections.<ConceptEditor>singletonList(new OrOperation_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x10809d032baL, "jetbrains.mps.samples.formulaLanguage.structure.ParenthisizedExpression"))) { return Collections.<ConceptEditor>singletonList(new ParenthisizedExpression_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x102dba0a69dL, "jetbrains.mps.samples.formulaLanguage.structure.PlusOperation"))) { return Collections.<ConceptEditor>singletonList(new PlusOperation_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x102db83846eL, "jetbrains.mps.samples.formulaLanguage.structure.Reference"))) { return Collections.<ConceptEditor>singletonList(new Reference_Editor()); } if (SConceptOperations.isExactly( SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getConcept( 0xb1a9bc478a264792L, 0x8b684660c531090aL, 0x10804f6f702L, "jetbrains.mps.samples.formulaLanguage.structure.StringConstant"))) { return Collections.<ConceptEditor>singletonList(new StringConstant_Editor()); } } return Collections.<ConceptEditor>emptyList(); }
public void applyRule( final SNode func, final TypeCheckingContext typeCheckingContext, IsApplicableStatus status) { // function is expected to return value of any type final SNode expectedRetType = (SConceptOperations.isExactly( SNodeOperations.asSConcept( SNodeOperations.getConcept( ConceptFunction__BehaviorDescriptor.getExpectedReturnType_idhEwIGRD.invoke( func))), MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x110dae5f4a3L, "jetbrains.mps.baseLanguage.structure.WildCardType")) ? null : ConceptFunction__BehaviorDescriptor.getExpectedReturnType_idhEwIGRD.invoke(func)); boolean noReturnExpected = ((expectedRetType == null) || TypeChecker.getInstance() .getSubtypingManager() .isSubtype(expectedRetType, _quotation_createNode_bbraw4_b0a0a0c0b())); if (!(noReturnExpected)) { final SNode LCS_typevar_1186052624152 = typeCheckingContext.createNewRuntimeTypesVariable(); Iterable<SNode> returnStatements = RulesFunctions_BaseLanguage.collectReturnStatements( SLinkOperations.getTarget( func, MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L, 0x108bbd29b4aL, "body"))); // should return subtypes of the 'expected type' // if 'expected type' is null - should still return some value (of any type) for (SNode returnStatement : Sequence.fromIterable(returnStatements)) { if ((SLinkOperations.getTarget( returnStatement, MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc67c7feL, 0xf8cc6bf96cL, "expression")) == null)) { { MessageTarget errorTarget = new NodeMessageTarget(); IErrorReporter _reporter_2309309498 = typeCheckingContext.reportTypeError( returnStatement, "should return value", "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053304501", null, errorTarget); } } else { { SNode _nodeToCheck_1029348928467 = SLinkOperations.getTarget( returnStatement, MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc67c7feL, 0xf8cc6bf96cL, "expression")); EquationInfo _info_12389875345 = new EquationInfo( _nodeToCheck_1029348928467, null, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053304511", 0, null); typeCheckingContext.createGreaterThanInequality( (SNode) typeCheckingContext.getRepresentative(LCS_typevar_1186052624152), (SNode) typeCheckingContext.typeOf( _nodeToCheck_1029348928467, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053304515", true), false, true, _info_12389875345); } if ((expectedRetType != null)) { if (!(typeCheckingContext.isSingleTypeComputation())) { { SNode _nodeToCheck_1029348928467 = SLinkOperations.getTarget( returnStatement, MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc67c7feL, 0xf8cc6bf96cL, "expression")); EquationInfo _info_12389875345 = new EquationInfo( _nodeToCheck_1029348928467, null, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "7630810368327770735", 0, null); typeCheckingContext.createLessThanInequality( (SNode) typeCheckingContext.typeOf( _nodeToCheck_1029348928467, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "7410236346363166597", true), (SNode) expectedRetType, true, true, _info_12389875345); } } } } } // last expression statement can serve as return statement SNode lastStatement = IMethodLike__BehaviorDescriptor.getLastStatement_idi2fhS7A.invoke(func); if (SNodeOperations.isInstanceOf( lastStatement, MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b213L, "jetbrains.mps.baseLanguage.structure.ExpressionStatement"))) { final SNode expression = SLinkOperations.getTarget( SNodeOperations.cast( lastStatement, MetaAdapterFactory.getConcept( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b213L, "jetbrains.mps.baseLanguage.structure.ExpressionStatement")), MetaAdapterFactory.getContainmentLink( 0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b213L, 0xf8cc56b214L, "expression")); { SNode _nodeToCheck_1029348928467 = expression; EquationInfo _info_12389875345 = new EquationInfo( _nodeToCheck_1029348928467, null, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053063874", 0, null); typeCheckingContext.createGreaterThanInequality( (SNode) typeCheckingContext.getRepresentative(LCS_typevar_1186052624152), (SNode) typeCheckingContext.typeOf( _nodeToCheck_1029348928467, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053084979", true), false, true, _info_12389875345); } if ((expectedRetType != null)) { if (!(typeCheckingContext.isSingleTypeComputation())) { { SNode _nodeToCheck_1029348928467 = expression; EquationInfo _info_12389875345 = new EquationInfo( _nodeToCheck_1029348928467, null, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "7630810368327770756", 0, null); typeCheckingContext.createLessThanInequality( (SNode) typeCheckingContext.typeOf( _nodeToCheck_1029348928467, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "7410236346363168757", true), (SNode) expectedRetType, true, true, _info_12389875345); } } } } { SNode _nodeToCheck_1029348928467 = func; EquationInfo _info_12389875345 = new EquationInfo( _nodeToCheck_1029348928467, null, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053174208", 0, null); typeCheckingContext.createEquation( (SNode) typeCheckingContext.typeOf( _nodeToCheck_1029348928467, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053169643", true), (SNode) typeCheckingContext.getRepresentative(LCS_typevar_1186052624152), _info_12389875345); } if ((expectedRetType != null)) { if (!(typeCheckingContext.isSingleTypeComputation())) { { SNode _nodeToCheck_1029348928467 = func; EquationInfo _info_12389875345 = new EquationInfo( _nodeToCheck_1029348928467, null, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "1186053540847", 0, null); typeCheckingContext.createLessThanInequality( (SNode) typeCheckingContext.typeOf( _nodeToCheck_1029348928467, "r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "7410236346363168929", true), (SNode) expectedRetType, true, true, _info_12389875345); } } } } }
public void applyRule( final SNode conceptDeclaration, final TypeCheckingContext typeCheckingContext, IsApplicableStatus status) { OldCommentMigraionCreator creator = new OldCommentMigraionCreator(); if (SConceptOperations.isExactly( SNodeOperations.asSConcept(SNodeOperations.asSConcept(conceptDeclaration)), MetaAdapterFactory.getInterfaceConcept( 0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x39384475a5756fb0L, "jetbrains.mps.lang.core.structure.IOldCommentContainer")) || SConceptOperations.isExactly( SNodeOperations.asSConcept(SNodeOperations.asSConcept(conceptDeclaration)), MetaAdapterFactory.getInterfaceConcept( 0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x9b3ed4f3a4d01ecL, "jetbrains.mps.lang.core.structure.IOldCommentAnnotation"))) { return; } if (ListSequence.fromList( AbstractConceptDeclaration__BehaviorDescriptor.getImmediateSuperconcepts_idhMuxyK2 .invoke(conceptDeclaration)) .contains( SNodeOperations.asNode( MetaAdapterFactory.getInterfaceConcept( 0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x39384475a5756fb0L, "jetbrains.mps.lang.core.structure.IOldCommentContainer"))) && creator.canCreateMigration(conceptDeclaration)) { { MessageTarget errorTarget = new NodeMessageTarget(); errorTarget = new PropertyMessageTarget("name"); IErrorReporter _reporter_2309309498 = typeCheckingContext.reportWarning( conceptDeclaration, "Old comment container should be migrated", "r:cec599e3-51d2-48a7-af31-989e3cbd593c(jetbrains.mps.lang.core.typesystem)", "699163291709407479", null, errorTarget); { BaseQuickFixProvider intentionProvider = new BaseQuickFixProvider( "jetbrains.mps.lang.core.typesystem.CreateIntentionForOldCommentContainer_QuickFix", false); _reporter_2309309498.addIntentionProvider(intentionProvider); } } } if (ListSequence.fromList( AbstractConceptDeclaration__BehaviorDescriptor.getImmediateSuperconcepts_idhMuxyK2 .invoke(conceptDeclaration)) .contains( SNodeOperations.asNode( MetaAdapterFactory.getInterfaceConcept( 0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x9b3ed4f3a4d01ecL, "jetbrains.mps.lang.core.structure.IOldCommentAnnotation"))) && creator.canCreateMigration(conceptDeclaration)) { { MessageTarget errorTarget = new NodeMessageTarget(); errorTarget = new PropertyMessageTarget("name"); IErrorReporter _reporter_2309309498 = typeCheckingContext.reportWarning( conceptDeclaration, "Old comment annotation should be migrated", "r:cec599e3-51d2-48a7-af31-989e3cbd593c(jetbrains.mps.lang.core.typesystem)", "699163291709408708", null, errorTarget); { BaseQuickFixProvider intentionProvider = new BaseQuickFixProvider( "jetbrains.mps.lang.core.typesystem.CreateIntentionForOldCommentAnnotation_QuickFix", false); _reporter_2309309498.addIntentionProvider(intentionProvider); } } } }