From 34c227b8ed2f464a8ad64fb63014041e464d7540 Mon Sep 17 00:00:00 2001 From: Andrey Ponomarev Date: Thu, 21 Feb 2013 10:56:52 +0100 Subject: [PATCH] J2K: enum constants are non-nullable --- .../org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java | 3 +++ .../testData/ast/enum/class/enumConstantIsNotNull.jav | 7 +++++++ .../testData/ast/enum/class/enumConstantIsNotNull.kt | 8 ++++++++ 3 files changed, 18 insertions(+) create mode 100644 j2k/tests/testData/ast/enum/class/enumConstantIsNotNull.jav create mode 100644 j2k/tests/testData/ast/enum/class/enumConstantIsNotNull.kt diff --git a/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java b/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java index 7fefb7220e0..e922e22f32e 100644 --- a/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java +++ b/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java @@ -368,6 +368,9 @@ public class ExpressionVisitor extends StatementVisitor { private static boolean isResolvedToNotNull(PsiReference expression) { PsiElement target = expression.resolve(); + if (target instanceof PsiEnumConstant) { + return true; + } if (target instanceof PsiModifierListOwner) { return ConverterUtil.isAnnotatedAsNotNull(((PsiModifierListOwner) target).getModifierList()); } diff --git a/j2k/tests/testData/ast/enum/class/enumConstantIsNotNull.jav b/j2k/tests/testData/ast/enum/class/enumConstantIsNotNull.jav new file mode 100644 index 00000000000..b6dbf7edc50 --- /dev/null +++ b/j2k/tests/testData/ast/enum/class/enumConstantIsNotNull.jav @@ -0,0 +1,7 @@ +enum E { + FOO; + + void foo() { + FOO.toString(); + } +} \ No newline at end of file diff --git a/j2k/tests/testData/ast/enum/class/enumConstantIsNotNull.kt b/j2k/tests/testData/ast/enum/class/enumConstantIsNotNull.kt new file mode 100644 index 00000000000..01b17c5fc9b --- /dev/null +++ b/j2k/tests/testData/ast/enum/class/enumConstantIsNotNull.kt @@ -0,0 +1,8 @@ +enum class E { +FOO +fun foo() : Unit { +FOO.toString() +} +public fun name() : String { return "" } +public fun order() : Int { return 0 } +} \ No newline at end of file