iets3 / iets3.opensource Goto Github PK
View Code? Open in Web Editor NEWOpen Source Parts of IETS3
License: Apache License 2.0
Open Source Parts of IETS3
License: Apache License 2.0
Otherwise the following exception occurs:
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
at java.math.BigDecimal.divide(BigDecimal.java:1690)
at java.math.BigDecimal.divide(BigDecimal.java:1723)
at org.iets3.core.expr.simpleTypes.plugin.InfHelper.div(InfHelper.java:82)
at org.iets3.core.expr.simpleTypes.typesystem.TypesystemDescriptor$CustomOverloadedOperationsTypesProvider_d.getOperationType(TypesystemDescriptor.java:248)
at jetbrains.mps.lang.typesystem.runtime.OverloadedOperationsManager.getOperationType(OverloadedOperationsManager.java:86)
...
and the type of d1 / d2 is not computed properly in NumerTypeCalculation test.
The main idea is to trigger the property based on the localized changes made during composition of the model. In the initial attempt, there will be an appropriate change listener added to the model. The change listener will listen to the nodes of the concepts. The output will be a model-based change management system that will minimize the property execution for the flow dashboard.
The scoping of AtomicProperties should only be restricted to concepts of type ModelProperty (from language org.iets3.flow.property). Now the references are to any concept in the repository.
The problem arises when there is an interval values like we want to input values like To: 5 and From:-6 and constraints are unable to check for 5>-6 (5 greater then -6). We can only check for values that are either both positive or both negative (-5>-6) or (6<5) at present. This should be fixed for the intervals (i.e., both increasing and decreasing)
If I select an expression and replace it with a ParenExpression (either via the completion menu or by typing '('), the newly created ParenExpression should have the original expression as its child.
This can be done by creating a node factory for the ParenExpression concept.
We have a case in which we think the inferred type is wrong.
When subtracting a value two values:
The inferred type is: number[0|10]{0}
I would expect it to number[-9|19]{0}
I think the error should be corrected in r:050f6d52-a81b-4b31-9a1c-531c1a04708e/5115872837157441716
Here:
node<NumberType> left = leftOperandType : NumberType;
node<NumberType> right = rightOperandType : NumberType;
node<NumberType> res = new node<NumberType>();
res.setRange(InfHelper.sub(left.lowerBound(), right.lowerBound(), false), InfHelper.sub(left.upperBound(), right.upperBound(), false));
res.setMaxPrecision(left, right);
Because you want to subtract the left.lowerBound and the right.upperBound to get the lower bound, and to get the resulting upperbound you should subtract the left.upperBound and the right.lowerBound
In the scripts written using flow language we need to say not only which attributes need to be copied over when models are potentially created, but also to put some conditions on the copy. This can be achieved by adding arbitrary constraints on the copy using an expression language. This could be done using Markus' expression language.
"When the <Ctrl. name> shall " + parameterNode.name presentation is a bit ambiguous as the response comes before the system name in the requirement writing
how does a target define on what it can be used, opt or not?
Takes precond into account
fail expr in func w/o effect before it
java.lang.IllegalArgumentException: fromIndex(1) > toIndex(0)
at java.util.SubList.<init>(AbstractList.java:624)
at java.util.AbstractList.subList(AbstractList.java:484)
at jetbrains.mps.internal.collections.runtime.ListSequence.tailListSequence(ListSequence.java:38)
at org.iets3.core.expr.natlang.constraints.NatLangFunctionArgRef_Constraints$1$1.createSearchScopeOrListOfNodes(Unknown Source)
at jetbrains.mps.smodel.runtime.base.BaseReferenceScopeProvider.createSearchScope(BaseReferenceScopeProvider.java:39)
at jetbrains.mps.smodel.runtime.base.BaseReferenceScopeProvider.createScope(BaseReferenceScopeProvider.java:59)
at jetbrains.mps.smodel.constraints.ReferenceDescriptor$OkReferenceDescriptor.getScope(ReferenceDescriptor.java:131)
at jetbrains.mps.smodel.action.ChildSubstituteActionsHelper.createSmartReferenceActions(ChildSubstituteActionsHelper.java:245)
at jetbrains.mps.smodel.action.ChildSubstituteActionsHelper.createDefaultSubstituteActions(ChildSubstituteActionsHelper.java:205)
at jetbrains.mps.smodel.action.ChildSubstituteActionsHelper.createPrimaryChildSubstituteActions(ChildSubstituteActionsHelper.java:185)
at jetbrains.mps.smodel.action.ChildSubstituteActionsHelper.createActions_internal(ChildSubstituteActionsHelper.java:121)
at jetbrains.mps.smodel.action.ChildSubstituteActionsHelper.createActions(ChildSubstituteActionsHelper.java:60)
at jetbrains.mps.smodel.action.ModelActions.createChildNodeSubstituteActions(ModelActions.java:32)
at jetbrains.mps.nodeEditor.cellMenu.DefaultChildSubstituteInfo.createActions(DefaultChildSubstituteInfo.java:95)
at jetbrains.mps.nodeEditor.cellMenu.AbstractNodeSubstituteInfo.getActions(AbstractNodeSubstituteInfo.java:179)
at jetbrains.mps.nodeEditor.cellMenu.AbstractNodeSubstituteInfo.getActionsFromCache(AbstractNodeSubstituteInfo.java:220)
at jetbrains.mps.nodeEditor.cellMenu.AbstractNodeSubstituteInfo.access$000(AbstractNodeSubstituteInfo.java:48)
at jetbrains.mps.nodeEditor.cellMenu.AbstractNodeSubstituteInfo$2.compute(AbstractNodeSubstituteInfo.java:158)
at jetbrains.mps.nodeEditor.cellMenu.AbstractNodeSubstituteInfo$2.compute(AbstractNodeSubstituteInfo.java:155)
at jetbrains.mps.util.ComputeRunnable.compute(ComputeRunnable.java:32)
at jetbrains.mps.util.AbstractComputeRunnable.run(AbstractComputeRunnable.java:27)
at jetbrains.mps.smodel.WorkbenchModelAccess.runReadAction(WorkbenchModelAccess.java:97)
at jetbrains.mps.smodel.ModelAccessBase.runReadAction(ModelAccessBase.java:53)
at jetbrains.mps.smodel.ModelAccessHelper.runReadAction(ModelAccessHelper.java:44)
at jetbrains.mps.nodeEditor.cellMenu.AbstractNodeSubstituteInfo.getMatchingActions(AbstractNodeSubstituteInfo.java:155)
at de.slisson.mps.richtext.runtime.WordCellSubstituteInfo.getMatchingActions(WordCellSubstituteInfo.java:38)
at jetbrains.mps.nodeEditor.EditorComponent$30.lambda$compute$0(EditorComponent.java:2545)
at jetbrains.mps.typesystem.inference.TypeContextManager$Executor.doExecute(TypeContextManager.java:273)
at jetbrains.mps.typesystem.inference.TypeContextManager$Executor.execute(TypeContextManager.java:246)
at jetbrains.mps.typesystem.inference.TypeContextManager.runTypeCheckingComputation(TypeContextManager.java:120)
at jetbrains.mps.nodeEditor.EditorComponent$30.compute(EditorComponent.java:2543)
at jetbrains.mps.nodeEditor.EditorComponent$30.compute(EditorComponent.java:2539)
at jetbrains.mps.util.ComputeRunnable.compute(ComputeRunnable.java:32)
at jetbrains.mps.util.AbstractComputeRunnable.run(AbstractComputeRunnable.java:27)
at jetbrains.mps.smodel.WorkbenchModelAccess.runReadAction(WorkbenchModelAccess.java:97)
at jetbrains.mps.smodel.ModelAccessBase.runReadAction(ModelAccessBase.java:53)
at jetbrains.mps.nodeEditor.EditorComponent.runRead(EditorComponent.java:2451)
at jetbrains.mps.nodeEditor.EditorComponent.getMatchingActions(EditorComponent.java:2539)
at jetbrains.mps.nodeEditor.EditorComponent.activateNodeSubstituteChooser(EditorComponent.java:2513)
at jetbrains.mps.nodeEditor.EditorComponent.activateNodeSubstituteChooser(EditorComponent.java:2483)
at jetbrains.mps.nodeEditor.NodeEditorActions$Complete.execute(NodeEditorActions.java:689)
at jetbrains.mps.nodeEditor.actions.ActionHandlerImpl$1.doExecute(ActionHandlerImpl.java:56)
at jetbrains.mps.editor.runtime.commands.EditorCommand.run(EditorCommand.java:54)
at jetbrains.mps.smodel.WorkbenchModelAccess$CommandRunnable$1.run(WorkbenchModelAccess.java:632)
at jetbrains.mps.smodel.WriteActionDispatcher.run(WriteActionDispatcher.java:39)
at jetbrains.mps.smodel.WorkbenchModelAccess$3.run(WorkbenchModelAccess.java:136)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:898)
at jetbrains.mps.smodel.WorkbenchModelAccess.runWriteAction(WorkbenchModelAccess.java:145)
at jetbrains.mps.smodel.WorkbenchModelAccess$CommandRunnable.run(WorkbenchModelAccess.java:627)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:129)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:100)
at jetbrains.mps.smodel.WorkbenchModelAccess.runWriteActionInCommand(WorkbenchModelAccess.java:440)
at jetbrains.mps.smodel.WorkbenchModelAccess.executeCommand(WorkbenchModelAccess.java:403)
at jetbrains.mps.project.ProjectModelAccess.executeCommand(ProjectModelAccess.java:43)
at jetbrains.mps.nodeEditor.actions.ActionHandlerImpl.executeAction(ActionHandlerImpl.java:53)
at jetbrains.mps.nodeEditor.actions.ActionHandlerImpl.executeAction(ActionHandlerImpl.java:43)
at jetbrains.mps.nodeEditor.selection.EditorCellSelection.executeAction(EditorCellSelection.java:166)
at jetbrains.mps.nodeEditor.selection.EditorCellLabelSelection.executeAction(EditorCellLabelSelection.java:172)
at jetbrains.mps.ide.editor.actions.Complete_Action.doExecute(Complete_Action.java:59)
at jetbrains.mps.workbench.action.BaseAction$2.run(BaseAction.java:145)
at jetbrains.mps.workbench.action.BaseAction.actionPerformed(BaseAction.java:155)
at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:197)
at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:88)
at com.intellij.openapi.application.TransactionGuardImpl.submitTransactionAndWait(TransactionGuardImpl.java:156)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:211)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:587)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$processAction$132(IdeKeyEventDispatcher.java:634)
at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:199)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:633)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:477)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:211)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:609)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:387)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Currently When IFF is displayed as a separate concept, however, it would be better from design view to use IFF/If by means of Ctrl + Space.
The flow language can be analysed for overlapping conditions using Z3. Moreover, we can define semantic implications between properties or states, such that we know some more information about the flow. This information can be used for example to prevent more than one state being active simultaneously.
Note that I am not sure about the origin of this error, this is just a suspicion based on the following:
Caused by: com.mbeddr.mpsutil.interpreter.rt.InterpreterRuntimeException: RuntimeException in ||(left[boolean], right[boolean]) on {EXPRESSION REMOVED}:
null
at org.iets3.core.expr.simpleTypes.plugin.InterpreterExprSimpleTypesInterpeter$9.evaluateEvaluator(Unknown Source)
at com.mbeddr.mpsutil.interpreter.rt.InterpreterBase.evaluate(InterpreterBase.java:72)
... 51 more
Caused by: java.lang.NullPointerException
... 53 more
I suspect the piece of code corresponding is:
ListSequence.fromList(((List<IEvaluator>) evaluators)).addElement(new ConceptEvaluatorBase(MetaAdapterFactory.getConcept(0xcfaa4966b7d54b69L, 0xb66a309a6e1a7290L, 0x46ff3b3d86cbdcbbL, "org.iets3.core.expr.base.structure.LogicalOrExpression"), true, new TypedChildConstraintImpl(SLinkOperations.findLinkDeclaration(MetaAdapterFactory.getContainmentLink(0xcfaa4966b7d54b69L, 0xb66a309a6e1a7290L, 0x46ff3b3d86c99c15L, 0x46ff3b3d86c99c16L, "left")), SConceptOperations.createNewNode(SNodeOperations.asInstanceConcept(MetaAdapterFactory.getConcept(0x6b277d9ad52d416fL, 0xa2091919bd737f50L, 0x670d5e92f854a617L, "org.iets3.core.expr.simpleTypes.structure.BooleanType").getDeclarationNode()))), new TypedChildConstraintImpl(SLinkOperations.findLinkDeclaration(MetaAdapterFactory.getContainmentLink(0xcfaa4966b7d54b69L, 0xb66a309a6e1a7290L, 0x46ff3b3d86c99c15L, 0x46ff3b3d86c99c18L, "right")), SConceptOperations.createNewNode(SNodeOperations.asInstanceConcept(MetaAdapterFactory.getConcept(0x6b277d9ad52d416fL, 0xa2091919bd737f50L, 0x670d5e92f854a617L, "org.iets3.core.expr.simpleTypes.structure.BooleanType").getDeclarationNode())))) {
public Object evaluateEvaluator(SNode node, IContext context, ICoverageAnalyzer coverage) {
try {
coverage.visitedEvaluator(this);
coverage.visitedConcept(this.concept);
return ((Boolean) castUp(context.getRootInterpreter().evaluate(SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xcfaa4966b7d54b69L, 0xb66a309a6e1a7290L, 0x46ff3b3d86c99c15L, 0x46ff3b3d86c99c16L, "left")), context, coverage), Boolean.class)) || ((Boolean) castUp(context.getRootInterpreter().evaluate(SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xcfaa4966b7d54b69L, 0xb66a309a6e1a7290L, 0x46ff3b3d86c99c15L, 0x46ff3b3d86c99c18L, "right")), context, coverage), Boolean.class));
} catch (InterpreterEscapeException ex) {
throw ex;
} catch (RuntimeException ex) {
throw new InterpreterRuntimeException("||(left[boolean], right[boolean])", node, ex);
}
}
public EvaluatorInfo getInfo() {
return new EvaluatorInfo("LogicalOrExpression");
}
@Override
public String toString() {
return "LogicalOrExpression";
}
});
It comes from InterpreterExprSimpleTypesInterpeter.
Requires a group type
Create a table language in MPS
In the Dashboard we need to take a look at the hardcoded reference to the
"FlowModel" model. We should refer to it not by reference but by name,
because it does not exists at the beginning when the dashboard is not
configured yet. I didn't know how to do this immediately, but maybe
Salman does.
The developed language should also have a 2D visualisation of its instance.
The Idea is to develop a step function line graph that represents the interval values (increasing, decreasing and MWP) in 2D form.
At present when we start populating the table intervals (both min/max) the max value is underlined and marked red. This only happens to the first row of the table only. This is needs to be sorted out.
Using Constraints Check for Intervals (To, From) in the Table so that
I think it would be useful to have Type.applicableConstraints()
to include a Constraint representing the precision, as we have for the lower and upper bounds of Number
. To me it seems a constraint because it limits the acceptable values that can be assigned to an instance of that type.
For example if I have number{2}
I should not assign to it 1.234
The Readme refers to the ant script but a gradle script is present in the root of the project.
What is its intended usage? Should we explain what it is in the Readme?
The file deleted is build/iets3.opensource.allScripts/build-allScripts.xml
In my opinion it would be useful to have declarative constraints returned by Type.applicableConstraints()
. Currently they return an expression, which I could evaluate but I cannot easily translate in other contexts.
For example I could want to verify that constraint on JS. If the constraint was declarative (e.g., LowerBound(10)
) I could do easily.
For example casting to number{1}
the value 3.1234567
should produce 3.1
In a certain project we have our implementation of IRecordDeclaration with its own members (implementing IRecordMember). Now these special members can be used in RecordDeclarations because RecordDeclaration accept as children IRecordMember. Probably it would make sense to restrict the members to RecordMember.
When writing new requirements, after the selection of component name, response possibility of other components are also shown. The other components should be filtered so that only the relevant ooptions are shown.
At present the table intervals (both increasing/decreasing) have no particular order of values. But we would like to have values either in ascending or descending order.
Requirement:
The user can sort the intervals (increasing/decreasing) based on his/her choice of either by selecting the choice
Possible solution (tentative)
Structured type created on the fly based on a "projection" of data. Like Linq. H customer.
This is required to give the user a visual representation of the states that are already true and the ones that are not true (current state in which the user is) ... This could be achieved by having a table with all states listed and greens represent the states already satisfied and red ones that are yet to be satisfied...
It is not obvious what it does and how to use buildErrorMessage
. Should we use to check if there is an error and null
means everything is fine?
In the flow language only one start state should be possible
For an instance of the table Check for, if there
RealizesKind + DefaultTrace are not working properly. Scope calculation throws an exception:
'org.iets3.core.trace.test.structure.RealizesKind BHDescriptor'. [node r:578e0285-cf65-4b20-9ddc-fab98242f28a(iets3Components.mdl)/6819545094560286009] jetbrains.mps.core.aspects.behaviour.api.BHMethodNotFoundException: The method 'J(class java.lang.Object)::traceableElements([])V[PUB]' could not be found within the 'org.iets3.core.trace.test.structure.RealizesKind BHDescriptor'. at jetbrains.mps.core.aspects.behaviour.BaseBHDescriptor.findDescriptorByVirtualMethod(BaseBHDescriptor.java:372) at jetbrains.mps.core.aspects.behaviour.BaseBHDescriptor.invokeVirtual(BaseBHDescriptor.java:347) at jetbrains.mps.core.aspects.behaviour.BaseBHDescriptor.invoke(BaseBHDescriptor.java:218) at jetbrains.mps.core.aspects.behaviour.SMethodImpl.invoke0(SMethodImpl.java:155) at jetbrains.mps.core.aspects.behaviour.SMethodImpl.invoke(SMethodImpl.java:130) at org.iets3.core.trace.constraints.ITraceTargetProvider_Constraints$1$1.createScope(ITraceTargetProvider_Constraints.java:49) at jetbrains.mps.smodel.constraints.ReferenceDescriptor$OkReferenceDescriptor.getScope(ReferenceDescriptor.java:155) at jetbrains.mps.lang.editor.menus.substitute.SimpleConceptSubstituteMenuPart.createSmartSubstituteMenuItems(SimpleConceptSubstituteMenuPart.java:149) at jetbrains.mps.lang.editor.menus.substitute.SimpleConceptSubstituteMenuPart.createSmartItemsItems(SimpleConceptSubstituteMenuPart.java:77) at jetbrains.mps.lang.editor.menus.substitute.SimpleConceptSubstituteMenuPart.createItems(SimpleConceptSubstituteMenuPart.java:57) at jetbrains.mps.lang.editor.menus.substitute.SimpleConceptSubstituteMenuPart.createItems(SimpleConceptSubstituteMenuPart.java:42) at jetbrains.mps.lang.editor.menus.ConstraintsFilteringMenuPartDecorator.createItems(ConstraintsFilteringMenuPartDecorator.java:45) at jetbrains.mps.lang.editor.menus.CompositeMenuPart.createItems(CompositeMenuPart.java:36) at jetbrains.mps.lang.editor.menus.substitute.DefaultConceptSubstituteMenuPart.createItems(DefaultConceptSubstituteMenuPart.java:49) at jetbrains.mps.lang.editor.menus.substitute.DefaultConceptSubstituteMenuPart.createItems(DefaultConceptSubstituteMenuPart.java:33) at jetbrains.mps.lang.editor.menus.CompositeMenuPart.createItems(CompositeMenuPart.java:36) at jetbrains.mps.nodeEditor.menus.substitute.SubstituteMenuBase.createMenuItems(SubstituteMenuBase.java:44) at jetbrains.mps.nodeEditor.menus.substitute.SubstituteMenuBase.createMenuItems(SubstituteMenuBase.java:30) at jetbrains.mps.nodeEditor.menus.substitute.DefaultSubstituteMenuItemFactory.createItems(DefaultSubstituteMenuItemFactory.java:55) at jetbrains.mps.nodeEditor.menus.substitute.DefaultSubstituteMenuItemFactory.createItems(DefaultSubstituteMenuItemFactory.java:34) at jetbrains.mps.nodeEditor.menus.RecursionSafeMenuItemFactory.createItems(RecursionSafeMenuItemFactory.java:51) at jetbrains.mps.nodeEditor.menus.substitute.DefaultSubstituteMenuContext.createItems(DefaultSubstituteMenuContext.java:134) at jetbrains.mps.lang.editor.menus.substitute.DefaultConceptMenusSubstituteMenuPart.createItemsForConcept(DefaultConceptMenusSubstituteMenuPart.java:44) at jetbrains.mps.lang.editor.menus.substitute.DefaultConceptMenusSubstituteMenuPart.createItemsForConcept(DefaultConceptMenusSubstituteMenuPart.java:31) at jetbrains.mps.lang.editor.menus.ConceptMenusPart.createItems(ConceptMenusPart.java:35) at jetbrains.mps.lang.editor.menus.CompositeMenuPart.createItems(CompositeMenuPart.java:36) at jetbrains.mps.lang.editor.menus.substitute.DefaultConceptSubstituteMenuPart.createItems(DefaultConceptSubstituteMenuPart.java:49) at jetbrains.mps.lang.editor.menus.substitute.DefaultConceptSubstituteMenuPart.createItems(DefaultConceptSubstituteMenuPart.java:33) at jetbrains.mps.lang.editor.menus.CompositeMenuPart.createItems(CompositeMenuPart.java:36) at jetbrains.mps.nodeEditor.menus.substitute.SubstituteMenuBase.createMenuItems(SubstituteMenuBase.java:44) at jetbrains.mps.nodeEditor.menus.substitute.SubstituteMenuBase.createMenuItems(SubstituteMenuBase.java:30) at jetbrains.mps.nodeEditor.menus.substitute.DefaultSubstituteMenuItemFactory.createItems(DefaultSubstituteMenuItemFactory.java:55) at jetbrains.mps.nodeEditor.menus.substitute.DefaultSubstituteMenuItemFactory.createItems(DefaultSubstituteMenuItemFactory.java:34) at jetbrains.mps.nodeEditor.menus.RecursionSafeMenuItemFactory.createItems(RecursionSafeMenuItemFactory.java:51) at jetbrains.mps.nodeEditor.menus.substitute.DefaultSubstituteMenuContext.createItems(DefaultSubstituteMenuContext.java:134) at jetbrains.mps.lang.editor.menus.transformation.SubstituteItemsCollector.collect(SubstituteItemsCollector.java:62) at jetbrains.mps.lang.editor.menus.transformation.IncludeSubstituteMenuTransformationMenuPart.createItems(IncludeSubstituteMenuTransformationMenuPart.java:42) at jetbrains.mps.lang.editor.menus.transformation.IncludeSubstituteMenuTransformationMenuPart.createItems(IncludeSubstituteMenuTransformationMenuPart.java:32) at jetbrains.mps.lang.editor.menus.CompositeMenuPart.createItems(CompositeMenuPart.java:36) at jetbrains.mps.nodeEditor.menus.transformation.TransformationMenuBase.createMenuItems(TransformationMenuBase.java:43) at jetbrains.mps.nodeEditor.menus.transformation.TransformationMenuBase.createMenuItems(TransformationMenuBase.java:27) at jetbrains.mps.nodeEditor.menus.transformation.DefaultTransformationMenuItemFactory.createItems(DefaultTransformationMenuItemFactory.java:56) at jetbrains.mps.nodeEditor.menus.transformation.DefaultTransformationMenuItemFactory.createItems(DefaultTransformationMenuItemFactory.java:35) at jetbrains.mps.nodeEditor.menus.RecursionSafeMenuItemFactory.createItems(RecursionSafeMenuItemFactory.java:51) at jetbrains.mps.nodeEditor.menus.transformation.DefaultTransformationMenuContext.createItems(DefaultTransformationMenuContext.java:182) at jetbrains.mps.lang.editor.menus.transformation.DefaultConceptMenusTransformationMenuPart.createItemsForConcept(DefaultConceptMenusTransformationMenuPart.java:43) at jetbrains.mps.lang.editor.menus.transformation.DefaultConceptMenusTransformationMenuPart.createItemsForConcept(DefaultConceptMenusTransformationMenuPart.java:29) at jetbrains.mps.lang.editor.menus.ConceptMenusPart.createItems(ConceptMenusPart.java:35) at jetbrains.mps.lang.editor.menus.CompositeMenuPart.createItems(CompositeMenuPart.java:36) at jetbrains.mps.nodeEditor.menus.transformation.TransformationMenuBase.createMenuItems(TransformationMenuBase.java:43) at jetbrains.mps.nodeEditor.menus.transformation.TransformationMenuBase.createMenuItems(TransformationMenuBase.java:27) at jetbrains.mps.nodeEditor.menus.transformation.DefaultTransformationMenuItemFactory.createItems(DefaultTransformationMenuItemFactory.java:56) at jetbrains.mps.nodeEditor.menus.transformation.DefaultTransformationMenuItemFactory.createItems(DefaultTransformationMenuItemFactory.java:35) at jetbrains.mps.nodeEditor.menus.RecursionSafeMenuItemFactory.createItems(RecursionSafeMenuItemFactory.java:51) at jetbrains.mps.nodeEditor.menus.transformation.DefaultTransformationMenuContext.createItems(DefaultTransformationMenuContext.java:182) at jetbrains.mps.lang.editor.menus.transformation.DefaultConceptMenusTransformationMenuPart.createItemsForConcept(DefaultConceptMenusTransformationMenuPart.java:43) at jetbrains.mps.lang.editor.menus.transformation.DefaultConceptMenusTransformationMenuPart.createItemsForConcept(DefaultConceptMenusTransformationMenuPart.java:29) at jetbrains.mps.lang.editor.menus.ConceptMenusPart.createItems(ConceptMenusPart.java:35) at jetbrains.mps.lang.editor.menus.CompositeMenuPart.createItems(CompositeMenuPart.java:36) at jetbrains.mps.nodeEditor.menus.transformation.TransformationMenuBase.createMenuItems(TransformationMenuBase.java:43) at jetbrains.mps.nodeEditor.menus.transformation.TransformationMenuBase.createMenuItems(TransformationMenuBase.java:27) at jetbrains.mps.nodeEditor.menus.transformation.DefaultTransformationMenuItemFactory.createItems(DefaultTransformationMenuItemFactory.java:56) at jetbrains.mps.nodeEditor.menus.transformation.DefaultTransformationMenuItemFactory.createItems(DefaultTransformationMenuItemFactory.java:35) at jetbrains.mps.nodeEditor.menus.RecursionSafeMenuItemFactory.createItems(RecursionSafeMenuItemFactory.java:51) at jetbrains.mps.nodeEditor.menus.transformation.DefaultTransformationMenuContext.createItems(DefaultTransformationMenuContext.java:182) at jetbrains.mps.nodeEditor.menus.transformation.DefaultTransformationMenuContext.createItemsWithFallback(DefaultTransformationMenuContext.java:200) at jetbrains.mps.nodeEditor.menus.MenuUtil.createMenu(MenuUtil.java:70) at jetbrains.mps.nodeEditor.cellMenu.AbstractSubstituteInfo.createActions(AbstractSubstituteInfo.java:48) at jetbrains.mps.nodeEditor.cellMenu.AbstractNodeSubstituteInfo.getActions(AbstractNodeSubstituteInfo.java:179) at jetbrains.mps.nodeEditor.cellMenu.AbstractNodeSubstituteInfo.getActionsFromCache(AbstractNodeSubstituteInfo.java:220) at jetbrains.mps.nodeEditor.cellMenu.AbstractNodeSubstituteInfo.access$000(AbstractNodeSubstituteInfo.java:48) at jetbrains.mps.nodeEditor.cellMenu.AbstractNodeSubstituteInfo$2.compute(AbstractNodeSubstituteInfo.java:158) at jetbrains.mps.nodeEditor.cellMenu.AbstractNodeSubstituteInfo$2.compute(AbstractNodeSubstituteInfo.java:155) at jetbrains.mps.util.ComputeRunnable.compute(ComputeRunnable.java:32) at jetbrains.mps.util.AbstractComputeRunnable.run(AbstractComputeRunnable.java:27) at jetbrains.mps.smodel.WorkbenchModelAccess.runReadAction(WorkbenchModelAccess.java:100) at jetbrains.mps.smodel.ModelAccessBase.runReadAction(ModelAccessBase.java:53) at jetbrains.mps.smodel.ModelAccessHelper.runReadAction(ModelAccessHelper.java:44) at jetbrains.mps.nodeEditor.cellMenu.AbstractNodeSubstituteInfo.getMatchingActions(AbstractNodeSubstituteInfo.java:155) at jetbrains.mps.nodeEditor.EditorComponent$32.lambda$compute$0(EditorComponent.java:2575) at jetbrains.mps.typesystem.inference.TypeContextManager$Executor.doExecute(TypeContextManager.java:273) at jetbrains.mps.typesystem.inference.TypeContextManager$Executor.execute(TypeContextManager.java:246) at jetbrains.mps.typesystem.inference.TypeContextManager.runTypeCheckingComputation(TypeContextManager.java:120) at jetbrains.mps.nodeEditor.EditorComponent$32.compute(EditorComponent.java:2572) at jetbrains.mps.nodeEditor.EditorComponent$32.compute(EditorComponent.java:2568) at jetbrains.mps.util.ComputeRunnable.compute(ComputeRunnable.java:32) at jetbrains.mps.util.AbstractComputeRunnable.run(AbstractComputeRunnable.java:27) at jetbrains.mps.smodel.WorkbenchModelAccess.runReadAction(WorkbenchModelAccess.java:100) at jetbrains.mps.smodel.ModelAccessBase.runReadAction(ModelAccessBase.java:53) at jetbrains.mps.nodeEditor.EditorComponent.runRead(EditorComponent.java:2474) at jetbrains.mps.nodeEditor.EditorComponent.getMatchingActions(EditorComponent.java:2568) at jetbrains.mps.nodeEditor.EditorComponent.activateNodeSubstituteChooser(EditorComponent.java:2536) at jetbrains.mps.nodeEditor.EditorComponent.activateNodeSubstituteChooser(EditorComponent.java:2506) at jetbrains.mps.nodeEditor.NodeEditorActions$Complete.execute(NodeEditorActions.java:689) at jetbrains.mps.nodeEditor.actions.ActionHandlerImpl$1.doExecute(ActionHandlerImpl.java:56) at jetbrains.mps.editor.runtime.commands.EditorCommand.run(EditorCommand.java:54) at jetbrains.mps.smodel.WorkbenchModelAccess$CommandRunnable$1.run(WorkbenchModelAccess.java:616) at jetbrains.mps.smodel.WriteActionDispatcher.run(WriteActionDispatcher.java:39) at jetbrains.mps.smodel.WorkbenchModelAccess$3.run(WorkbenchModelAccess.java:139) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1023) at jetbrains.mps.smodel.WorkbenchModelAccess.runWriteAction(WorkbenchModelAccess.java:148) at jetbrains.mps.smodel.WorkbenchModelAccess$CommandRunnable.run(WorkbenchModelAccess.java:611) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:149) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:109) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:99) at jetbrains.mps.smodel.WorkbenchModelAccess.runWriteActionInCommand(WorkbenchModelAccess.java:424) at jetbrains.mps.smodel.WorkbenchModelAccess.executeCommand(WorkbenchModelAccess.java:387) at jetbrains.mps.project.ProjectModelAccess.executeCommand(ProjectModelAccess.java:43) at jetbrains.mps.nodeEditor.actions.ActionHandlerImpl.executeAction(ActionHandlerImpl.java:53) at jetbrains.mps.nodeEditor.actions.ActionHandlerImpl.executeAction(ActionHandlerImpl.java:43) at jetbrains.mps.nodeEditor.selection.EditorCellSelection.executeAction(EditorCellSelection.java:166) at jetbrains.mps.nodeEditor.selection.EditorCellLabelSelection.executeAction(EditorCellLabelSelection.java:172) at jetbrains.mps.ide.editor.actions.Complete_Action.doExecute(Complete_Action.java:59) at jetbrains.mps.workbench.action.BaseAction$2.run(BaseAction.java:145) at jetbrains.mps.workbench.action.BaseAction.actionPerformed(BaseAction.java:155) at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:215) at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:232) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:570) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$processAction$2(IdeKeyEventDispatcher.java:619) at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:193) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:618) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:477) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:211) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:633) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
This:
public boolean isStaticallyEvaluatable()
overrides Expression.isStaticallyEvaluatable {
false;
}
Should be:
public boolean isStaticallyEvaluatable()
overrides Expression.isStaticallyEvaluatable {
true;
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.