EvaluationInputComponent (EvaluationMode mode, XExpression text) { text = XExpressionImpl.changeMode(text, mode); if (mode == EvaluationMode.EXPRESSION) { ExpressionInputComponent component = new ExpressionInputComponent(myProject, myEditorsProvider, "evaluateExpression", mySourcePosition, text, myDisposable, mySession != null); component.getInputEditor().setExpandHandler(() -> mySwitchModeAction.actionPerformed(null)); return component; } else { CodeFragmentInputComponent component = new CodeFragmentInputComponent(myProject, myEditorsProvider, mySourcePosition, text, getDimensionServiceKey() + ".splitter", myDisposable); component.getInputEditor().addCollapseButton(() -> mySwitchModeAction.actionPerformed(null)); return component; } }