reading constructors from binary classes

This commit is contained in:
Stepan Koltsov
2012-01-08 23:21:59 +04:00
parent 6f04e7c3b0
commit 6d7e4cd030
7 changed files with 65 additions and 1 deletions
@@ -260,6 +260,18 @@ public class JavaDescriptorResolver {
}
else {
for (PsiMethod constructor : psiConstructors) {
PsiAnnotation jetConstructorAnnotation =
constructor.getModifierList().findAnnotation(JvmStdlibNames.JET_CONSTRUCTOR.getFqName());
if (jetConstructorAnnotation != null) {
PsiLiteralExpression hiddenExpresson = (PsiLiteralExpression) jetConstructorAnnotation.findAttributeValue(JvmStdlibNames.JET_CONSTRUCTOR_HIDDEN_FIELD);
if (hiddenExpresson != null) {
boolean hidden = (Boolean) hiddenExpresson.getValue();
if (hidden) {
continue;
}
}
}
ConstructorDescriptorImpl constructorDescriptor = new ConstructorDescriptorImpl(
classData.classDescriptor,
Collections.<AnnotationDescriptor>emptyList(), // TODO
@@ -29,6 +29,10 @@ public class JvmStdlibNames {
public static final JvmClassName JET_PROPERTY = new JvmClassName("jet.runtime.typeinfo.JetProperty");
public static final JvmClassName JET_CONSTRUCTOR = new JvmClassName("jet.runtime.typeinfo.JetConstructor");
public static final String JET_CONSTRUCTOR_HIDDEN_FIELD = "hidden";
public static final JvmClassName JET_CLASS = new JvmClassName("jet.runtime.typeinfo.JetClass");