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
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
It seems that link to attached file wasn't set automagically. Here it is: mps-projects.zip (232KB)
0
It's strange but I have these errors in MPS2.5 also, but that doesn't prevent model editor from being work normally.
0
MPS-18120 Typesystem rule doesn't see behavior method at runtime (model design time)
0

Please sign in to leave a comment.