read class data: hide methods
hide inherited Object and jet.JetObject methods, and special static methods
This commit is contained in:
+21
@@ -1219,6 +1219,27 @@ public class JavaDescriptorResolver {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (kotlin) {
|
||||
// TODO: unless maybe class explicitly extends Object
|
||||
String ownerClassName = method.getPsiMethod().getContainingClass().getQualifiedName();
|
||||
if (ownerClassName.equals("java.lang.Object")) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (method.getName().equals(JvmStdlibNames.JET_OBJECT_GET_TYPEINFO_METHOD) && method.getParameters().size() == 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (method.getName().equals(JvmStdlibNames.JET_OBJECT_GET_OUTER_OBJECT_METHOD) && method.getParameters().size() == 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// TODO: check signature
|
||||
if (method.getName().equals(JvmAbi.SET_TYPE_INFO_METHOD)) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
DeclarationDescriptor classDescriptor;
|
||||
final List<TypeParameterDescriptor> classTypeParameters;
|
||||
if (method.isStatic()) {
|
||||
|
||||
@@ -9,4 +9,6 @@ public class JvmAbi {
|
||||
public static final String GETTER_PREFIX = "get";
|
||||
public static final String SETTER_PREFIX = "set";
|
||||
public static final String PACKAGE_CLASS = "namespace";
|
||||
public static final String SET_TYPE_INFO_METHOD = "$setTypeInfo";
|
||||
public static final String TYPE_INFO_FIELD = "$typeInfo";
|
||||
}
|
||||
|
||||
@@ -50,6 +50,7 @@ public class JvmStdlibNames {
|
||||
public static final JvmClassName JET_OBJECT = new JvmClassName("jet.JetObject");
|
||||
|
||||
public static final String JET_OBJECT_GET_TYPEINFO_METHOD = "getTypeInfo";
|
||||
public static final String JET_OBJECT_GET_OUTER_OBJECT_METHOD = "getOuterObject";
|
||||
|
||||
|
||||
private JvmStdlibNames() {
|
||||
|
||||
@@ -23,5 +23,9 @@ public class PsiMemberWrapper {
|
||||
public boolean isPrivate() {
|
||||
return psiMember.hasModifierProperty(PsiModifier.PRIVATE);
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return psiMember.getName();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user