parse method in/out parameters
This commit is contained in:
committed by
Nikolay Krasko
parent
08647b4ae7
commit
a8640c1ec4
+2
-2
@@ -551,7 +551,7 @@ public class JavaDescriptorResolver {
|
||||
final List<TypeParameterDescriptor> r = new ArrayList<TypeParameterDescriptor>();
|
||||
new JetSignatureReader(jetSignature).acceptFormalTypeParametersOnly(new JetSignatureExceptionsAdapter() {
|
||||
@Override
|
||||
public JetSignatureVisitor visitFormalTypeParameter(final String name, TypeInfoVariance variance) {
|
||||
public JetSignatureVisitor visitFormalTypeParameter(final String name, final TypeInfoVariance variance) {
|
||||
|
||||
return new JetSignatureExceptionsAdapter() {
|
||||
int index = 0;
|
||||
@@ -582,7 +582,7 @@ public class JavaDescriptorResolver {
|
||||
functionDescriptor,
|
||||
Collections.<AnnotationDescriptor>emptyList(), // TODO: wrong
|
||||
true, // TODO: wrong
|
||||
Variance.INVARIANT, // TOOD: wrong
|
||||
JetSignatureUtils.translateVariance(variance),
|
||||
name,
|
||||
++index);
|
||||
r.add(typeParameter);
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package org.jetbrains.jet.lang.resolve.java;
|
||||
|
||||
import jet.typeinfo.TypeInfoVariance;
|
||||
import org.jetbrains.jet.lang.types.Variance;
|
||||
|
||||
/**
|
||||
* @author Stepan Koltsov
|
||||
*/
|
||||
public class JetSignatureUtils {
|
||||
|
||||
static {
|
||||
if (Variance.INVARIANT.ordinal() != TypeInfoVariance.INVARIANT.ordinal())
|
||||
throw new IllegalStateException();
|
||||
if (Variance.IN_VARIANCE.ordinal() != TypeInfoVariance.IN.ordinal())
|
||||
throw new IllegalStateException();
|
||||
if (Variance.OUT_VARIANCE.ordinal() != TypeInfoVariance.OUT.ordinal())
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
|
||||
public static TypeInfoVariance translateVariance(Variance variance) {
|
||||
return TypeInfoVariance.values()[variance.ordinal()];
|
||||
}
|
||||
|
||||
public static Variance translateVariance(TypeInfoVariance variance) {
|
||||
return Variance.values()[variance.ordinal()];
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user