Synthetic class object of enum should always be public

#KT-2834 Fixed
This commit is contained in:
Alexander Udalov
2013-11-14 20:33:57 +04:00
parent c63265bd69
commit e8089cc461
21 changed files with 60 additions and 57 deletions
@@ -428,7 +428,7 @@ public final class JavaClassResolver {
JavaEnumClassObjectDescriptor classObject = new JavaEnumClassObjectDescriptor(enumClass);
classObject.setModality(Modality.FINAL);
classObject.setVisibility(enumClass.getVisibility());
classObject.setVisibility(DescriptorUtils.getSyntheticClassObjectVisibility());
classObject.setTypeParameterDescriptors(Collections.<TypeParameterDescriptor>emptyList());
classObject.createTypeConstructor();
@@ -28,7 +28,6 @@ import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
import org.jetbrains.jet.lang.resolve.name.Name;
import org.jetbrains.jet.lang.resolve.name.SpecialNames;
import org.jetbrains.jet.lang.resolve.scopes.FilteringScope;
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
import org.jetbrains.jet.lang.types.*;
@@ -328,6 +327,11 @@ public class DescriptorUtils {
return Visibilities.PUBLIC;
}
@NotNull
public static Visibility getSyntheticClassObjectVisibility() {
return Visibilities.PUBLIC;
}
@NotNull
public static List<String> getSortedValueArguments(
@NotNull AnnotationDescriptor descriptor,