本文整理汇总了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);
}
示例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;
}
示例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);
}
示例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);
}
}
示例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);
}
}
示例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;
}
示例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);
}
示例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);
}
示例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());
}
示例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);
}
示例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);
}
};
}
示例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);
}
示例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);
}
}
示例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);
}
示例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(), "{}");
}