本文整理汇总了Java中com.siyeh.ig.psiutils.ExpressionUtils.isEvaluatedAtCompileTime方法的典型用法代码示例。如果您正苦于以下问题:Java ExpressionUtils.isEvaluatedAtCompileTime方法的具体用法?Java ExpressionUtils.isEvaluatedAtCompileTime怎么用?Java ExpressionUtils.isEvaluatedAtCompileTime使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.siyeh.ig.psiutils.ExpressionUtils
的用法示例。
在下文中一共展示了ExpressionUtils.isEvaluatedAtCompileTime方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: containsNonConstantConcatenation
import com.siyeh.ig.psiutils.ExpressionUtils; //导入方法依赖的package包/类
private boolean containsNonConstantConcatenation(@Nullable PsiExpression expression) {
if (expression instanceof PsiParenthesizedExpression) {
final PsiParenthesizedExpression parenthesizedExpression = (PsiParenthesizedExpression)expression;
return containsNonConstantConcatenation(parenthesizedExpression.getExpression());
}
else if (expression instanceof PsiPolyadicExpression) {
final PsiPolyadicExpression polyadicExpression = (PsiPolyadicExpression)expression;
if (!ExpressionUtils.hasStringType(polyadicExpression)) {
return false;
}
if (!JavaTokenType.PLUS.equals(polyadicExpression.getOperationTokenType())) {
return false;
}
final PsiExpression[] operands = polyadicExpression.getOperands();
for (PsiExpression operand : operands) {
if (!ExpressionUtils.isEvaluatedAtCompileTime(operand)) {
return true;
}
}
}
return false;
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:StringConcatenationArgumentToLogCallInspectionBase.java
示例2: containsNonConstantConcatenation
import com.siyeh.ig.psiutils.ExpressionUtils; //导入方法依赖的package包/类
private static boolean containsNonConstantConcatenation(@Nullable PsiExpression expression) {
if (expression instanceof PsiParenthesizedExpression) {
final PsiParenthesizedExpression parenthesizedExpression = (PsiParenthesizedExpression)expression;
return containsNonConstantConcatenation(parenthesizedExpression.getExpression());
}
else if (expression instanceof PsiPolyadicExpression) {
final PsiPolyadicExpression polyadicExpression = (PsiPolyadicExpression)expression;
if (!ExpressionUtils.hasStringType(polyadicExpression)) {
return false;
}
if (!JavaTokenType.PLUS.equals(polyadicExpression.getOperationTokenType())) {
return false;
}
final PsiExpression[] operands = polyadicExpression.getOperands();
for (PsiExpression operand : operands) {
if (!ExpressionUtils.isEvaluatedAtCompileTime(operand)) {
return true;
}
}
}
return false;
}
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:23,代码来源:StringConcatenationArgumentToLogCallInspection.java
示例3: isAvailable
import com.siyeh.ig.psiutils.ExpressionUtils; //导入方法依赖的package包/类
public static boolean isAvailable(PsiExpression expression) {
if (!(expression instanceof PsiPolyadicExpression)) {
return false;
}
final PsiPolyadicExpression polyadicExpression = (PsiPolyadicExpression)expression;
final PsiExpression[] operands = polyadicExpression.getOperands();
for (PsiExpression operand : operands) {
if (!ExpressionUtils.isEvaluatedAtCompileTime(operand)) {
return true;
}
}
return false;
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:14,代码来源:StringConcatenationArgumentToLogCallInspectionBase.java
示例4: visitPolyadicExpression
import com.siyeh.ig.psiutils.ExpressionUtils; //导入方法依赖的package包/类
@Override
public void visitPolyadicExpression(PsiPolyadicExpression expression) {
super.visitPolyadicExpression(expression);
final PsiExpression[] operands = expression.getOperands();
if (operands.length <= 1) {
return;
}
final IElementType tokenType = expression.getOperationTokenType();
if (!tokenType.equals(JavaTokenType.PLUS)) {
return;
}
final PsiType type = expression.getType();
if (!TypeUtils.isJavaLangString(type)) {
return;
}
if (!ControlFlowUtils.isInLoop(expression)) {
return;
}
if (ControlFlowUtils.isInExitStatement(expression)) {
return;
}
if (ExpressionUtils.isEvaluatedAtCompileTime(expression)) {
return;
}
if (containingStatementExits(expression)) {
return;
}
if (m_ignoreUnlessAssigned && !isAppendedRepeatedly(expression)) {
return;
}
final PsiJavaToken sign = expression.getTokenBeforeOperand(operands[1]);
registerError(sign);
}