JavaPackageFragmentDescriptor.getKind() introduced
This commit is contained in:
@@ -46,7 +46,6 @@ import org.jetbrains.jet.lang.resolve.java.mapping.KotlinToJavaTypesMap;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaPackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.scope.JavaClassStaticMembersScope;
|
||||
import org.jetbrains.jet.lang.resolve.java.scope.JavaFullPackageScope;
|
||||
import org.jetbrains.jet.lang.resolve.java.scope.JavaPurePackageScope;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
@@ -65,6 +64,7 @@ import static org.jetbrains.jet.codegen.AsmUtil.getTraitImplThisParameterType;
|
||||
import static org.jetbrains.jet.codegen.CodegenUtil.*;
|
||||
import static org.jetbrains.jet.codegen.FunctionTypesUtil.getFunctionTraitClassName;
|
||||
import static org.jetbrains.jet.codegen.binding.CodegenBinding.*;
|
||||
import static org.jetbrains.jet.lang.resolve.java.descriptor.JavaPackageFragmentDescriptor.Kind.CLASS_STATICS;
|
||||
|
||||
public class JetTypeMapper extends BindingTraceAware {
|
||||
|
||||
@@ -154,16 +154,11 @@ public class JetTypeMapper extends BindingTraceAware {
|
||||
}
|
||||
r.append(pathItem.shortName().asString());
|
||||
|
||||
JetScope memberScope = javaFragmentProvider.getPackageFragment(pathItem).getMemberScope();
|
||||
if (memberScope instanceof JavaClassStaticMembersScope) {
|
||||
r.append("$");
|
||||
}
|
||||
else if (memberScope instanceof JavaPurePackageScope || memberScope instanceof JavaFullPackageScope) {
|
||||
r.append("/");
|
||||
}
|
||||
else {
|
||||
throw new IllegalStateException("Unexpected scope: " + memberScope.getClass());
|
||||
JavaPackageFragmentDescriptor fragment = javaFragmentProvider.getPackageFragment(pathItem);
|
||||
if (fragment == null) {
|
||||
throw new IllegalStateException("Package fragment not found: " + pathItem);
|
||||
}
|
||||
r.append(fragment.getKind() == CLASS_STATICS ? "$" : "/");
|
||||
}
|
||||
|
||||
r.append(packageFragment.getName().asString());
|
||||
|
||||
+8
@@ -23,4 +23,12 @@ import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||
public interface JavaPackageFragmentDescriptor extends PackageFragmentDescriptor {
|
||||
@NotNull
|
||||
JavaDescriptorResolver getJavaDescriptorResolver();
|
||||
|
||||
enum Kind {
|
||||
PROPER,
|
||||
CLASS_STATICS,
|
||||
}
|
||||
|
||||
@NotNull
|
||||
Kind getKind();
|
||||
}
|
||||
|
||||
+6
@@ -26,6 +26,7 @@ import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.impl.DeclarationDescriptorImpl;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaPackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.scope.JavaClassStaticMembersScope;
|
||||
import org.jetbrains.jet.lang.resolve.java.scope.JavaPackageFragmentScope;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.types.TypeSubstitutor;
|
||||
@@ -59,6 +60,11 @@ public class JavaPackageFragmentDescriptorImpl extends DeclarationDescriptorImpl
|
||||
this.memberScope = scopeFactory.fun(this);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Kind getKind() {
|
||||
return memberScope instanceof JavaClassStaticMembersScope ? Kind.CLASS_STATICS : Kind.PROPER;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user