3.0 EAP (129.120) - Typesystem rule doesn't see behavior method in sandbox model
I'm trying to create a simple language using MPS 3.0 EAP, but I can't get some things running.
There are typesystem rules in my language that utilize concept behavior methods. In language design time everything is ok and resolved, but after I compile langauge and try to use concept editor, typesystem rules called automatically by MPS fail with RuntimeException:
an error occurred while applying rule to node property value [node property value]: java.lang.NoSuchMethodException: No such method for virtual_getPropertyType_7833736725326261184 in kz.primesource.pslabs.builders.structure.BuilderPropertyBase
I have attached a complete project with this single language to this post in case if it is needed.
There are typesystem rules in my language that utilize concept behavior methods. In language design time everything is ok and resolved, but after I compile langauge and try to use concept editor, typesystem rules called automatically by MPS fail with RuntimeException:
an error occurred while applying rule to node property value [node property value]: java.lang.NoSuchMethodException: No such method for virtual_getPropertyType_7833736725326261184 in kz.primesource.pslabs.builders.structure.BuilderPropertyBase
java.lang.RuntimeException: java.lang.NoSuchMethodException: No such method for virtual_getPropertyType_7833736725326261184 in kz.primesource.pslabs.builders.structure.BuilderPropertyBase…
java.lang.RuntimeException: java.lang.NoSuchMethodException: No such method for virtual_getPropertyType_7833736725326261184 in kz.primesource.pslabs.builders.structure.BuilderPropertyBase
at jetbrains.mps.smodel.runtime.interpreted.InterpretedBehaviorDescriptor.genericInvoke(InterpretedBehaviorDescriptor.java:67)
at jetbrains.mps.smodel.runtime.interpreted.InterpretedBehaviorDescriptor.invoke(InterpretedBehaviorDescriptor.java:52)
at jetbrains.mps.smodel.behaviour.BehaviorReflection.invokeVirtual(BehaviorReflection.java:61)
at jetbrains.mps.smodel.behaviour.BehaviorReflection.invokeVirtual(BehaviorReflection.java:86)
at kz.primesource.pslabs.builders.typesystem.typeof_BuilderPropertyValue_InferenceRule.applyRule(typeof_BuilderPropertyValue_InferenceRule.java:23)
at jetbrains.mps.newTypesystem.operation.ApplyRuleOperation.execute(ApplyRuleOperation.java:44)
at jetbrains.mps.newTypesystem.state.State.executeOperation(State.java:296)
at jetbrains.mps.newTypesystem.state.State.applyRuleToNode(State.java:154)
at jetbrains.mps.newTypesystem.context.component.SimpleTypecheckingComponent.applyRulesToNode(SimpleTypecheckingComponent.java:150)
at jetbrains.mps.newTypesystem.context.component.TypeSystemComponent$1.run(TypeSystemComponent.java:239)
at jetbrains.mps.newTypesystem.context.typechecking.IncrementalTypechecking.runApplyRulesTo(IncrementalTypechecking.java:136)
at jetbrains.mps.newTypesystem.context.component.TypeSystemComponent.applyRulesToNode(TypeSystemComponent.java:236)
at jetbrains.mps.newTypesystem.context.component.SimpleTypecheckingComponent.computeTypesForNode(SimpleTypecheckingComponent.java:200)
at jetbrains.mps.newTypesystem.context.component.SimpleTypecheckingComponent.computeTypesSpecial(SimpleTypecheckingComponent.java:217)
at jetbrains.mps.newTypesystem.context.component.SimpleTypecheckingComponent.computeTypes(SimpleTypecheckingComponent.java:117)
at jetbrains.mps.newTypesystem.context.component.TypeSystemComponent.computeTypes(TypeSystemComponent.java:128)
at jetbrains.mps.newTypesystem.context.component.SimpleTypecheckingComponent.computeTypes(SimpleTypecheckingComponent.java:102)
at jetbrains.mps.newTypesystem.context.typechecking.BaseTypechecking.computeTypes(BaseTypechecking.java:106)
at jetbrains.mps.newTypesystem.context.SimpleTypecheckingContext$2.compute(SimpleTypecheckingContext.java:224)
at jetbrains.mps.newTypesystem.rules.LanguageScopeExecutor.execWithModelScope(LanguageScopeExecutor.java:32)
at jetbrains.mps.newTypesystem.context.SimpleTypecheckingContext.checkRoot(SimpleTypecheckingContext.java:221)
at jetbrains.mps.newTypesystem.context.SimpleTypecheckingContext.checkRoot(SimpleTypecheckingContext.java:215)
at jetbrains.mps.newTypesystem.context.SimpleTypecheckingContext.checkIfNotChecked(SimpleTypecheckingContext.java:204)
at jetbrains.mps.typesystem.checking.TypesEditorChecker$1.run(TypesEditorChecker.java:43)
at jetbrains.mps.newTypesystem.context.IncrementalTypecheckingContext.runTypeCheckingAction(IncrementalTypecheckingContext.java:132)
at jetbrains.mps.typesystem.checking.TypesEditorChecker.doCreateMessages(TypesEditorChecker.java:36)
at jetbrains.mps.typesystem.checking.AbstractTypesystemEditorChecker$1.compute(AbstractTypesystemEditorChecker.java:70)
at jetbrains.mps.typesystem.checking.AbstractTypesystemEditorChecker$1.compute(AbstractTypesystemEditorChecker.java:66)
at jetbrains.mps.typesystem.inference.TypeContextManager.runTypeCheckingComputation(TypeContextManager.java:205)
at jetbrains.mps.typesystem.checking.AbstractTypesystemEditorChecker.createMessages(AbstractTypesystemEditorChecker.java:66)
at jetbrains.mps.nodeEditor.checking.BaseEditorChecker$1.run(BaseEditorChecker.java:37)
at jetbrains.mps.nodeEditor.checking.BaseEditorChecker.performUninterruptableAction(BaseEditorChecker.java:136)
at jetbrains.mps.nodeEditor.checking.BaseEditorChecker.createMessagesProtected(BaseEditorChecker.java:34)
at jetbrains.mps.nodeEditor.Highlighter$12.compute(Highlighter.java:532)
at jetbrains.mps.nodeEditor.Highlighter$12.compute(Highlighter.java:513)
at jetbrains.mps.nodeEditor.Highlighter$14.compute(Highlighter.java:598)
at jetbrains.mps.ide.smodel.WorkbenchModelAccess$3.compute(WorkbenchModelAccess.java:137)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:961)
at jetbrains.mps.ide.smodel.WorkbenchModelAccess.runReadAction(WorkbenchModelAccess.java:132)
at jetbrains.mps.nodeEditor.Highlighter.runLoPrioRead(Highlighter.java:594)
at jetbrains.mps.nodeEditor.Highlighter.updateEditor(Highlighter.java:513)
at jetbrains.mps.nodeEditor.Highlighter.access$1100(Highlighter.java:62)
at jetbrains.mps.nodeEditor.Highlighter$10.compute(Highlighter.java:473)
at jetbrains.mps.nodeEditor.Highlighter$10.compute(Highlighter.java:431)
at jetbrains.mps.nodeEditor.Highlighter.runUpdateMessagesAction(Highlighter.java:425)
at jetbrains.mps.nodeEditor.Highlighter.updateEditorComponent(Highlighter.java:431)
at jetbrains.mps.nodeEditor.Highlighter.access$800(Highlighter.java:62)
at jetbrains.mps.nodeEditor.Highlighter$7.run(Highlighter.java:348)
at jetbrains.mps.typesystem.inference.TypeContextManager.runTypecheckingAction(TypeContextManager.java:227)
at jetbrains.mps.nodeEditor.Highlighter.doUpdate(Highlighter.java:345)
at jetbrains.mps.nodeEditor.Highlighter$HighlighterThread.run(Highlighter.java:640)
Caused by: java.lang.NoSuchMethodException: No such method for virtual_getPropertyType_7833736725326261184 in kz.primesource.pslabs.builders.structure.BuilderPropertyBase
... 51 more
java.lang.RuntimeException: java.lang.NoSuchMethodException: No such method for virtual_getPropertyType_7833736725326261184 in kz.primesource.pslabs.builders.structure.BuilderPropertyBase…
java.lang.RuntimeException: java.lang.NoSuchMethodException: No such method for virtual_getPropertyType_7833736725326261184 in kz.primesource.pslabs.builders.structure.BuilderPropertyBase
at jetbrains.mps.smodel.runtime.interpreted.InterpretedBehaviorDescriptor.genericInvoke(InterpretedBehaviorDescriptor.java:67)
at jetbrains.mps.smodel.runtime.interpreted.InterpretedBehaviorDescriptor.invoke(InterpretedBehaviorDescriptor.java:52)
at jetbrains.mps.smodel.behaviour.BehaviorReflection.invokeVirtual(BehaviorReflection.java:61)
at jetbrains.mps.smodel.behaviour.BehaviorReflection.invokeVirtual(BehaviorReflection.java:86)
at kz.primesource.pslabs.builders.typesystem.typeof_BuilderPropertyValue_InferenceRule.applyRule(typeof_BuilderPropertyValue_InferenceRule.java:23)
at jetbrains.mps.newTypesystem.operation.ApplyRuleOperation.execute(ApplyRuleOperation.java:44)
at jetbrains.mps.newTypesystem.state.State.executeOperation(State.java:296)
at jetbrains.mps.newTypesystem.state.State.applyRuleToNode(State.java:154)
at jetbrains.mps.newTypesystem.context.component.SimpleTypecheckingComponent.applyRulesToNode(SimpleTypecheckingComponent.java:150)
at jetbrains.mps.newTypesystem.context.component.TypeSystemComponent$1.run(TypeSystemComponent.java:239)
at jetbrains.mps.newTypesystem.context.typechecking.IncrementalTypechecking.runApplyRulesTo(IncrementalTypechecking.java:136)
at jetbrains.mps.newTypesystem.context.component.TypeSystemComponent.applyRulesToNode(TypeSystemComponent.java:236)
at jetbrains.mps.newTypesystem.context.component.SimpleTypecheckingComponent.computeTypesForNode(SimpleTypecheckingComponent.java:200)
at jetbrains.mps.newTypesystem.context.component.SimpleTypecheckingComponent.computeTypesSpecial(SimpleTypecheckingComponent.java:217)
at jetbrains.mps.newTypesystem.context.component.SimpleTypecheckingComponent.computeTypes(SimpleTypecheckingComponent.java:117)
at jetbrains.mps.newTypesystem.context.component.TypeSystemComponent.computeTypes(TypeSystemComponent.java:128)
at jetbrains.mps.newTypesystem.context.component.SimpleTypecheckingComponent.computeTypes(SimpleTypecheckingComponent.java:102)
at jetbrains.mps.newTypesystem.context.typechecking.BaseTypechecking.computeTypes(BaseTypechecking.java:106)
at jetbrains.mps.newTypesystem.context.SimpleTypecheckingContext$2.compute(SimpleTypecheckingContext.java:224)
at jetbrains.mps.newTypesystem.rules.LanguageScopeExecutor.execWithModelScope(LanguageScopeExecutor.java:32)
at jetbrains.mps.newTypesystem.context.SimpleTypecheckingContext.checkRoot(SimpleTypecheckingContext.java:221)
at jetbrains.mps.newTypesystem.context.SimpleTypecheckingContext.checkRoot(SimpleTypecheckingContext.java:215)
at jetbrains.mps.newTypesystem.context.SimpleTypecheckingContext.checkIfNotChecked(SimpleTypecheckingContext.java:204)
at jetbrains.mps.typesystem.checking.TypesEditorChecker$1.run(TypesEditorChecker.java:43)
at jetbrains.mps.newTypesystem.context.IncrementalTypecheckingContext.runTypeCheckingAction(IncrementalTypecheckingContext.java:132)
at jetbrains.mps.typesystem.checking.TypesEditorChecker.doCreateMessages(TypesEditorChecker.java:36)
at jetbrains.mps.typesystem.checking.AbstractTypesystemEditorChecker$1.compute(AbstractTypesystemEditorChecker.java:70)
at jetbrains.mps.typesystem.checking.AbstractTypesystemEditorChecker$1.compute(AbstractTypesystemEditorChecker.java:66)
at jetbrains.mps.typesystem.inference.TypeContextManager.runTypeCheckingComputation(TypeContextManager.java:205)
at jetbrains.mps.typesystem.checking.AbstractTypesystemEditorChecker.createMessages(AbstractTypesystemEditorChecker.java:66)
at jetbrains.mps.nodeEditor.checking.BaseEditorChecker$1.run(BaseEditorChecker.java:37)
at jetbrains.mps.nodeEditor.checking.BaseEditorChecker.performUninterruptableAction(BaseEditorChecker.java:136)
at jetbrains.mps.nodeEditor.checking.BaseEditorChecker.createMessagesProtected(BaseEditorChecker.java:34)
at jetbrains.mps.nodeEditor.Highlighter$12.compute(Highlighter.java:532)
at jetbrains.mps.nodeEditor.Highlighter$12.compute(Highlighter.java:513)
at jetbrains.mps.nodeEditor.Highlighter$14.compute(Highlighter.java:598)
at jetbrains.mps.ide.smodel.WorkbenchModelAccess$3.compute(WorkbenchModelAccess.java:137)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:961)
at jetbrains.mps.ide.smodel.WorkbenchModelAccess.runReadAction(WorkbenchModelAccess.java:132)
at jetbrains.mps.nodeEditor.Highlighter.runLoPrioRead(Highlighter.java:594)
at jetbrains.mps.nodeEditor.Highlighter.updateEditor(Highlighter.java:513)
at jetbrains.mps.nodeEditor.Highlighter.access$1100(Highlighter.java:62)
at jetbrains.mps.nodeEditor.Highlighter$10.compute(Highlighter.java:473)
at jetbrains.mps.nodeEditor.Highlighter$10.compute(Highlighter.java:431)
at jetbrains.mps.nodeEditor.Highlighter.runUpdateMessagesAction(Highlighter.java:425)
at jetbrains.mps.nodeEditor.Highlighter.updateEditorComponent(Highlighter.java:431)
at jetbrains.mps.nodeEditor.Highlighter.access$800(Highlighter.java:62)
at jetbrains.mps.nodeEditor.Highlighter$8.run(Highlighter.java:365)
at jetbrains.mps.typesystem.inference.TypeContextManager.runTypecheckingAction(TypeContextManager.java:227)
at jetbrains.mps.nodeEditor.Highlighter.doUpdate(Highlighter.java:362)
at jetbrains.mps.nodeEditor.Highlighter$HighlighterThread.run(Highlighter.java:640)
Caused by: java.lang.NoSuchMethodException: No such method for virtual_getPropertyType_7833736725326261184 in kz.primesource.pslabs.builders.structure.BuilderPropertyBase
... 51 more
I have attached a complete project with this single language to this post in case if it is needed.
3 comments
Sort by
Date
Votes
It seems that link to attached file wasn't set automagically. Here it is: mps-projects.zip (232KB)
It's strange but I have these errors in MPS2.5 also, but that doesn't prevent model editor from being work normally.
MPS-18120 Typesystem rule doesn't see behavior method at runtime (model design time)
Please sign in to leave a comment.