From e2d6df7047b880c1085b4b579965a57c00069ab4 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Fri, 3 Jun 2011 19:23:54 +0400 Subject: [PATCH] JET-61 Support class objects JET-83 Interpret Java static methods as class objects' members --- .../jetbrains/jet/lang/resolve/ScopeWithReceiver.java | 3 +-- .../jet/lang/resolve/java/JavaDescriptorResolver.java | 11 ++++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/idea/src/org/jetbrains/jet/lang/resolve/ScopeWithReceiver.java b/idea/src/org/jetbrains/jet/lang/resolve/ScopeWithReceiver.java index 7a471f42015..db27c4cfa65 100644 --- a/idea/src/org/jetbrains/jet/lang/resolve/ScopeWithReceiver.java +++ b/idea/src/org/jetbrains/jet/lang/resolve/ScopeWithReceiver.java @@ -24,7 +24,6 @@ public class ScopeWithReceiver extends JetScopeImpl { @Override public FunctionGroup getFunctionGroup(@NotNull String name) { JetScope memberScope = receiverType.getMemberScope(); - assert memberScope != null : receiverType; FunctionGroup functionGroup = memberScope.getFunctionGroup(name); if (functionGroup.isEmpty()) { return outerScope.getFunctionGroup(name); @@ -47,7 +46,7 @@ public class ScopeWithReceiver extends JetScopeImpl { @Override public ClassifierDescriptor getClassifier(@NotNull String name) { - return super.getClassifier(name); // TODO + return receiverType.getMemberScope().getClassifier(name); } @Override diff --git a/idea/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/idea/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index 63c0ea900ca..0d9046d3543 100644 --- a/idea/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/idea/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -201,16 +201,17 @@ public class JavaDescriptorResolver { if (namespaceDescriptor == null) { // TODO : packages - PsiClass psiClass = javaFacade.findClass(qualifiedName, javaSearchScope); - if (psiClass == null) { +// PsiClass psiClass = javaFacade.findClass(qualifiedName, javaSearchScope); +// if (psiClass != null) { +// namespaceDescriptor = createJavaNamespaceDescriptor(psiClass); +// } +// else { PsiPackage psiPackage = javaFacade.findPackage(qualifiedName); if (psiPackage == null) { return null; } namespaceDescriptor = createJavaNamespaceDescriptor(psiPackage); - } else { - namespaceDescriptor = createJavaNamespaceDescriptor(psiClass); - } +// } namespaceDescriptorCache.put(qualifiedName, namespaceDescriptor); } return namespaceDescriptor;