mbeddr / mbeddr.core

The mbeddr core. An extensible C
Eclipse Public License 2.0
225 stars 77 forks source link

Dataflow Analysis cannot handle ClientServerInterface #626

Closed DomenikP closed 11 years ago

DomenikP commented 11 years ago

If I open an editor, that contains an instance of ClientServerInterface, then I get the following Exception trace:

an error occurred while applying rule to node runTest: Can't cast com.mbeddr.ext.components.structure.ClientServerInterface to com.mbeddr.core.expressions.structure.IDataflowVariable jetbrains.mps.lang.smodel.generator.smodelAdapter.NodeCastException: Can't cast com.mbeddr.ext.components.structure.ClientServerInterface to com.mbeddr.core.expressions.structure.IDataflowVariable at jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations.cast(SNodeOperations.java:645) at com.mbeddr.core.unittest.dataFlow.TestCase_DataFlow.build(TestCase_DataFlow.java:40) at jetbrains.mps.lang.dataFlow.MPSProgramBuilder.doBuild(MPSProgramBuilder.java:30) at jetbrains.mps.lang.dataFlow.MPSProgramBuilder.doBuild(MPSProgramBuilder.java:13) at jetbrains.mps.lang.dataFlow.framework.StructuralProgramBuilder.build(StructuralProgramBuilder.java:45) at jetbrains.mps.lang.dataFlow.framework.StructuralProgramBuilder.buildProgram(StructuralProgramBuilder.java:33) at jetbrains.mps.lang.dataFlow.DataFlowManager.buildProgramFor(DataFlowManager.java:57) at jetbrains.mps.lang.dataFlow.DataFlow.buildProgram(DataFlow.java:25) at com.mbeddr.core.modules.typesystem.DataFlowUtil.checkUnusedAssignments(DataFlowUtil.java:140) at com.mbeddr.core.modules.typesystem.check_UnusedAssignments_NonTypesystemRule.applyRule(check_UnusedAssignments_NonTypesystemRule.java:23) at jetbrains.mps.newTypesystem.NodeTypesComponent.applyRuleToNode(NodeTypesComponent.java:149) at jetbrains.mps.newTypesystem.NonTypeSystemComponent.applyNonTypesystemRulesToNode(NonTypeSystemComponent.java:319) at jetbrains.mps.newTypesystem.NonTypeSystemComponent.applyNonTypeSystemRulesToRoot(NonTypeSystemComponent.java:283) at jetbrains.mps.newTypesystem.NodeTypesComponent.applyNonTypesystemRulesToRoot(NodeTypesComponent.java:217) at jetbrains.mps.typesystem.checking.TypesEditorChecker$1.run(TypesEditorChecker.java:78) at jetbrains.mps.newTypesystem.TypeCheckingContextNew.runTypeCheckingAction(TypeCheckingContextNew.java:467) at jetbrains.mps.typesystem.checking.TypesEditorChecker.createMessages(TypesEditorChecker.java:58) at jetbrains.mps.nodeEditor.checking.BaseEditorChecker$1.run(BaseEditorChecker.java:36) at jetbrains.mps.nodeEditor.checking.BaseEditorChecker.performUninterruptableAction(BaseEditorChecker.java:116) at jetbrains.mps.nodeEditor.checking.BaseEditorChecker.createMessagesProtected(BaseEditorChecker.java:34) at jetbrains.mps.nodeEditor.Highlighter$11.compute(Highlighter.java:498) at jetbrains.mps.nodeEditor.Highlighter$11.compute(Highlighter.java:481) at jetbrains.mps.nodeEditor.Highlighter$13.compute(Highlighter.java:562) at jetbrains.mps.ide.smodel.WorkbenchModelAccess$3.compute(WorkbenchModelAccess.java:138) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:888) at jetbrains.mps.ide.smodel.WorkbenchModelAccess.runReadAction(WorkbenchModelAccess.java:134) at jetbrains.mps.nodeEditor.Highlighter.runLoPrioRead(Highlighter.java:558) at jetbrains.mps.nodeEditor.Highlighter.updateEditor(Highlighter.java:481) at jetbrains.mps.nodeEditor.Highlighter.access$1000(Highlighter.java:56) at jetbrains.mps.nodeEditor.Highlighter$9.compute(Highlighter.java:439) at jetbrains.mps.nodeEditor.Highlighter$9.compute(Highlighter.java:402) at jetbrains.mps.nodeEditor.Highlighter.runUpdateMessagesAction(Highlighter.java:397) at jetbrains.mps.nodeEditor.Highlighter.updateEditorComponent(Highlighter.java:402) at jetbrains.mps.nodeEditor.Highlighter.doUpdate(Highlighter.java:328) at jetbrains.mps.nodeEditor.Highlighter$HighlighterThread.run(Highlighter.java:604)

jetbrains.mps.lang.smodel.generator.smodelAdapter.NodeCastException: Can't cast com.mbeddr.ext.components.structure.ClientServerInterface to com.mbeddr.core.expressions.structure.IDataflowVariable at jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations.cast(SNodeOperations.java:645) at com.mbeddr.core.unittest.dataFlow.TestCase_DataFlow.build(TestCase_DataFlow.java:40) at jetbrains.mps.lang.dataFlow.MPSProgramBuilder.doBuild(MPSProgramBuilder.java:30) at jetbrains.mps.lang.dataFlow.MPSProgramBuilder.doBuild(MPSProgramBuilder.java:13) at jetbrains.mps.lang.dataFlow.framework.StructuralProgramBuilder.build(StructuralProgramBuilder.java:45) at jetbrains.mps.lang.dataFlow.framework.StructuralProgramBuilder.buildProgram(StructuralProgramBuilder.java:33) at jetbrains.mps.lang.dataFlow.DataFlowManager.buildProgramFor(DataFlowManager.java:57) at jetbrains.mps.lang.dataFlow.DataFlow.buildProgram(DataFlow.java:25) at com.mbeddr.core.modules.typesystem.DataFlowUtil.checkUnusedVariables(DataFlowUtil.java:166) at com.mbeddr.core.modules.typesystem.check_UnusedVariables_NonTypesystemRule.applyRule(check_UnusedVariables_NonTypesystemRule.java:23) at jetbrains.mps.newTypesystem.NodeTypesComponent.applyRuleToNode(NodeTypesComponent.java:149) at jetbrains.mps.newTypesystem.NonTypeSystemComponent.applyNonTypesystemRulesToNode(NonTypeSystemComponent.java:319) at jetbrains.mps.newTypesystem.NonTypeSystemComponent.applyNonTypeSystemRulesToRoot(NonTypeSystemComponent.java:283) at jetbrains.mps.newTypesystem.NodeTypesComponent.applyNonTypesystemRulesToRoot(NodeTypesComponent.java:217) at jetbrains.mps.typesystem.checking.TypesEditorChecker$1.run(TypesEditorChecker.java:78) at jetbrains.mps.newTypesystem.TypeCheckingContextNew.runTypeCheckingAction(TypeCheckingContextNew.java:467) at jetbrains.mps.typesystem.checking.TypesEditorChecker.createMessages(TypesEditorChecker.java:58) at jetbrains.mps.nodeEditor.checking.BaseEditorChecker$1.run(BaseEditorChecker.java:36) at jetbrains.mps.nodeEditor.checking.BaseEditorChecker.performUninterruptableAction(BaseEditorChecker.java:116) at jetbrains.mps.nodeEditor.checking.BaseEditorChecker.createMessagesProtected(BaseEditorChecker.java:34) at jetbrains.mps.nodeEditor.Highlighter$11.compute(Highlighter.java:498) at jetbrains.mps.nodeEditor.Highlighter$11.compute(Highlighter.java:481) at jetbrains.mps.nodeEditor.Highlighter$13.compute(Highlighter.java:562) at jetbrains.mps.ide.smodel.WorkbenchModelAccess$3.compute(WorkbenchModelAccess.java:138) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:888) at jetbrains.mps.ide.smodel.WorkbenchModelAccess.runReadAction(WorkbenchModelAccess.java:134) at jetbrains.mps.nodeEditor.Highlighter.runLoPrioRead(Highlighter.java:558) at jetbrains.mps.nodeEditor.Highlighter.updateEditor(Highlighter.java:481) at jetbrains.mps.nodeEditor.Highlighter.access$1000(Highlighter.java:56) at jetbrains.mps.nodeEditor.Highlighter$9.compute(Highlighter.java:439) at jetbrains.mps.nodeEditor.Highlighter$9.compute(Highlighter.java:402) at jetbrains.mps.nodeEditor.Highlighter.runUpdateMessagesAction(Highlighter.java:397) at jetbrains.mps.nodeEditor.Highlighter.updateEditorComponent(Highlighter.java:402) at jetbrains.mps.nodeEditor.Highlighter.doUpdate(Highlighter.java:328) at jetbrains.mps.nodeEditor.Highlighter$HighlighterThread.run(Highlighter.java:604)

jetbrains.mps.lang.smodel.generator.smodelAdapter.NodeCastException: Can't cast com.mbeddr.ext.components.structure.ClientServerInterface to com.mbeddr.core.expressions.structure.IDataflowVariable at jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations.cast(SNodeOperations.java:645) at com.mbeddr.core.unittest.dataFlow.TestCase_DataFlow.build(TestCase_DataFlow.java:40) at jetbrains.mps.lang.dataFlow.MPSProgramBuilder.doBuild(MPSProgramBuilder.java:30) at jetbrains.mps.lang.dataFlow.MPSProgramBuilder.doBuild(MPSProgramBuilder.java:13) at jetbrains.mps.lang.dataFlow.framework.StructuralProgramBuilder.build(StructuralProgramBuilder.java:45) at jetbrains.mps.lang.dataFlow.framework.StructuralProgramBuilder.buildProgram(StructuralProgramBuilder.java:33) at jetbrains.mps.lang.dataFlow.DataFlowManager.buildProgramFor(DataFlowManager.java:57) at jetbrains.mps.lang.dataFlow.DataFlow.buildProgram(DataFlow.java:25) at com.mbeddr.core.modules.typesystem.DataFlowUtil.checkUninitializedReads(DataFlowUtil.java:114) at com.mbeddr.core.modules.typesystem.check_UninitializedReads_NonTypesystemRule.applyRule(check_UninitializedReads_NonTypesystemRule.java:23) at jetbrains.mps.newTypesystem.NodeTypesComponent.applyRuleToNode(NodeTypesComponent.java:149) at jetbrains.mps.newTypesystem.NonTypeSystemComponent.applyNonTypesystemRulesToNode(NonTypeSystemComponent.java:319) at jetbrains.mps.newTypesystem.NonTypeSystemComponent.applyNonTypeSystemRulesToRoot(NonTypeSystemComponent.java:283) at jetbrains.mps.newTypesystem.NodeTypesComponent.applyNonTypesystemRulesToRoot(NodeTypesComponent.java:217) at jetbrains.mps.typesystem.checking.TypesEditorChecker$1.run(TypesEditorChecker.java:78) at jetbrains.mps.newTypesystem.TypeCheckingContextNew.runTypeCheckingAction(TypeCheckingContextNew.java:467) at jetbrains.mps.typesystem.checking.TypesEditorChecker.createMessages(TypesEditorChecker.java:58) at jetbrains.mps.nodeEditor.checking.BaseEditorChecker$1.run(BaseEditorChecker.java:36) at jetbrains.mps.nodeEditor.checking.BaseEditorChecker.performUninterruptableAction(BaseEditorChecker.java:116) at jetbrains.mps.nodeEditor.checking.BaseEditorChecker.createMessagesProtected(BaseEditorChecker.java:34) at jetbrains.mps.nodeEditor.Highlighter$11.compute(Highlighter.java:498) at jetbrains.mps.nodeEditor.Highlighter$11.compute(Highlighter.java:481) at jetbrains.mps.nodeEditor.Highlighter$13.compute(Highlighter.java:562) at jetbrains.mps.ide.smodel.WorkbenchModelAccess$3.compute(WorkbenchModelAccess.java:138) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:888) at jetbrains.mps.ide.smodel.WorkbenchModelAccess.runReadAction(WorkbenchModelAccess.java:134) at jetbrains.mps.nodeEditor.Highlighter.runLoPrioRead(Highlighter.java:558) at jetbrains.mps.nodeEditor.Highlighter.updateEditor(Highlighter.java:481) at jetbrains.mps.nodeEditor.Highlighter.access$1000(Highlighter.java:56) at jetbrains.mps.nodeEditor.Highlighter$9.compute(Highlighter.java:439) at jetbrains.mps.nodeEditor.Highlighter$9.compute(Highlighter.java:402) at jetbrains.mps.nodeEditor.Highlighter.runUpdateMessagesAction(Highlighter.java:397) at jetbrains.mps.nodeEditor.Highlighter.updateEditorComponent(Highlighter.java:402) at jetbrains.mps.nodeEditor.Highlighter.doUpdate(Highlighter.java:328) at jetbrains.mps.nodeEditor.Highlighter$HighlighterThread.run(Highlighter.java:604)

jetbrains.mps.lang.smodel.generator.smodelAdapter.NodeCastException: Can't cast com.mbeddr.ext.components.structure.ClientServerInterface to com.mbeddr.core.expressions.structure.IDataflowVariable at jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations.cast(SNodeOperations.java:645) at com.mbeddr.core.unittest.dataFlow.TestCase_DataFlow.build(TestCase_DataFlow.java:40) at jetbrains.mps.lang.dataFlow.MPSProgramBuilder.doBuild(MPSProgramBuilder.java:30) at jetbrains.mps.lang.dataFlow.MPSProgramBuilder.doBuild(MPSProgramBuilder.java:13) at jetbrains.mps.lang.dataFlow.framework.StructuralProgramBuilder.build(StructuralProgramBuilder.java:45) at jetbrains.mps.lang.dataFlow.framework.StructuralProgramBuilder.buildProgram(StructuralProgramBuilder.java:33) at jetbrains.mps.lang.dataFlow.DataFlowManager.buildProgramFor(DataFlowManager.java:57) at jetbrains.mps.lang.dataFlow.DataFlow.buildProgram(DataFlow.java:25) at com.mbeddr.core.modules.typesystem.DataFlowUtil.checkUnreachableCode(DataFlowUtil.java:88) at com.mbeddr.core.modules.typesystem.check_UnreachableCode_NonTypesystemRule.applyRule(check_UnreachableCode_NonTypesystemRule.java:23) at jetbrains.mps.newTypesystem.NodeTypesComponent.applyRuleToNode(NodeTypesComponent.java:149) at jetbrains.mps.newTypesystem.NonTypeSystemComponent.applyNonTypesystemRulesToNode(NonTypeSystemComponent.java:319) at jetbrains.mps.newTypesystem.NonTypeSystemComponent.applyNonTypeSystemRulesToRoot(NonTypeSystemComponent.java:283) at jetbrains.mps.newTypesystem.NodeTypesComponent.applyNonTypesystemRulesToRoot(NodeTypesComponent.java:217) at jetbrains.mps.typesystem.checking.TypesEditorChecker$1.run(TypesEditorChecker.java:78) at jetbrains.mps.newTypesystem.TypeCheckingContextNew.runTypeCheckingAction(TypeCheckingContextNew.java:467) at jetbrains.mps.typesystem.checking.TypesEditorChecker.createMessages(TypesEditorChecker.java:58) at jetbrains.mps.nodeEditor.checking.BaseEditorChecker$1.run(BaseEditorChecker.java:36) at jetbrains.mps.nodeEditor.checking.BaseEditorChecker.performUninterruptableAction(BaseEditorChecker.java:116) at jetbrains.mps.nodeEditor.checking.BaseEditorChecker.createMessagesProtected(BaseEditorChecker.java:34) at jetbrains.mps.nodeEditor.Highlighter$11.compute(Highlighter.java:498) at jetbrains.mps.nodeEditor.Highlighter$11.compute(Highlighter.java:481) at jetbrains.mps.nodeEditor.Highlighter$13.compute(Highlighter.java:562) at jetbrains.mps.ide.smodel.WorkbenchModelAccess$3.compute(WorkbenchModelAccess.java:138) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:888) at jetbrains.mps.ide.smodel.WorkbenchModelAccess.runReadAction(WorkbenchModelAccess.java:134) at jetbrains.mps.nodeEditor.Highlighter.runLoPrioRead(Highlighter.java:558) at jetbrains.mps.nodeEditor.Highlighter.updateEditor(Highlighter.java:481) at jetbrains.mps.nodeEditor.Highlighter.access$1000(Highlighter.java:56) at jetbrains.mps.nodeEditor.Highlighter$9.compute(Highlighter.java:439) at jetbrains.mps.nodeEditor.Highlighter$9.compute(Highlighter.java:402) at jetbrains.mps.nodeEditor.Highlighter.runUpdateMessagesAction(Highlighter.java:397) at jetbrains.mps.nodeEditor.Highlighter.updateEditorComponent(Highlighter.java:402) at jetbrains.mps.nodeEditor.Highlighter.doUpdate(Highlighter.java:328) at jetbrains.mps.nodeEditor.Highlighter$HighlighterThread.run(Highlighter.java:604)

markusvoelter commented 11 years ago

I think dataflow does not do any components stuff at all, does it?

ghost commented 11 years ago

No it doesn't. I have not implemented data flow builders for components. Currently I have to work on a presentation, afterwars I will take a look. But I don't know how much work it is to implement data flow builders for components.

2013/4/22 Markus Voelter notifications@github.com

I think dataflow does not do any components stuff at all, does it?

— Reply to this email directly or view it on GitHubhttps://github.com/mbeddr/mbeddr.core/issues/626#issuecomment-16784298 .

DomenikP commented 11 years ago

Not reproducable - closed.