• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java XExpression类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.intellij.xdebugger.XExpression的典型用法代码示例。如果您正苦于以下问题:Java XExpression类的具体用法?Java XExpression怎么用?Java XExpression使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



XExpression类属于com.intellij.xdebugger包,在下文中一共展示了XExpression类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: createExpressionCodeFragment

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
@Override
protected PsiFile createExpressionCodeFragment(@NotNull Project project,
                                               @NotNull XExpression expression,
                                               @Nullable PsiElement context,
                                               boolean isPhysical) {
  TextWithImports text = TextWithImportsImpl.fromXExpression(expression);
  if (text != null && context != null) {
    CodeFragmentFactory factory = DebuggerUtilsEx.findAppropriateCodeFragmentFactory(text, context);
    JavaCodeFragment codeFragment = factory.createPresentationCodeFragment(text, context, project);
    codeFragment.forceResolveScope(GlobalSearchScope.allScope(project));

    final PsiClass contextClass = PsiTreeUtil.getNonStrictParentOfType(context, PsiClass.class);
    if (contextClass != null) {
      final PsiClassType contextType =
        JavaPsiFacade.getInstance(codeFragment.getProject()).getElementFactory().createType(contextClass);
      codeFragment.setThisType(contextType);
    }
    return codeFragment;
  }
  else {
    return super.createExpressionCodeFragment(project, expression, context, isPhysical);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:24,代码来源:JavaDebuggerEditorsProvider.java


示例2: getRecents

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
@Nullable
private List<TextWithImports> getRecents() {
  final String recentsId = getRecentsId();
  if (recentsId != null) {
    final List<TextWithImports> result = new ArrayList<TextWithImports>();
    List<XExpression> recents = XDebuggerHistoryManager.getInstance(getProject()).getRecentExpressions(getRecentsId());
    for (XExpression expression : recents) {
      if (expression.getExpression().indexOf('\n') == -1) {
        result.add(TextWithImportsImpl.fromXExpression(expression));
      }
    }

    return result;
  }

  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:DebuggerExpressionComboBox.java


示例3: createDocument

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
@NotNull
@Override
public Document createDocument(@NotNull Project project,
                               @NotNull XExpression expression,
                               @Nullable XSourcePosition sourcePosition,
                               @NotNull EvaluationMode mode) {
  PsiElement context = null;
  if (sourcePosition != null) {
    context = getContextElement(sourcePosition.getFile(), sourcePosition.getOffset(), project);
  }

  PsiFile codeFragment = createExpressionCodeFragment(project, expression, context, true);
  Document document = PsiDocumentManager.getInstance(project).getDocument(codeFragment);
  assert document != null;
  return document;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:XDebuggerEditorsProviderBase.java


示例4: addRecentExpression

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
public boolean addRecentExpression(@NotNull @NonNls String id, @Nullable XExpression expression) {
  if (XDebuggerUtilImpl.isEmptyExpression(expression)) {
    return false;
  }

  LinkedList<XExpression> list = myRecentExpressions.get(id);
  if (list == null) {
    list = new LinkedList<XExpression>();
    myRecentExpressions.put(id, list);
  }
  if (list.size() == MAX_RECENT_EXPRESSIONS) {
    list.removeLast();
  }

  XExpression trimmedExpression = new XExpressionImpl(expression.getExpression().trim(), expression.getLanguage(), expression.getCustomInfo(), expression.getMode());
  list.remove(trimmedExpression);
  list.addFirst(trimmedExpression);
  return true;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:20,代码来源:XDebuggerHistoryManager.java


示例5: CodeFragmentInputComponent

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
public CodeFragmentInputComponent(final @NotNull Project project,
                                  @NotNull XDebuggerEditorsProvider editorsProvider,
                                  final @Nullable XSourcePosition sourcePosition,
                                  @Nullable XExpression statements,
                                  String splitterProportionKey,
                                  Disposable parentDisposable) {
  super(XDebuggerBundle.message("dialog.title.evaluate.code.fragment"));
  myMultilineEditor = new XDebuggerExpressionEditor(project, editorsProvider, "evaluateCodeFragment", sourcePosition,
                                                    statements != null ? statements : XExpressionImpl.EMPTY_CODE_FRAGMENT, true);
  myMainPanel = new JPanel(new BorderLayout());
  JPanel editorPanel = new JPanel(new BorderLayout());
  editorPanel.add(myMultilineEditor.getComponent(), BorderLayout.CENTER);
  DefaultActionGroup group = new DefaultActionGroup();
  group.add(new HistoryNavigationAction(false, IdeActions.ACTION_PREVIOUS_OCCURENCE, parentDisposable));
  group.add(new HistoryNavigationAction(true, IdeActions.ACTION_NEXT_OCCURENCE, parentDisposable));
  editorPanel.add(ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN, group, false).getComponent(), BorderLayout.EAST);
  //myMainPanel.add(new JLabel(XDebuggerBundle.message("xdebugger.label.text.code.fragment")), BorderLayout.NORTH);
  myMainPanel.add(editorPanel, BorderLayout.CENTER);
  if (statements != null) {
    myMultilineEditor.setExpression(statements);
  }
  mySplitterProportionKey = splitterProportionKey;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:24,代码来源:CodeFragmentInputComponent.java


示例6: showHistory

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
private void showHistory() {
  List<XExpression> expressions = myExpressionEditor.getRecentExpressions();
  if (!expressions.isEmpty()) {
    ListPopupImpl popup = new ListPopupImpl(new BaseListPopupStep<XExpression>(null, expressions) {
      @Override
      public PopupStep onChosen(XExpression selectedValue, boolean finalChoice) {
        myExpressionEditor.setExpression(selectedValue);
        myExpressionEditor.requestFocusInEditor();
        return FINAL_CHOICE;
      }
    }) {
      @Override
      protected ListCellRenderer getListElementRenderer() {
        return new ColoredListCellRenderer<XExpression>() {
          @Override
          protected void customizeCellRenderer(JList list, XExpression value, int index, boolean selected, boolean hasFocus) {
            append(value.getExpression());
          }
        };
      }
    };
    popup.getList().setFont(EditorUtil.getEditorFont());
    popup.showUnderneathOf(myExpressionEditor.getEditorComponent());
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:26,代码来源:ExpressionInputComponent.java


示例7: handle

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
@Override
protected void handle(final Project project, final String value, XDebuggerTree tree) {
  if (tree == null) return;
  List<? extends WatchNode> watchNodes = XWatchesTreeActionBase.getSelectedNodes(tree, WatchNode.class);
  if (watchNodes.isEmpty()) {
    CopyPasteManager.getInstance().setContents(new StringSelection(value));
  }
  else {
    CopyPasteManager.getInstance().setContents(
      new XWatchTransferable(value, ContainerUtil.map(watchNodes,
                                                      new Function<WatchNode, XExpression>() {
                                                        @Override
                                                        public XExpression fun(WatchNode node) {
                                                          return node.getExpression();
                                                        }
                                                      })));
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:XCopyValueAction.java


示例8: addWatchExpression

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
public void addWatchExpression(final @Nullable XDebuggerEvaluator evaluator,
                               final @NotNull XExpression expression,
                               int index, final boolean navigateToWatchNode) {
  WatchMessageNode message = evaluator != null ? WatchMessageNode.createEvaluatingNode(myTree, this, expression) : WatchMessageNode.createMessageNode(myTree, this, expression);
  if (index == -1) {
    myChildren.add(message);
    index = myChildren.size() - 1;
  }
  else {
    myChildren.add(index, message);
  }
  fireNodeInserted(index);
  if (navigateToWatchNode) {
    myTree.scrollPathToVisible(message.getPath());
  }
  if (evaluator != null) {
    evaluator.evaluate(expression, new MyEvaluationCallback(message), null);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:20,代码来源:WatchesRootNode.java


示例9: startComputingChildren

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
@Override
public void startComputingChildren() {
  if (Registry.is("debugger.watches.in.variables")) {
    XDebugSession session = XDebugView.getSession(getTree());
    XDebuggerEvaluator evaluator = getValueContainer().getEvaluator();
    if (session != null && evaluator != null) {
      XDebugSessionData data = ((XDebugSessionImpl)session).getSessionData();
      XExpression[] expressions = data.getWatchExpressions();
      for (final XExpression expression : expressions) {
        evaluator.evaluate(expression, new XDebuggerEvaluator.XEvaluationCallback() {
          @Override
          public void evaluated(@NotNull XValue result) {
            addChildren(XValueChildrenList.singleton(expression.getExpression(), result), false);
          }

          @Override
          public void errorOccurred(@NotNull String errorMessage) {
            // do not add anything
          }
        }, getValueContainer().getSourcePosition());
      }
    }
  }
  super.startComputingChildren();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:26,代码来源:XStackFrameNode.java


示例10: initEditor

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
private void initEditor() {
  myEditor = new EditorComboBoxEditor(getProject(), getEditorsProvider().getFileType()) {
    @Override
    public void setItem(Object anObject) {
      if (anObject == null) {
        anObject = XExpressionImpl.EMPTY_EXPRESSION;
      }
      super.setItem(createDocument(((XExpression)anObject)));
    }

    @Override
    protected void onEditorCreate(EditorEx editor) {
      editor.putUserData(DebuggerCopyPastePreprocessor.REMOVE_NEWLINES_ON_PASTE, true);
      editor.getColorsScheme().setEditorFontSize(myComboBox.getFont().getSize());
    }
  };
  myEditor.getEditorComponent().setFontInheritedFromLAF(false);
  myComboBox.setEditor(myEditor);
  //myEditor.setItem(myExpression);
  myComboBox.setRenderer(new EditorComboBoxRenderer(myEditor));
  myComboBox.setMaximumRowCount(XDebuggerHistoryManager.MAX_RECENT_EXPRESSIONS);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:XDebuggerExpressionComboBox.java


示例11: createLanguagePopup

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
private ListPopup createLanguagePopup() {
  DefaultActionGroup actions = new DefaultActionGroup();
  for (final Language language : getEditorsProvider().getSupportedLanguages(myProject, mySourcePosition)) {
    //noinspection ConstantConditions
    actions.add(new AnAction(language.getDisplayName(), null, language.getAssociatedFileType().getIcon()) {
      @Override
      public void actionPerformed(@NotNull AnActionEvent e) {
        XExpression currentExpression = getExpression();
        setExpression(new XExpressionImpl(currentExpression.getExpression(), language, currentExpression.getCustomInfo()));
        requestFocusInEditor();
      }
    });
  }

  DataContext dataContext = DataManager.getInstance().getDataContext(getComponent());
  return JBPopupFactory.getInstance().createActionGroupPopup("Choose language", actions, dataContext,
                                                             JBPopupFactory.ActionSelectionAid.SPEEDSEARCH,
                                                             false);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:20,代码来源:XDebuggerEditorBase.java


示例12: saveProperties

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
@Override
void saveProperties() {
  myBreakpoint.setLogMessage(myLogMessageCheckBox.isSelected());

  if (myBreakpoint instanceof XLineBreakpoint) {
    ((XLineBreakpoint)myBreakpoint).setTemporary(myTemporaryCheckBox.isSelected());
  }

  if (myLogExpressionComboBox != null) {
    XExpression expression = myLogExpressionComboBox.getExpression();
    XExpression logExpression = !XDebuggerUtilImpl.isEmptyExpression(expression) ? expression : null;
    myBreakpoint.setLogExpressionEnabled(logExpression == null || myLogExpressionCheckBox.isSelected());
    myBreakpoint.setLogExpressionObject(logExpression);
    myLogExpressionComboBox.saveTextInHistory();
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:XBreakpointActionsPanel.java


示例13: saveProperties

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
public void saveProperties() {
  for (XBreakpointPropertiesSubPanel<B> panel : mySubPanels) {
    panel.saveProperties();
  }

  if (myConditionComboBox != null) {
    XExpression expression = myConditionComboBox.getExpression();
    XExpression condition = !XDebuggerUtilImpl.isEmptyExpression(expression) ? expression : null;
    myBreakpoint.setConditionEnabled(condition == null || myConditionEnabledCheckbox.isSelected());
    myBreakpoint.setConditionExpression(condition);
    myConditionComboBox.saveTextInHistory();
  }

  for (XBreakpointCustomPropertiesPanel<B> customPanel : myCustomPanels) {
    customPanel.saveTo(myBreakpoint);
  }
  myBreakpoint.setEnabled(myEnabledCheckbox.isSelected());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:XLightBreakpointPropertiesPanel.java


示例14: updateSessionData

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
public void updateSessionData() {
  List<XExpression> watchExpressions = new ArrayList<XExpression>();
  final List<? extends WatchNode> children = myRootNode.getAllChildren();
  if (children != null) {
    for (WatchNode child : children) {
      watchExpressions.add(child.getExpression());
    }
  }

  XDebugSession session = getSession(getTree());
  XExpression[] expressions = watchExpressions.toArray(new XExpression[watchExpressions.size()]);
  if (session != null) {
    ((XDebugSessionImpl)session).setWatchExpressions(expressions);
  }
  else {
    XDebugSessionData data = getData(XDebugSessionData.DATA_KEY, getTree());
    if (data != null) {
      data.setWatchExpressions(expressions);
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:22,代码来源:XWatchesViewImpl.java


示例15: drop

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
@Override
public void drop(DnDEvent aEvent) {
  Object object = aEvent.getAttachedObject();
  if (object instanceof XValueNodeImpl[]) {
    final XValueNodeImpl[] nodes = (XValueNodeImpl[])object;
    for (XValueNodeImpl node : nodes) {
      node.getValueContainer().calculateEvaluationExpression().done(new Consumer<XExpression>() {
        @Override
        public void consume(XExpression expression) {
          if (expression != null) {
            //noinspection ConstantConditions
            addWatchExpression(expression, -1, false);
          }
        }
      });
    }
  }
  else if (object instanceof EventInfo) {
    String text = ((EventInfo)object).getTextForFlavor(DataFlavor.stringFlavor);
    if (text != null) {
      //noinspection ConstantConditions
      addWatchExpression(XExpressionImpl.fromText(text), -1, false);
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:26,代码来源:XWatchesViewImpl.java


示例16: MyTableEditor

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
public MyTableEditor(Project project,
                     XDebuggerEditorsProvider debuggerEditorsProvider,
                     @Nullable @NonNls String historyId,
                     @Nullable XSourcePosition sourcePosition, @NotNull XExpression text, @NotNull final KeyAdapter actionAdapter) {
  super(project, debuggerEditorsProvider, EvaluationMode.CODE_FRAGMENT, historyId, sourcePosition);
  myExpression = XExpressionImpl.changeMode(text, getMode());
  myEditorTextField = new EditorTextField(createDocument(myExpression), project, debuggerEditorsProvider.getFileType()) {
    @Override
    protected EditorEx createEditor() {
      final EditorEx editor = super.createEditor();
      editor.setVerticalScrollbarVisible(false);
      editor.setOneLineMode(true);
      editor.getContentComponent().addKeyListener(actionAdapter);
      return editor;
    }

    @Override
    protected boolean isOneLineMode() {
      return true;
    }
  };
  myEditorTextField.setFontInheritedFromLAF(false);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:24,代码来源:ArrayTableCellEditor.java


示例17: createBreakpoint

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
/**
 * Factory method that creates and returns a {@link Breakpoint} from a given
 * {@link XBreakpoint}.
 */
public static Breakpoint createBreakpoint(XBreakpoint breakpoint) {
    Breakpoint result = new Breakpoint(breakpoint.hashCode(),
            BreakpointClassifier.classify(breakpoint));

    // Initialize enabled and SuspendPolicy fields.
    result.setEnabled(breakpoint.isEnabled());
    result.setSuspendPolicy(breakpoint.getSuspendPolicy().ordinal());

    // Initialize hit count field.
    result.setHitCount(-1);
    if (breakpoint.getProperties() instanceof JavaBreakpointProperties) {
        JavaBreakpointProperties properties = (JavaBreakpointProperties) breakpoint.getProperties();
        if (properties.isCOUNT_FILTER_ENABLED()) {
            result.setHitCount(properties.getCOUNT_FILTER());
        }
    }

    // Initialize condition fields if available.
    XExpression condition = breakpoint.getConditionExpression();
    if (condition != null) {
        result.setCondition(condition.getExpression());
        result.setConditionEnabled(true);
    }
    return result;
}
 
开发者ID:TestRoots,项目名称:watchdog,代码行数:30,代码来源:BreakpointCreator.java


示例18: tryEvaluateBreakpointCondition

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
public boolean tryEvaluateBreakpointCondition(@NotNull DotNetThreadProxy threadProxy, final XLineBreakpoint<?> breakpoint, final DotNetDebugContext debugContext) throws Exception
{
	final XExpression conditionExpression = breakpoint.getConditionExpression();
	if(conditionExpression == null)
	{
		return true;
	}

	DotNetStackFrameProxy frame = threadProxy.getFrame(0);
	if(frame == null)
	{
		return true;
	}

	XValue value = evaluateBreakpointExpression(frame, breakpoint, conditionExpression, debugContext);
	if(value instanceof DotNetAbstractVariableValueNode)
	{
		DotNetValueProxy valueOfVariableSafe = ((DotNetAbstractVariableValueNode) value).getValueOfVariable();
		if(valueOfVariableSafe instanceof DotNetBooleanValueProxy)
		{
			return ((DotNetBooleanValueProxy) valueOfVariableSafe).getValue();
		}
	}
	return true;
}
 
开发者ID:consulo,项目名称:consulo-dotnet,代码行数:26,代码来源:DotNetBreakpointEngine.java


示例19: addRecentExpression

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
public boolean addRecentExpression(@Nonnull @NonNls String id, @Nullable XExpression expression) {
  if (expression == null || StringUtil.isEmptyOrSpaces(expression.getExpression())) {
    return false;
  }

  LinkedList<XExpression> list = myRecentExpressions.get(id);
  if (list == null) {
    list = new LinkedList<XExpression>();
    myRecentExpressions.put(id, list);
  }
  if (list.size() == MAX_RECENT_EXPRESSIONS) {
    list.removeLast();
  }

  XExpression trimmedExpression = new XExpressionImpl(expression.getExpression().trim(), expression.getLanguage(), expression.getCustomInfo());
  list.remove(trimmedExpression);
  list.addFirst(trimmedExpression);
  return true;
}
 
开发者ID:consulo,项目名称:consulo,代码行数:20,代码来源:XDebuggerHistoryManager.java


示例20: CodeFragmentInputComponent

import com.intellij.xdebugger.XExpression; //导入依赖的package包/类
public CodeFragmentInputComponent(final @Nonnull Project project,
                                  @Nonnull XDebuggerEditorsProvider editorsProvider,
                                  final @Nullable XSourcePosition sourcePosition,
                                  @Nullable XExpression statements,
                                  String splitterProportionKey,
                                  Disposable parentDisposable) {
  super(XDebuggerBundle.message("dialog.title.evaluate.code.fragment"));
  myMultilineEditor = new XDebuggerExpressionEditor(project, editorsProvider, "evaluateCodeFragment", sourcePosition,
                                                    statements != null ? statements : XExpressionImpl.EMPTY_CODE_FRAGMENT, true, true, false);
  myMainPanel = new JPanel(new BorderLayout());
  JPanel editorPanel = new JPanel(new BorderLayout());
  editorPanel.add(myMultilineEditor.getComponent(), BorderLayout.CENTER);
  DefaultActionGroup group = new DefaultActionGroup();
  group.add(new HistoryNavigationAction(false, IdeActions.ACTION_PREVIOUS_OCCURENCE, parentDisposable));
  group.add(new HistoryNavigationAction(true, IdeActions.ACTION_NEXT_OCCURENCE, parentDisposable));
  editorPanel.add(ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN, group, false).getComponent(), BorderLayout.EAST);
  //myMainPanel.add(new JLabel(XDebuggerBundle.message("xdebugger.label.text.code.fragment")), BorderLayout.NORTH);
  myMainPanel.add(editorPanel, BorderLayout.CENTER);
  if (statements != null) {
    myMultilineEditor.setExpression(statements);
  }
  mySplitterProportionKey = splitterProportionKey;
}
 
开发者ID:consulo,项目名称:consulo,代码行数:24,代码来源:CodeFragmentInputComponent.java



注:本文中的com.intellij.xdebugger.XExpression类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java SunriseSunsetCalculator类代码示例发布时间:2022-05-22
下一篇:
Java StatCB类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap