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


Java PsiJavaToken类代码示例

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


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

示例1: run

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
@Override
public void run() {
    // deleting old fields
    Stream.of(sourceJavaPsiClass.getAllFields())
            .peek(psiField -> System.out.println("going to delete field: " + psiField.getText()))
            .forEach(psiField -> psiField.delete());

    // deleting orphanage COMMAs
    Stream.of(sourceJavaPsiClass.getChildren())
            .filter(psiElement -> psiElement instanceof PsiJavaToken)
            .map(psiElement -> (PsiJavaToken) psiElement)
            .filter(psiJavaToken -> "COMMA".equals(psiJavaToken.getTokenType().toString()))
            .peek(psiJavaToken -> System.out.println("going to delete token:" + psiJavaToken))
            .forEach(psiElement -> psiElement.delete());

    // start of additions
    new ValueClass(extractedVariables, sourceClass).getGeneratedPsiElements(project).forEach(
            psiElement -> sourceJavaPsiClass.add(psiElement)
    );
    CodeStyleManager.getInstance(project).reformat(rootPsiFile);
    JavaCodeStyleManager.getInstance(project).shortenClassReferences(rootPsiFile);
}
 
开发者ID:Ingwersaft,项目名称:ValueClassGenerator,代码行数:23,代码来源:GeneratedValueWriter.java

示例2: select

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
@Override
public List<TextRange> select(PsiElement e, CharSequence editorText, int cursorOffset, Editor editor) {
  List<TextRange> result = new ArrayList<TextRange>();
  result.addAll(expandToWholeLine(editorText, e.getTextRange(), false));

  PsiTypeCastExpression expression = (PsiTypeCastExpression)e;
  PsiElement[] children = expression.getChildren();
  PsiElement lParen = null;
  PsiElement rParen = null;
  for (PsiElement child : children) {
    if (child instanceof PsiJavaToken) {
      PsiJavaToken token = (PsiJavaToken)child;
      if (token.getTokenType() == JavaTokenType.LPARENTH) lParen = token;
      if (token.getTokenType() == JavaTokenType.RPARENTH) rParen = token;
    }
  }

  if (lParen != null && rParen != null) {
    result.addAll(expandToWholeLine(editorText,
                                    new TextRange(lParen.getTextRange().getStartOffset(),
                                                  rParen.getTextRange().getEndOffset()),
                                    false));
  }

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

示例3: visitBinaryExpression

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
@Override
public void visitBinaryExpression(@NotNull PsiBinaryExpression expression) {
  super.visitBinaryExpression(expression);
  if (!ComparisonUtils.isEqualityComparison(expression)) {
    return;
  }
  final PsiExpression lhs = expression.getLOperand();
  if (!ExpressionUtils.hasStringType(lhs)) {
    return;
  }
  final PsiExpression rhs = expression.getROperand();
  if (rhs == null || !ExpressionUtils.hasStringType(rhs)) {
    return;
  }
  if (ExpressionUtils.isNullLiteral(lhs) || ExpressionUtils.isNullLiteral(rhs)) {
    return;
  }
  final PsiJavaToken sign = expression.getOperationSign();
  registerError(sign);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:21,代码来源:StringEqualityInspection.java

示例4: getTextForElement

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
public String getTextForElement(PsiElement element) {
  String operatorText = "";
  String flippedOperatorText = "";
  final PsiBinaryExpression expression = (PsiBinaryExpression)element;
  if (expression != null) {
    final PsiJavaToken sign = expression.getOperationSign();
    operatorText = sign.getText();
    flippedOperatorText =
      ComparisonUtils.getFlippedComparison(sign.getTokenType());
  }
  if (operatorText.equals(flippedOperatorText)) {
    return IntentionPowerPackBundle.message("flip.smth.intention.name",
                                            operatorText);
  }
  else {
    return IntentionPowerPackBundle.message(
      "flip.comparison.intention.name",
      operatorText, flippedOperatorText);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:21,代码来源:FlipComparisonIntention.java

示例5: getTextForElement

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
public String getTextForElement(PsiElement element) {
  String operatorText = "";
  String negatedOperatorText = "";
  final PsiBinaryExpression exp = (PsiBinaryExpression)element;
  if (exp != null) {
    final PsiJavaToken sign = exp.getOperationSign();
    operatorText = sign.getText();
    negatedOperatorText =
      ComparisonUtils.getNegatedComparison(sign.getTokenType());
  }
  if (operatorText.equals(negatedOperatorText)) {
    return IntentionPowerPackBundle.message(
      "negate.comparison.intention.name", operatorText);
  }
  else {
    return IntentionPowerPackBundle.message(
      "negate.comparison.intention.name1", operatorText,
      negatedOperatorText);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:21,代码来源:NegateComparisonIntention.java

示例6: satisfiedBy

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
public boolean satisfiedBy(PsiElement element) {
  if (!(element instanceof PsiJavaToken)) {
    return false;
  }
  final PsiJavaToken token = (PsiJavaToken)element;
  if (token.getTokenType() != JavaTokenType.IF_KEYWORD) {
    return false;
  }
  final PsiElement parent = element.getParent();
  if (!(parent instanceof PsiIfStatement)) {
    return false;
  }
  final PsiIfStatement statement = (PsiIfStatement)parent;
  if (ErrorUtil.containsError(statement)) {
    return false;
  }
  return SwitchUtils.getSwitchExpression(statement, 0) != null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:IfToSwitchPredicate.java

示例7: satisfiedBy

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
public boolean satisfiedBy(PsiElement element) {
  if (!(element instanceof PsiJavaToken)) {
    return false;
  }
  final PsiJavaToken token = (PsiJavaToken)element;
  final IElementType tokenType = token.getTokenType();
  if (!JavaTokenType.DO_KEYWORD.equals(tokenType)) {
    return false;
  }
  final PsiElement parent = element.getParent();
  if (!(parent instanceof PsiDoWhileStatement)) {
    return false;
  }
  final PsiDoWhileStatement doWhileStatement =
    (PsiDoWhileStatement)parent;
  return !(doWhileStatement.getCondition() == null ||
           doWhileStatement.getBody() == null);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:DoWhileLoopPredicate.java

示例8: satisfiedBy

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
public boolean satisfiedBy(PsiElement element) {
  if (!(element instanceof PsiJavaToken)) {
    return false;
  }
  final PsiJavaToken token = (PsiJavaToken)element;
  final IElementType tokenType = token.getTokenType();
  if (!JavaTokenType.WHILE_KEYWORD.equals(tokenType)) {
    return false;
  }
  final PsiElement parent = element.getParent();
  if (!(parent instanceof PsiWhileStatement)) {
    return false;
  }
  final PsiWhileStatement whileStatement = (PsiWhileStatement)parent;
  return !(whileStatement.getCondition() == null ||
           whileStatement.getBody() == null);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:WhileLoopPredicate.java

示例9: processIntention

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
@Override
public void processIntention(@NotNull PsiElement element) {
  final PsiJavaToken token = (PsiJavaToken)element;
  final PsiElement parent = token.getParent();
  if (!(parent instanceof PsiPolyadicExpression)) {
    return;
  }
  final PsiPolyadicExpression polyadicExpression = (PsiPolyadicExpression)parent;
  final PsiExpression[] operands = polyadicExpression.getOperands();
  final StringBuilder newExpression = new StringBuilder();
  String prevOperand = null;
  final String tokenText = token.getText() + ' '; // 2- -1 without the space is not legal
  for (PsiExpression operand : operands) {
    final PsiJavaToken token1 = polyadicExpression.getTokenBeforeOperand(operand);
    if (token == token1) {
      newExpression.append(operand.getText()).append(tokenText);
      continue;
    }
    if (prevOperand != null) {
      newExpression.append(prevOperand).append(tokenText);
    }
    prevOperand = operand.getText();
  }
  newExpression.append(prevOperand);
  PsiReplacementUtil.replaceExpression(polyadicExpression, newExpression.toString());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:27,代码来源:FlipExpressionIntention.java

示例10: satisfiedBy

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
public boolean satisfiedBy(PsiElement element) {
  if (!(element instanceof PsiJavaToken)) {
    return false;
  }
  final PsiElement parent = element.getParent();
  if (!(parent instanceof PsiPolyadicExpression)) {
    return false;
  }
  final PsiPolyadicExpression expression = (PsiPolyadicExpression)parent;
  final PsiExpression[] operands = expression.getOperands();
  if (operands.length < 2) {
    return false;
  }
  PsiExpression prevOperand = null;
  for (PsiExpression operand : operands) {
    final PsiJavaToken token = expression.getTokenBeforeOperand(operand);
    if (element == token) {
      if (prevOperand == null || operand.getText().equals(prevOperand.getText())) {
        return false;
      }
      break;
    }
    prevOperand = operand;
  }
  return !ComparisonUtils.isComparison(expression);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:27,代码来源:ExpressionPredicate.java

示例11: getElementPredicate

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
@NotNull
public PsiElementPredicate getElementPredicate() {
  return new PsiElementPredicate() {
    public boolean satisfiedBy(PsiElement element) {
      if (!(element instanceof PsiJavaToken)) {
        return false;
      }
      final PsiJavaToken token = (PsiJavaToken)element;
      final PsiElement parent = token.getParent();
      if (!(parent instanceof PsiIfStatement)) {
        return false;
      }
      return TrivialIfInspection.isTrivial((PsiIfStatement)parent);
    }
  };
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:SimplifyIfElseIntention.java

示例12: visitBinaryExpression

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
@Override
public void visitBinaryExpression(@NotNull PsiBinaryExpression expression) {
  super.visitBinaryExpression(expression);
  if (!ComparisonUtils.isEqualityComparison(expression)) {
    return;
  }
  final PsiExpression lhs = expression.getLOperand();
  if (!ExpressionUtils.hasStringType(lhs)) {
    return;
  }
  final PsiExpression rhs = expression.getROperand();
  if (rhs == null || !ExpressionUtils.hasStringType(rhs)) {
    return;
  }
  final String lhsText = lhs.getText();
  if (PsiKeyword.NULL.equals(lhsText)) {
    return;
  }
  final String rhsText = rhs.getText();
  if (PsiKeyword.NULL.equals(rhsText)) {
    return;
  }
  final PsiJavaToken sign = expression.getOperationSign();
  registerError(sign);
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:26,代码来源:StringEqualityInspection.java

示例13: getTextForElement

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
public String getTextForElement(PsiElement element) {
  String operatorText = "";
  String flippedOperatorText = "";
  final PsiBinaryExpression expression = (PsiBinaryExpression)element;
  if (expression != null) {
    final PsiJavaToken sign = expression.getOperationSign();
    operatorText = sign.getText();
    flippedOperatorText =
      ComparisonUtils.getFlippedComparison(sign);
  }
  if (operatorText.equals(flippedOperatorText)) {
    return IntentionPowerPackBundle.message("flip.smth.intention.name",
                                            operatorText);
  }
  else {
    return IntentionPowerPackBundle.message(
      "flip.comparison.intention.name",
      operatorText, flippedOperatorText);
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:21,代码来源:FlipComparisonIntention.java

示例14: processIntention

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
@Override
public void processIntention(@NotNull PsiElement element) {
  final PsiJavaToken token = (PsiJavaToken)element;
  final PsiElement parent = token.getParent();
  if (!(parent instanceof PsiPolyadicExpression)) {
    return;
  }
  final PsiPolyadicExpression polyadicExpression = (PsiPolyadicExpression)parent;
  final PsiExpression[] operands = polyadicExpression.getOperands();
  final StringBuilder newExpression = new StringBuilder();
  String prevOperand = null;
  final String tokenText = token.getText() + ' '; // 2- -1 without the space is not legal
  for (PsiExpression operand : operands) {
    final PsiJavaToken token1 = polyadicExpression.getTokenBeforeOperand(operand);
    if (token == token1) {
      newExpression.append(operand.getText()).append(tokenText);
      continue;
    }
    if (prevOperand != null) {
      newExpression.append(prevOperand).append(tokenText);
    }
    prevOperand = operand.getText();
  }
  newExpression.append(prevOperand);
  replaceExpression(newExpression.toString(), polyadicExpression);
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:27,代码来源:FlipExpressionIntention.java

示例15: apply

import com.intellij.psi.PsiJavaToken; //导入依赖的package包/类
@Override
public void apply(Editor editor, JavaSmartEnterProcessor processor, PsiElement psiElement) throws IncorrectOperationException
{
	if(!(psiElement instanceof PsiCatchSection))
	{
		return;
	}
	PsiCatchSection catchSection = (PsiCatchSection) psiElement;

	final Document doc = editor.getDocument();

	PsiCodeBlock body = catchSection.getCatchBlock();
	if(body != null && startLine(doc, body) == startLine(doc, catchSection))
	{
		return;
	}

	final PsiJavaToken rParenth = catchSection.getRParenth();
	if(rParenth == null)
	{
		return;
	}

	doc.insertString(rParenth.getTextRange().getEndOffset(), "{}");
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:26,代码来源:MissingCatchBodyFixer.java


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