Giter Club home page Giter Club logo

iets3.opensource's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iets3.opensource's Issues

InfHelper.div(..., precision, ...) should call BigDecimal#divide() with a rounding mode

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.

Triggering checks based on localized changes

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.

Comparing postive value with negative in diehl table intervals

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)

Flaky tests

I have run ./gradlew check several times and sometimes I get 0 failures, some other times I get 2 failures

screen shot 2017-03-13 at 09 22 51

I cannot see something obviously wrong with those tests

Create node factory for ParenExpression

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.

Bug in inference of the MinusExpression on numbers

We have a case in which we think the inferred type is wrong.
When subtracting a value two values:

  • a: number[1|20]
  • b: number[1|10]

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

constraints for attribute copy in the flow language

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.

Fix ambiguous entries normal templates

"When the <Ctrl. name> shall " + parameterNode.name presentation is a bit ambiguous as the response comes before the system name in the requirement writing

Exception in org.iets3.core.expr.natlang.constraints.NatLangFunctionArgRef_Constraints

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)

analysis of models of the flow language

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.

An NPE could be due to missing coverage

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.

Create A Table Language for Diehl Requirements Analysis

Create a table language in MPS

  • Design the language
  • Develop/Implement the language
  • Create an editor for the table language
  • The visual editor should be as closely in visualization to the real table specified in the diehl requirement analysis document

Reference to FlowModel by name

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.

Perform checks on the table language for analysis

Using Constraints Check for Intervals (To, From) in the Table so that

  • No gaps between intervals
  • Values should not increase and decrease the thresholds set for increasing and decreasing part of the table

Having the precision being represented as a Constraint

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

Gradle and Readme

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?

Having declarative constraints

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.

Scoping Problem in writing new Requirements

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.

Sort out the table intervals

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)

  1. Radio button with action implemented
  2. checkbox with button to implement the action

Type synthesis

Structured type created on the fly based on a "projection" of data. Like Linq. H customer.

Dashboard States Visualisation

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...

Document ConstraintAndError

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?

Table Analysis - Continuous and No Overlaps

For an instance of the table Check for, if there

  • are continuous intervals/values and there are no holes or values missing
  • is no overlaps between the intervals/values. In case there is an overlap then the table cannot be represented as a function.

Concrete TraceKind(s) do not work any more

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)

EnumLiteralRef should be statically evaluatable

This:

public boolean isStaticallyEvaluatable() 
  overrides Expression.isStaticallyEvaluatable { 
  false; 
}

Should be:

public boolean isStaticallyEvaluatable() 
  overrides Expression.isStaticallyEvaluatable { 
  true; 
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.