Introduce TypeConstructor#getBuiltIns
This commit is contained in:
+1
@@ -664,6 +664,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@NotNull
|
||||||
public ClassifierDescriptor getDeclarationDescriptor() {
|
public ClassifierDescriptor getDeclarationDescriptor() {
|
||||||
return LazyClassDescriptor.this;
|
return LazyClassDescriptor.this;
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -17,12 +17,14 @@
|
|||||||
package org.jetbrains.kotlin.descriptors.impl;
|
package org.jetbrains.kotlin.descriptors.impl;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||||
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor;
|
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.SourceElement;
|
import org.jetbrains.kotlin.descriptors.SourceElement;
|
||||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
|
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
|
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
|
||||||
import org.jetbrains.kotlin.name.Name;
|
import org.jetbrains.kotlin.name.Name;
|
||||||
|
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
|
||||||
import org.jetbrains.kotlin.storage.StorageManager;
|
import org.jetbrains.kotlin.storage.StorageManager;
|
||||||
import org.jetbrains.kotlin.types.JetType;
|
import org.jetbrains.kotlin.types.JetType;
|
||||||
import org.jetbrains.kotlin.types.TypeConstructor;
|
import org.jetbrains.kotlin.types.TypeConstructor;
|
||||||
@@ -82,6 +84,12 @@ public abstract class AbstractLazyTypeParameterDescriptor extends AbstractTypePa
|
|||||||
return AbstractLazyTypeParameterDescriptor.this.getAnnotations();
|
return AbstractLazyTypeParameterDescriptor.this.getAnnotations();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public KotlinBuiltIns getBuiltIns() {
|
||||||
|
return DescriptorUtilsKt.getBuiltIns(AbstractLazyTypeParameterDescriptor.this);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return getName().toString();
|
return getName().toString();
|
||||||
|
|||||||
+2
@@ -51,6 +51,8 @@ public class CapturedTypeConstructor(
|
|||||||
override fun getAnnotations() = Annotations.EMPTY
|
override fun getAnnotations() = Annotations.EMPTY
|
||||||
|
|
||||||
override fun toString() = "CapturedTypeConstructor($typeProjection)"
|
override fun toString() = "CapturedTypeConstructor($typeProjection)"
|
||||||
|
|
||||||
|
override fun getBuiltIns(): KotlinBuiltIns = typeProjection.type.constructor.builtIns
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CapturedType(
|
public class CapturedType(
|
||||||
|
|||||||
+5
-4
@@ -17,14 +17,11 @@
|
|||||||
package org.jetbrains.kotlin.resolve.constants
|
package org.jetbrains.kotlin.resolve.constants
|
||||||
|
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor
|
|
||||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||||
import org.jetbrains.kotlin.types.JetType
|
import org.jetbrains.kotlin.types.JetType
|
||||||
import org.jetbrains.kotlin.types.TypeConstructor
|
import org.jetbrains.kotlin.types.TypeConstructor
|
||||||
|
import java.util.*
|
||||||
import java.util.ArrayList
|
|
||||||
import java.util.Collections
|
|
||||||
|
|
||||||
public class IntegerValueTypeConstructor(
|
public class IntegerValueTypeConstructor(
|
||||||
private val value: Long,
|
private val value: Long,
|
||||||
@@ -62,5 +59,9 @@ public class IntegerValueTypeConstructor(
|
|||||||
|
|
||||||
public fun getValue(): Long = value
|
public fun getValue(): Long = value
|
||||||
|
|
||||||
|
override fun getBuiltIns(): KotlinBuiltIns {
|
||||||
|
return builtIns
|
||||||
|
}
|
||||||
|
|
||||||
override fun toString() = "IntegerValueType(" + value + ")"
|
override fun toString() = "IntegerValueType(" + value + ")"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,10 +17,13 @@
|
|||||||
package org.jetbrains.kotlin.types;
|
package org.jetbrains.kotlin.types;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor;
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor;
|
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor;
|
||||||
import org.jetbrains.kotlin.name.FqNameUnsafe;
|
import org.jetbrains.kotlin.name.FqNameUnsafe;
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorUtils;
|
import org.jetbrains.kotlin.resolve.DescriptorUtils;
|
||||||
|
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
|
||||||
|
|
||||||
public abstract class AbstractClassTypeConstructor implements TypeConstructor {
|
public abstract class AbstractClassTypeConstructor implements TypeConstructor {
|
||||||
private boolean hashCodeComputed;
|
private boolean hashCodeComputed;
|
||||||
@@ -35,6 +38,16 @@ public abstract class AbstractClassTypeConstructor implements TypeConstructor {
|
|||||||
return hashCode;
|
return hashCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public abstract ClassifierDescriptor getDeclarationDescriptor();
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public KotlinBuiltIns getBuiltIns() {
|
||||||
|
return DescriptorUtilsKt.getBuiltIns(getDeclarationDescriptor());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("EqualsWhichDoesntCheckParameterClass")
|
@SuppressWarnings("EqualsWhichDoesntCheckParameterClass")
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.descriptors.impl.*;
|
|||||||
import org.jetbrains.kotlin.incremental.components.LookupLocation;
|
import org.jetbrains.kotlin.incremental.components.LookupLocation;
|
||||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation;
|
import org.jetbrains.kotlin.incremental.components.NoLookupLocation;
|
||||||
import org.jetbrains.kotlin.name.Name;
|
import org.jetbrains.kotlin.name.Name;
|
||||||
|
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter;
|
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.JetScope;
|
import org.jetbrains.kotlin.resolve.scopes.JetScope;
|
||||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
|
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
|
||||||
@@ -635,6 +636,12 @@ public class ErrorUtils {
|
|||||||
public Annotations getAnnotations() {
|
public Annotations getAnnotations() {
|
||||||
return errorTypeConstructor.getAnnotations();
|
return errorTypeConstructor.getAnnotations();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public KotlinBuiltIns getBuiltIns() {
|
||||||
|
return DescriptorUtilsKt.getBuiltIns(typeParameterDescriptor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isFunctionPlaceholder(@Nullable JetType type) {
|
public static boolean isFunctionPlaceholder(@Nullable JetType type) {
|
||||||
@@ -706,6 +713,12 @@ public class ErrorUtils {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
return errorTypeConstructor.toString();
|
return errorTypeConstructor.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public KotlinBuiltIns getBuiltIns() {
|
||||||
|
return errorTypeConstructor.getBuiltIns();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private ErrorUtils() {}
|
private ErrorUtils() {}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.types;
|
package org.jetbrains.kotlin.types;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||||
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor;
|
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
|
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotatedImpl;
|
import org.jetbrains.kotlin.descriptors.annotations.AnnotatedImpl;
|
||||||
@@ -63,6 +64,12 @@ public class IntersectionTypeConstructor extends AnnotatedImpl implements TypeCo
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public KotlinBuiltIns getBuiltIns() {
|
||||||
|
return intersectedTypes.iterator().next().getConstructor().getBuiltIns();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return makeDebugNameForIntersectionType(intersectedTypes);
|
return makeDebugNameForIntersectionType(intersectedTypes);
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.types;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.annotations.ReadOnly;
|
import org.jetbrains.annotations.ReadOnly;
|
||||||
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||||
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor;
|
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
|
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotated;
|
import org.jetbrains.kotlin.descriptors.annotations.Annotated;
|
||||||
@@ -48,4 +49,7 @@ public interface TypeConstructor extends Annotated {
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
ClassifierDescriptor getDeclarationDescriptor();
|
ClassifierDescriptor getDeclarationDescriptor();
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
KotlinBuiltIns getBuiltIns();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,11 +18,13 @@ package org.jetbrains.kotlin.types;
|
|||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor;
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor;
|
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
|
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotatedImpl;
|
import org.jetbrains.kotlin.descriptors.annotations.AnnotatedImpl;
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
|
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
|
||||||
|
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@@ -84,7 +86,7 @@ public abstract class TypeConstructorImpl extends AnnotatedImpl implements TypeC
|
|||||||
private final ClassifierDescriptor classifierDescriptor;
|
private final ClassifierDescriptor classifierDescriptor;
|
||||||
|
|
||||||
private TypeConstructorImpl(
|
private TypeConstructorImpl(
|
||||||
@Nullable ClassifierDescriptor classifierDescriptor,
|
@NotNull ClassifierDescriptor classifierDescriptor,
|
||||||
@NotNull Annotations annotations,
|
@NotNull Annotations annotations,
|
||||||
boolean isFinal,
|
boolean isFinal,
|
||||||
@NotNull String debugName,
|
@NotNull String debugName,
|
||||||
@@ -131,6 +133,12 @@ public abstract class TypeConstructorImpl extends AnnotatedImpl implements TypeC
|
|||||||
return classifierDescriptor;
|
return classifierDescriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public KotlinBuiltIns getBuiltIns() {
|
||||||
|
return DescriptorUtilsKt.getBuiltIns(classifierDescriptor);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public abstract int hashCode();
|
public abstract int hashCode();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user