Separated 'initialized' and 'flags' fields to avoid confusing.

This commit is contained in:
Evgeny Gerashchenko
2012-09-27 16:35:36 +04:00
parent 44c1eb0594
commit 0d116be2cc
2 changed files with 7 additions and 5 deletions
@@ -25,18 +25,20 @@ import org.jetbrains.jet.lang.resolve.java.JvmStdlibNames;
* @since 6/14/12
*/
public abstract class PsiAnnotationWithFlags extends PsiAnnotationWrapper {
private int flags;
protected PsiAnnotationWithFlags(@Nullable PsiAnnotation psiAnnotation) {
super(psiAnnotation);
}
@Override
protected void initialize() {
initialized = getIntAttribute(JvmStdlibNames.JET_FLAGS_FIELD, JvmStdlibNames.FLAGS_DEFAULT_VALUE);
flags = getIntAttribute(JvmStdlibNames.JET_FLAGS_FIELD, JvmStdlibNames.FLAGS_DEFAULT_VALUE);
}
public final int flags() {
checkInitialized();
return initialized;
return flags;
}
public final boolean hasPropertyFlag() {
@@ -28,7 +28,7 @@ public abstract class PsiAnnotationWrapper {
@Nullable
private final PsiAnnotation psiAnnotation;
protected int initialized = -1;
private boolean initialized = false;
protected PsiAnnotationWrapper(@Nullable PsiAnnotation psiAnnotation) {
this.psiAnnotation = psiAnnotation;
@@ -41,9 +41,9 @@ public abstract class PsiAnnotationWrapper {
protected abstract void initialize();
protected void checkInitialized () {
if (initialized == -1) {
initialized = 0;
if (!initialized) {
initialize();
initialized = true;
}
}