properly read final field from java code

This commit is contained in:
Stepan Koltsov
2012-01-17 19:33:03 +04:00
parent 1fc0d9b0f4
commit 7954938cb8
5 changed files with 16 additions and 6 deletions
@@ -1039,7 +1039,7 @@ public class JavaDescriptorResolver {
boolean isVar; boolean isVar;
if (members.getter == null && members.setter == null) { if (members.getter == null && members.setter == null) {
isVar = true; isVar = !members.field.isFinal();
} else { } else {
isVar = members.setter != null; isVar = members.setter != null;
} }
@@ -23,7 +23,11 @@ public class PsiMemberWrapper {
public boolean isPrivate() { public boolean isPrivate() {
return psiMember.hasModifierProperty(PsiModifier.PRIVATE); return psiMember.hasModifierProperty(PsiModifier.PRIVATE);
} }
public boolean isFinal() {
return psiMember.hasModifierProperty(PsiModifier.FINAL);
}
public String getName() { public String getName() {
return psiMember.getName(); return psiMember.getName();
} }
@@ -37,10 +37,6 @@ public class PsiMethodWrapper extends PsiMemberWrapper {
return getParameters().get(i); return getParameters().get(i);
} }
public boolean isFinal() {
return psiMember.hasModifierProperty(PsiModifier.FINAL);
}
private JetMethodAnnotation jetMethod; private JetMethodAnnotation jetMethod;
@NotNull @NotNull
public JetMethodAnnotation getJetMethod() { public JetMethodAnnotation getJetMethod() {
@@ -0,0 +1,5 @@
package test;
final class FinalFieldAsVal {
public final int f = 1;
}
@@ -0,0 +1,5 @@
package test
class FinalFieldAsVal() {
val f: Int = 1
}