diff options
Diffstat (limited to 'java/java-psi-api/src/com/intellij/psi/LambdaUtil.java')
-rw-r--r-- | java/java-psi-api/src/com/intellij/psi/LambdaUtil.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java b/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java index fcf5e8945e7a..8ff42ca085a0 100644 --- a/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java @@ -477,6 +477,17 @@ public class LambdaUtil { return true; } + //JLS 14.8 Expression Statements + public static boolean isExpressionStatementExpression(PsiElement body) { + return body instanceof PsiAssignmentExpression || + body instanceof PsiPrefixExpression && + (((PsiPrefixExpression)body).getOperationTokenType() == JavaTokenType.PLUSPLUS || + ((PsiPrefixExpression)body).getOperationTokenType() == JavaTokenType.MINUSMINUS) || + body instanceof PsiPostfixExpression || + body instanceof PsiCallExpression || + body instanceof PsiReferenceExpression && !body.isPhysical(); + } + public static class TypeParamsChecker extends PsiTypeVisitor<Boolean> { private PsiMethod myMethod; private final PsiClass myClass; |