JET-61 Support class objects

JET-83 Interpret Java static methods as class objects' members
This commit is contained in:
Andrey Breslav
2011-06-03 19:23:54 +04:00
parent 7e2e46ec71
commit e2d6df7047
2 changed files with 7 additions and 7 deletions
@@ -24,7 +24,6 @@ public class ScopeWithReceiver extends JetScopeImpl {
@Override @Override
public FunctionGroup getFunctionGroup(@NotNull String name) { public FunctionGroup getFunctionGroup(@NotNull String name) {
JetScope memberScope = receiverType.getMemberScope(); JetScope memberScope = receiverType.getMemberScope();
assert memberScope != null : receiverType;
FunctionGroup functionGroup = memberScope.getFunctionGroup(name); FunctionGroup functionGroup = memberScope.getFunctionGroup(name);
if (functionGroup.isEmpty()) { if (functionGroup.isEmpty()) {
return outerScope.getFunctionGroup(name); return outerScope.getFunctionGroup(name);
@@ -47,7 +46,7 @@ public class ScopeWithReceiver extends JetScopeImpl {
@Override @Override
public ClassifierDescriptor getClassifier(@NotNull String name) { public ClassifierDescriptor getClassifier(@NotNull String name) {
return super.getClassifier(name); // TODO return receiverType.getMemberScope().getClassifier(name);
} }
@Override @Override
@@ -201,16 +201,17 @@ public class JavaDescriptorResolver {
if (namespaceDescriptor == null) { if (namespaceDescriptor == null) {
// TODO : packages // TODO : packages
PsiClass psiClass = javaFacade.findClass(qualifiedName, javaSearchScope); // PsiClass psiClass = javaFacade.findClass(qualifiedName, javaSearchScope);
if (psiClass == null) { // if (psiClass != null) {
// namespaceDescriptor = createJavaNamespaceDescriptor(psiClass);
// }
// else {
PsiPackage psiPackage = javaFacade.findPackage(qualifiedName); PsiPackage psiPackage = javaFacade.findPackage(qualifiedName);
if (psiPackage == null) { if (psiPackage == null) {
return null; return null;
} }
namespaceDescriptor = createJavaNamespaceDescriptor(psiPackage); namespaceDescriptor = createJavaNamespaceDescriptor(psiPackage);
} else { // }
namespaceDescriptor = createJavaNamespaceDescriptor(psiClass);
}
namespaceDescriptorCache.put(qualifiedName, namespaceDescriptor); namespaceDescriptorCache.put(qualifiedName, namespaceDescriptor);
} }
return namespaceDescriptor; return namespaceDescriptor;