当前位置: 首页>>代码示例>>Java>>正文


Java PsiExpressionStatement.getExpression方法代码示例

本文整理汇总了Java中com.intellij.psi.PsiExpressionStatement.getExpression方法的典型用法代码示例。如果您正苦于以下问题:Java PsiExpressionStatement.getExpression方法的具体用法?Java PsiExpressionStatement.getExpression怎么用?Java PsiExpressionStatement.getExpression使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.intellij.psi.PsiExpressionStatement的用法示例。


在下文中一共展示了PsiExpressionStatement.getExpression方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: visitExpressionStatement

import com.intellij.psi.PsiExpressionStatement; //导入方法依赖的package包/类
@Override
public void visitExpressionStatement(@NotNull PsiExpressionStatement statement) {
  super.visitExpressionStatement(statement);
  final PsiExpression expression = statement.getExpression();
  if (!(expression instanceof PsiNewExpression)) {
    return;
  }
  final PsiNewExpression newExpression = (PsiNewExpression)expression;
  final PsiExpression[] arrayDimensions = newExpression.getArrayDimensions();
  if (arrayDimensions.length != 0) {
    return;
  }
  if (newExpression.getArrayInitializer() != null) {
    return;
  }
  registerNewExpressionError(newExpression);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:ResultOfObjectAllocationIgnoredInspection.java

示例2: invoke

import com.intellij.psi.PsiExpressionStatement; //导入方法依赖的package包/类
@Override
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException
{
	PsiExpressionStatement statement = myPointer.getElement();
	if(statement == null)
	{
		return;
	}
	PsiExpression expression = statement.getExpression();
	List<PsiExpression> sideEffects = SideEffectChecker.extractSideEffectExpressions(expression);
	PsiStatement[] statements = StatementExtractor.generateStatements(sideEffects, expression);
	if(statements.length > 0)
	{
		BlockUtils.addBefore(statement, statements);
	}
	statement.delete();
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:18,代码来源:DeleteSideEffectsAwareFix.java

示例3: replaceSimplifiableAssignment

import com.intellij.psi.PsiExpressionStatement; //导入方法依赖的package包/类
private static void replaceSimplifiableAssignment(
  PsiIfStatement statement)
  throws IncorrectOperationException {
  final PsiExpression condition = statement.getCondition();
  if (condition == null) {
    return;
  }
  final String conditionText = condition.getText();
  final PsiStatement thenBranch = statement.getThenBranch();
  final PsiExpressionStatement assignmentStatement =
    (PsiExpressionStatement)
      ControlFlowUtils.stripBraces(thenBranch);
  final PsiAssignmentExpression assignmentExpression =
    (PsiAssignmentExpression)assignmentStatement.getExpression();
  final PsiJavaToken operator =
    assignmentExpression.getOperationSign();
  final String operand = operator.getText();
  final PsiExpression lhs = assignmentExpression.getLExpression();
  final String lhsText = lhs.getText();
  replaceStatement(statement,
                   lhsText + operand + conditionText + ';');
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:23,代码来源:TrivialIfInspection.java

示例4: replaceSimplifiableAssignmentNegated

import com.intellij.psi.PsiExpressionStatement; //导入方法依赖的package包/类
private static void replaceSimplifiableAssignmentNegated(
  PsiIfStatement statement)
  throws IncorrectOperationException {
  final PsiExpression condition = statement.getCondition();
  if (condition == null) {
    return;
  }
  final String conditionText =
    BoolUtils.getNegatedExpressionText(condition);
  final PsiStatement thenBranch = statement.getThenBranch();
  final PsiExpressionStatement assignmentStatement =
    (PsiExpressionStatement)
      ControlFlowUtils.stripBraces(thenBranch);
  final PsiAssignmentExpression assignmentExpression =
    (PsiAssignmentExpression)
      assignmentStatement.getExpression();
  final PsiJavaToken operator =
    assignmentExpression.getOperationSign();
  final String operand = operator.getText();
  final PsiExpression lhs = assignmentExpression.getLExpression();
  final String lhsText = lhs.getText();
  replaceStatement(statement,
                   lhsText + operand + conditionText + ';');
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:25,代码来源:TrivialIfInspection.java

示例5: DeleteSideEffectsAwareFix

import com.intellij.psi.PsiExpressionStatement; //导入方法依赖的package包/类
public DeleteSideEffectsAwareFix(PsiExpressionStatement statement)
{
	myPointer = SmartPointerManager.getInstance(statement.getProject()).createSmartPsiElementPointer(statement);
	PsiExpression expression = statement.getExpression();
	List<PsiExpression> sideEffects = SideEffectChecker.extractSideEffectExpressions(expression);
	if(sideEffects.isEmpty())
	{
		myMessage = JavaQuickFixBundle.message("delete.element.fix.text");
	}
	else if(sideEffects.size() == 1 && sideEffects.get(0) == PsiUtil.skipParenthesizedExprDown(expression))
	{
		// "Remove unnecessary parentheses" action is already present which will do the same
		myMessage = "";
	}
	else
	{
		PsiStatement[] statements = StatementExtractor.generateStatements(sideEffects, expression);
		if(statements.length == 1)
		{
			if(statements[0] instanceof PsiIfStatement)
			{
				myMessage = JavaQuickFixBundle.message("extract.side.effects.convert.to.if");
			}
			else
			{
				myMessage = JavaQuickFixBundle.message("extract.side.effects.single");
			}
		}
		else
		{
			myMessage = JavaQuickFixBundle.message("extract.side.effects.multiple");
		}
	}
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:35,代码来源:DeleteSideEffectsAwareFix.java

示例6: replaceSimplifiableImplicitAssignment

import com.intellij.psi.PsiExpressionStatement; //导入方法依赖的package包/类
private static void replaceSimplifiableImplicitAssignment(
  PsiIfStatement statement) throws IncorrectOperationException {
  final PsiElement prevStatement =
    PsiTreeUtil.skipSiblingsBackward(statement,
                                     PsiWhiteSpace.class);
  if (prevStatement == null) {
    return;
  }
  final PsiExpression condition = statement.getCondition();
  if (condition == null) {
    return;
  }
  final String conditionText = condition.getText();
  final PsiStatement thenBranch = statement.getThenBranch();
  final PsiExpressionStatement assignmentStatement =
    (PsiExpressionStatement)
      ControlFlowUtils.stripBraces(thenBranch);
  final PsiAssignmentExpression assignmentExpression =
    (PsiAssignmentExpression)assignmentStatement.getExpression();
  final PsiJavaToken operator =
    assignmentExpression.getOperationSign();
  final String operand = operator.getText();
  final PsiExpression lhs = assignmentExpression.getLExpression();
  final String lhsText = lhs.getText();
  replaceStatement(statement,
                   lhsText + operand + conditionText + ';');
  deleteElement(prevStatement);
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:29,代码来源:TrivialIfInspection.java

示例7: isSimplifiableAssignment

import com.intellij.psi.PsiExpressionStatement; //导入方法依赖的package包/类
public static boolean isSimplifiableAssignment(PsiIfStatement ifStatement) {
  PsiStatement thenBranch = ifStatement.getThenBranch();
  thenBranch = ControlFlowUtils.stripBraces(thenBranch);
  PsiStatement elseBranch = ifStatement.getElseBranch();
  elseBranch = ControlFlowUtils.stripBraces(elseBranch);
  if (ConditionalUtils.isAssignment(thenBranch, PsiKeyword.TRUE) &&
      ConditionalUtils.isAssignment(elseBranch, PsiKeyword.FALSE)) {
    final PsiExpressionStatement thenExpressionStatement =
      (PsiExpressionStatement)thenBranch;
    final PsiAssignmentExpression thenExpression =
      (PsiAssignmentExpression)
        thenExpressionStatement.getExpression();
    final PsiExpressionStatement elseExpressionStatement =
      (PsiExpressionStatement)elseBranch;
    final PsiAssignmentExpression elseExpression =
      (PsiAssignmentExpression)
        elseExpressionStatement.getExpression();
    final IElementType thenTokenType = thenExpression.getOperationTokenType();
    if (!thenTokenType.equals(elseExpression.getOperationTokenType())) {
      return false;
    }
    final PsiExpression thenLhs = thenExpression.getLExpression();
    final PsiExpression elseLhs = elseExpression.getLExpression();
    return EquivalenceChecker.getCanonicalPsiEquivalence().expressionsAreEquivalent(thenLhs,
                                                       elseLhs);
  }
  else {
    return false;
  }
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:31,代码来源:TrivialIfInspection.java

示例8: isSimplifiableAssignmentNegated

import com.intellij.psi.PsiExpressionStatement; //导入方法依赖的package包/类
public static boolean isSimplifiableAssignmentNegated(
  PsiIfStatement ifStatement) {
  PsiStatement thenBranch = ifStatement.getThenBranch();
  thenBranch = ControlFlowUtils.stripBraces(thenBranch);
  PsiStatement elseBranch = ifStatement.getElseBranch();
  elseBranch = ControlFlowUtils.stripBraces(elseBranch);
  if (ConditionalUtils.isAssignment(thenBranch, PsiKeyword.FALSE) &&
      ConditionalUtils.isAssignment(elseBranch, PsiKeyword.TRUE)) {
    final PsiExpressionStatement thenExpressionStatement =
      (PsiExpressionStatement)thenBranch;
    final PsiAssignmentExpression thenExpression =
      (PsiAssignmentExpression)
        thenExpressionStatement.getExpression();
    final PsiExpressionStatement elseExpressionStatement =
      (PsiExpressionStatement)elseBranch;
    final PsiAssignmentExpression elseExpression =
      (PsiAssignmentExpression)
        elseExpressionStatement.getExpression();
    final IElementType thenTokenType = thenExpression.getOperationTokenType();
    if (!thenTokenType.equals(elseExpression.getOperationTokenType())) {
      return false;
    }
    final PsiExpression thenLhs = thenExpression.getLExpression();
    final PsiExpression elseLhs = elseExpression.getLExpression();
    return EquivalenceChecker.getCanonicalPsiEquivalence().expressionsAreEquivalent(thenLhs,
                                                       elseLhs);
  }
  else {
    return false;
  }
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:32,代码来源:TrivialIfInspection.java

示例9: isSimplifiableImplicitAssignment

import com.intellij.psi.PsiExpressionStatement; //导入方法依赖的package包/类
public static boolean isSimplifiableImplicitAssignment(
  PsiIfStatement ifStatement) {
  if (ifStatement.getElseBranch() != null) {
    return false;
  }
  PsiStatement thenBranch = ifStatement.getThenBranch();
  thenBranch = ControlFlowUtils.stripBraces(thenBranch);
  final PsiElement nextStatement =
    PsiTreeUtil.skipSiblingsBackward(ifStatement,
                                     PsiWhiteSpace.class);
  if (!(nextStatement instanceof PsiStatement)) {
    return false;
  }
  PsiStatement elseBranch = (PsiStatement)nextStatement;
  elseBranch = ControlFlowUtils.stripBraces(elseBranch);
  if (ConditionalUtils.isAssignment(thenBranch, PsiKeyword.TRUE) &&
      ConditionalUtils.isAssignment(elseBranch, PsiKeyword.FALSE)) {
    final PsiExpressionStatement thenExpressionStatement =
      (PsiExpressionStatement)thenBranch;
    final PsiAssignmentExpression thenExpression =
      (PsiAssignmentExpression)
        thenExpressionStatement.getExpression();
    final PsiExpressionStatement elseExpressionStatement =
      (PsiExpressionStatement)elseBranch;
    final PsiAssignmentExpression elseExpression =
      (PsiAssignmentExpression)
        elseExpressionStatement.getExpression();
    final IElementType thenTokenType = thenExpression.getOperationTokenType();
    if (!thenTokenType.equals(elseExpression.getOperationTokenType())) {
      return false;
    }
    final PsiExpression thenLhs = thenExpression.getLExpression();
    final PsiExpression elseLhs = elseExpression.getLExpression();
    return EquivalenceChecker.getCanonicalPsiEquivalence().expressionsAreEquivalent(thenLhs,
                                                       elseLhs);
  }
  else {
    return false;
  }
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:41,代码来源:TrivialIfInspection.java

示例10: isSimplifiableImplicitAssignmentNegated

import com.intellij.psi.PsiExpressionStatement; //导入方法依赖的package包/类
public static boolean isSimplifiableImplicitAssignmentNegated(
  PsiIfStatement ifStatement) {
  if (ifStatement.getElseBranch() != null) {
    return false;
  }
  PsiStatement thenBranch = ifStatement.getThenBranch();
  thenBranch = ControlFlowUtils.stripBraces(thenBranch);
  final PsiElement nextStatement =
    PsiTreeUtil.skipSiblingsBackward(ifStatement,
                                     PsiWhiteSpace.class);
  if (!(nextStatement instanceof PsiStatement)) {
    return false;
  }
  PsiStatement elseBranch = (PsiStatement)nextStatement;
  elseBranch = ControlFlowUtils.stripBraces(elseBranch);
  if (ConditionalUtils.isAssignment(thenBranch, PsiKeyword.FALSE) &&
      ConditionalUtils.isAssignment(elseBranch, PsiKeyword.TRUE)) {
    final PsiExpressionStatement thenExpressionStatement =
      (PsiExpressionStatement)thenBranch;
    final PsiAssignmentExpression thenExpression =
      (PsiAssignmentExpression)
        thenExpressionStatement.getExpression();
    final PsiExpressionStatement elseExpressionStatement =
      (PsiExpressionStatement)elseBranch;
    final PsiAssignmentExpression elseExpression =
      (PsiAssignmentExpression)
        elseExpressionStatement.getExpression();
    final IElementType thenTokenType = thenExpression.getOperationTokenType();
    if (!thenTokenType.equals(elseExpression.getOperationTokenType())) {
      return false;
    }
    final PsiExpression thenLhs = thenExpression.getLExpression();
    final PsiExpression elseLhs = elseExpression.getLExpression();
    return EquivalenceChecker.getCanonicalPsiEquivalence().expressionsAreEquivalent(thenLhs,
                                                       elseLhs);
  }
  else {
    return false;
  }
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:41,代码来源:TrivialIfInspection.java


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