本文整理匯總了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);
}