JET-61 Support class objects
JET-83 Interpret Java static methods as class objects' members
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user