summaryrefslogtreecommitdiff
path: root/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java
diff options
context:
space:
mode:
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.java11
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;