Load additional JDK functions into built-ins member scope
#KT-5990 Fixed #KT-7127 Fixed #KT-10370 Fixed
This commit is contained in:
@@ -28,5 +28,4 @@ class InstanceComponentDescriptor(val instance: Any) : ComponentDescriptor {
|
||||
override fun toString(): String {
|
||||
return "Instance: ${instance.javaClass.simpleName}"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+6
-1
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.analyzer.AnalysisResult;
|
||||
import org.jetbrains.kotlin.context.ContextKt;
|
||||
import org.jetbrains.kotlin.context.ModuleContext;
|
||||
import org.jetbrains.kotlin.context.MutableModuleContext;
|
||||
import org.jetbrains.kotlin.context.ProjectContext;
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider;
|
||||
import org.jetbrains.kotlin.descriptors.PackagePartProvider;
|
||||
@@ -161,9 +162,13 @@ public enum TopDownAnalyzerFacadeForJVM {
|
||||
|
||||
@NotNull
|
||||
public static MutableModuleContext createContextWithSealedModule(@NotNull Project project, @NotNull String moduleName) {
|
||||
ProjectContext projectContext = ContextKt.ProjectContext(project);
|
||||
JvmBuiltIns builtIns = new JvmBuiltIns(projectContext.getStorageManager());
|
||||
MutableModuleContext context = ContextKt.ContextForNewModule(
|
||||
project, Name.special("<" + moduleName + ">"), JvmPlatform.INSTANCE, JvmBuiltIns.getInstance()
|
||||
projectContext, Name.special("<" + moduleName + ">"), JvmPlatform.INSTANCE,
|
||||
builtIns
|
||||
);
|
||||
builtIns.setOwnerModuleDescriptor(context.getModule());
|
||||
context.setDependencies(context.getModule(), context.getBuiltIns().getBuiltInsModule());
|
||||
return context;
|
||||
}
|
||||
|
||||
+2
-1
@@ -17,12 +17,13 @@
|
||||
package org.jetbrains.kotlin.synthetic
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.load.java.descriptors.JavaCallableMemberDescriptor
|
||||
import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor
|
||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
||||
|
||||
fun FunctionDescriptor.hasJavaOriginInHierarchy(): Boolean {
|
||||
return if (original.overriddenDescriptors.isEmpty())
|
||||
containingDeclaration is JavaClassDescriptor
|
||||
this is JavaCallableMemberDescriptor || containingDeclaration is JavaClassDescriptor
|
||||
else
|
||||
original.overriddenDescriptors.any { it.hasJavaOriginInHierarchy() }
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.resolve.TargetEnvironment
|
||||
import org.jetbrains.kotlin.resolve.TargetPlatform
|
||||
import org.jetbrains.kotlin.resolve.createModule
|
||||
import org.jetbrains.kotlin.utils.singletonOrEmptyList
|
||||
import java.util.*
|
||||
|
||||
class ResolverForModule(
|
||||
@@ -155,7 +156,8 @@ abstract class AnalyzerFacade<in P : PlatformAnalysisParameters> {
|
||||
targetEnvironment: TargetEnvironment,
|
||||
builtIns: KotlinBuiltIns,
|
||||
delegateResolver: ResolverForProject<M> = EmptyResolverForProject(),
|
||||
packagePartProviderFactory: (M, ModuleContent) -> PackagePartProvider = { module, content -> PackagePartProvider.EMPTY }
|
||||
packagePartProviderFactory: (M, ModuleContent) -> PackagePartProvider = { module, content -> PackagePartProvider.EMPTY },
|
||||
firstDependency: M? = null
|
||||
): ResolverForProject<M> {
|
||||
val storageManager = projectContext.storageManager
|
||||
fun createResolverForProject(): ResolverForProjectImpl<M> {
|
||||
@@ -171,10 +173,11 @@ abstract class AnalyzerFacade<in P : PlatformAnalysisParameters> {
|
||||
val resolverForProject = createResolverForProject()
|
||||
|
||||
fun computeDependencyDescriptors(module: M): List<ModuleDescriptorImpl> {
|
||||
val dependenciesDescriptors = module.dependencies().mapTo(ArrayList<ModuleDescriptorImpl>()) {
|
||||
dependencyInfo ->
|
||||
resolverForProject.descriptorForModule(dependencyInfo as M)
|
||||
}
|
||||
val orderedDependencies = firstDependency.singletonOrEmptyList() + module.dependencies()
|
||||
val dependenciesDescriptors = orderedDependencies.mapTo(ArrayList<ModuleDescriptorImpl>()) {
|
||||
dependencyInfo ->
|
||||
resolverForProject.descriptorForModule(dependencyInfo as M)
|
||||
}
|
||||
module.dependencyOnBuiltIns().adjustDependencies(
|
||||
resolverForProject.descriptorForModule(module).builtIns.builtInsModule, dependenciesDescriptors)
|
||||
return dependenciesDescriptors
|
||||
|
||||
@@ -116,12 +116,11 @@ fun ContextForNewModule(
|
||||
}
|
||||
|
||||
fun ContextForNewModule(
|
||||
project: Project,
|
||||
projectContext: ProjectContext,
|
||||
moduleName: Name,
|
||||
targetPlatform: TargetPlatform,
|
||||
builtIns: KotlinBuiltIns
|
||||
): MutableModuleContext {
|
||||
val projectContext = ProjectContext(project)
|
||||
val module = targetPlatform.createModule(moduleName, projectContext.storageManager, builtIns)
|
||||
return MutableModuleContextImpl(module, projectContext)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,234 @@
|
||||
package-fragment kotlin.collections
|
||||
|
||||
public abstract class BooleanIterator : kotlin.collections.Iterator<kotlin.Boolean> {
|
||||
/*primary*/ public constructor BooleanIterator()
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Boolean
|
||||
public abstract fun nextBoolean(): kotlin.Boolean
|
||||
}
|
||||
|
||||
public abstract class ByteIterator : kotlin.collections.Iterator<kotlin.Byte> {
|
||||
/*primary*/ public constructor ByteIterator()
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Byte
|
||||
public abstract fun nextByte(): kotlin.Byte
|
||||
}
|
||||
|
||||
public abstract class CharIterator : kotlin.collections.Iterator<kotlin.Char> {
|
||||
/*primary*/ public constructor CharIterator()
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Char
|
||||
public abstract fun nextChar(): kotlin.Char
|
||||
}
|
||||
|
||||
public interface Collection</*0*/ out E> : kotlin.collections.Iterable<E> {
|
||||
public abstract val size: kotlin.Int
|
||||
public abstract fun <get-size>(): kotlin.Int
|
||||
public abstract operator fun contains(/*0*/ element: @kotlin.UnsafeVariance() E): kotlin.Boolean
|
||||
public abstract fun containsAll(/*0*/ elements: kotlin.collections.Collection<@kotlin.UnsafeVariance() E>): kotlin.Boolean
|
||||
public abstract fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ fun iterator(): kotlin.collections.Iterator<E>
|
||||
}
|
||||
|
||||
public abstract class DoubleIterator : kotlin.collections.Iterator<kotlin.Double> {
|
||||
/*primary*/ public constructor DoubleIterator()
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Double
|
||||
public abstract fun nextDouble(): kotlin.Double
|
||||
}
|
||||
|
||||
public abstract class FloatIterator : kotlin.collections.Iterator<kotlin.Float> {
|
||||
/*primary*/ public constructor FloatIterator()
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Float
|
||||
public abstract fun nextFloat(): kotlin.Float
|
||||
}
|
||||
|
||||
public abstract class IntIterator : kotlin.collections.Iterator<kotlin.Int> {
|
||||
/*primary*/ public constructor IntIterator()
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Int
|
||||
public abstract fun nextInt(): kotlin.Int
|
||||
}
|
||||
|
||||
public interface Iterable</*0*/ out T> {
|
||||
public abstract operator fun iterator(): kotlin.collections.Iterator<T>
|
||||
}
|
||||
|
||||
public interface Iterator</*0*/ out T> {
|
||||
public abstract operator fun hasNext(): kotlin.Boolean
|
||||
public abstract operator fun next(): T
|
||||
}
|
||||
|
||||
public interface List</*0*/ out E> : kotlin.collections.Collection<E> {
|
||||
public abstract override /*1*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ fun <get-size>(): kotlin.Int
|
||||
public abstract override /*1*/ fun contains(/*0*/ element: @kotlin.UnsafeVariance() E): kotlin.Boolean
|
||||
public abstract override /*1*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<@kotlin.UnsafeVariance() E>): kotlin.Boolean
|
||||
public abstract operator fun get(/*0*/ index: kotlin.Int): E
|
||||
public abstract fun indexOf(/*0*/ element: @kotlin.UnsafeVariance() E): kotlin.Int
|
||||
public abstract override /*1*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ fun iterator(): kotlin.collections.Iterator<E>
|
||||
public abstract fun lastIndexOf(/*0*/ element: @kotlin.UnsafeVariance() E): kotlin.Int
|
||||
public abstract fun listIterator(): kotlin.collections.ListIterator<E>
|
||||
public abstract fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.ListIterator<E>
|
||||
public abstract fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.List<E>
|
||||
}
|
||||
|
||||
public interface ListIterator</*0*/ out T> : kotlin.collections.Iterator<T> {
|
||||
public abstract override /*1*/ fun hasNext(): kotlin.Boolean
|
||||
public abstract fun hasPrevious(): kotlin.Boolean
|
||||
public abstract override /*1*/ fun next(): T
|
||||
public abstract fun nextIndex(): kotlin.Int
|
||||
public abstract fun previous(): T
|
||||
public abstract fun previousIndex(): kotlin.Int
|
||||
}
|
||||
|
||||
public abstract class LongIterator : kotlin.collections.Iterator<kotlin.Long> {
|
||||
/*primary*/ public constructor LongIterator()
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Long
|
||||
public abstract fun nextLong(): kotlin.Long
|
||||
}
|
||||
|
||||
public interface Map</*0*/ K, /*1*/ out V> {
|
||||
public abstract val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<K, V>>
|
||||
public abstract fun <get-entries>(): kotlin.collections.Set<kotlin.collections.Map.Entry<K, V>>
|
||||
public abstract val keys: kotlin.collections.Set<K>
|
||||
public abstract fun <get-keys>(): kotlin.collections.Set<K>
|
||||
public abstract val size: kotlin.Int
|
||||
public abstract fun <get-size>(): kotlin.Int
|
||||
public abstract val values: kotlin.collections.Collection<V>
|
||||
public abstract fun <get-values>(): kotlin.collections.Collection<V>
|
||||
public abstract fun containsKey(/*0*/ key: K): kotlin.Boolean
|
||||
public abstract fun containsValue(/*0*/ value: @kotlin.UnsafeVariance() V): kotlin.Boolean
|
||||
public abstract operator fun get(/*0*/ key: K): V?
|
||||
public abstract fun isEmpty(): kotlin.Boolean
|
||||
|
||||
public interface Entry</*0*/ out K, /*1*/ out V> {
|
||||
public abstract val key: K
|
||||
public abstract fun <get-key>(): K
|
||||
public abstract val value: V
|
||||
public abstract fun <get-value>(): V
|
||||
}
|
||||
}
|
||||
|
||||
public interface MutableCollection</*0*/ E> : kotlin.collections.Collection<E>, kotlin.collections.MutableIterable<E> {
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun <get-size>(): kotlin.Int
|
||||
public abstract fun add(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract fun addAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract fun clear(): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun contains(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*2*/ fun iterator(): kotlin.collections.MutableIterator<E>
|
||||
public abstract fun remove(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract fun removeAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract fun retainAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
}
|
||||
|
||||
public interface MutableIterable</*0*/ out T> : kotlin.collections.Iterable<T> {
|
||||
public abstract override /*1*/ fun iterator(): kotlin.collections.MutableIterator<T>
|
||||
}
|
||||
|
||||
public interface MutableIterator</*0*/ out T> : kotlin.collections.Iterator<T> {
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun next(): T
|
||||
public abstract fun remove(): kotlin.Unit
|
||||
}
|
||||
|
||||
public interface MutableList</*0*/ E> : kotlin.collections.List<E>, kotlin.collections.MutableCollection<E> {
|
||||
public abstract override /*2*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*2*/ /*fake_override*/ fun <get-size>(): kotlin.Int
|
||||
public abstract override /*1*/ fun add(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract fun add(/*0*/ index: kotlin.Int, /*1*/ element: E): kotlin.Unit
|
||||
public abstract fun addAll(/*0*/ index: kotlin.Int, /*1*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract override /*1*/ fun addAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract override /*1*/ fun clear(): kotlin.Unit
|
||||
public abstract override /*2*/ /*fake_override*/ fun contains(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract override /*2*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): E
|
||||
public abstract override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: E): kotlin.Int
|
||||
public abstract override /*2*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*2*/ /*fake_override*/ fun iterator(): kotlin.collections.MutableIterator<E>
|
||||
public abstract override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: E): kotlin.Int
|
||||
public abstract override /*1*/ fun listIterator(): kotlin.collections.MutableListIterator<E>
|
||||
public abstract override /*1*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.MutableListIterator<E>
|
||||
public abstract override /*1*/ fun remove(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract override /*1*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract fun removeAt(/*0*/ index: kotlin.Int): E
|
||||
public abstract override /*1*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract operator fun set(/*0*/ index: kotlin.Int, /*1*/ element: E): E
|
||||
public abstract override /*1*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.MutableList<E>
|
||||
}
|
||||
|
||||
public interface MutableListIterator</*0*/ T> : kotlin.collections.ListIterator<T>, kotlin.collections.MutableIterator<T> {
|
||||
public abstract fun add(/*0*/ element: T): kotlin.Unit
|
||||
public abstract override /*2*/ fun hasNext(): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasPrevious(): kotlin.Boolean
|
||||
public abstract override /*2*/ fun next(): T
|
||||
public abstract override /*1*/ /*fake_override*/ fun nextIndex(): kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun previous(): T
|
||||
public abstract override /*1*/ /*fake_override*/ fun previousIndex(): kotlin.Int
|
||||
public abstract override /*1*/ fun remove(): kotlin.Unit
|
||||
public abstract fun set(/*0*/ element: T): kotlin.Unit
|
||||
}
|
||||
|
||||
public interface MutableMap</*0*/ K, /*1*/ V> : kotlin.collections.Map<K, V> {
|
||||
public abstract override /*1*/ val entries: kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<K, V>>
|
||||
public abstract override /*1*/ fun <get-entries>(): kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<K, V>>
|
||||
public abstract override /*1*/ val keys: kotlin.collections.MutableSet<K>
|
||||
public abstract override /*1*/ fun <get-keys>(): kotlin.collections.MutableSet<K>
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun <get-size>(): kotlin.Int
|
||||
public abstract override /*1*/ val values: kotlin.collections.MutableCollection<V>
|
||||
public abstract override /*1*/ fun <get-values>(): kotlin.collections.MutableCollection<V>
|
||||
public abstract fun clear(): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: K): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: V): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ key: K): V?
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract fun put(/*0*/ key: K, /*1*/ value: V): V?
|
||||
public abstract fun putAll(/*0*/ from: kotlin.collections.Map<out K, V>): kotlin.Unit
|
||||
public abstract fun remove(/*0*/ key: K): V?
|
||||
|
||||
public interface MutableEntry</*0*/ K, /*1*/ V> : kotlin.collections.Map.Entry<K, V> {
|
||||
public abstract override /*1*/ /*fake_override*/ val key: K
|
||||
public abstract override /*1*/ /*fake_override*/ fun <get-key>(): K
|
||||
public abstract override /*1*/ /*fake_override*/ val value: V
|
||||
public abstract override /*1*/ /*fake_override*/ fun <get-value>(): V
|
||||
public abstract fun setValue(/*0*/ newValue: V): V
|
||||
}
|
||||
}
|
||||
|
||||
public interface MutableSet</*0*/ E> : kotlin.collections.Set<E>, kotlin.collections.MutableCollection<E> {
|
||||
public abstract override /*2*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*2*/ /*fake_override*/ fun <get-size>(): kotlin.Int
|
||||
public abstract override /*1*/ fun add(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract override /*1*/ fun addAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract override /*1*/ fun clear(): kotlin.Unit
|
||||
public abstract override /*2*/ /*fake_override*/ fun contains(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract override /*2*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract override /*2*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*2*/ fun iterator(): kotlin.collections.MutableIterator<E>
|
||||
public abstract override /*1*/ fun remove(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract override /*1*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract override /*1*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
}
|
||||
|
||||
public interface Set</*0*/ out E> : kotlin.collections.Collection<E> {
|
||||
public abstract override /*1*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ fun <get-size>(): kotlin.Int
|
||||
public abstract override /*1*/ fun contains(/*0*/ element: @kotlin.UnsafeVariance() E): kotlin.Boolean
|
||||
public abstract override /*1*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<@kotlin.UnsafeVariance() E>): kotlin.Boolean
|
||||
public abstract override /*1*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ fun iterator(): kotlin.collections.Iterator<E>
|
||||
}
|
||||
|
||||
public abstract class ShortIterator : kotlin.collections.Iterator<kotlin.Short> {
|
||||
/*primary*/ public constructor ShortIterator()
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Short
|
||||
public abstract fun nextShort(): kotlin.Short
|
||||
}
|
||||
@@ -0,0 +1,181 @@
|
||||
package-fragment kotlin.ranges
|
||||
|
||||
public open class CharProgression : kotlin.collections.Iterable<kotlin.Char> {
|
||||
/*primary*/ internal constructor CharProgression(/*0*/ start: kotlin.Char, /*1*/ endInclusive: kotlin.Char, /*2*/ step: kotlin.Int)
|
||||
public final val first: kotlin.Char
|
||||
public final fun <get-first>(): kotlin.Char
|
||||
public final val last: kotlin.Char
|
||||
public final fun <get-last>(): kotlin.Char
|
||||
public final val step: kotlin.Int
|
||||
public final fun <get-step>(): kotlin.Int
|
||||
public open fun isEmpty(): kotlin.Boolean
|
||||
public open override /*1*/ fun iterator(): kotlin.collections.CharIterator
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final fun fromClosedRange(/*0*/ rangeStart: kotlin.Char, /*1*/ rangeEnd: kotlin.Char, /*2*/ step: kotlin.Int): kotlin.ranges.CharProgression
|
||||
}
|
||||
}
|
||||
|
||||
internal final class CharProgressionIterator : kotlin.collections.CharIterator {
|
||||
/*primary*/ public constructor CharProgressionIterator(/*0*/ first: kotlin.Char, /*1*/ last: kotlin.Char, /*2*/ step: kotlin.Int)
|
||||
private final val finalElement: kotlin.Int
|
||||
private final fun <get-finalElement>(): kotlin.Int
|
||||
private final var hasNext: kotlin.Boolean
|
||||
private final fun <get-hasNext>(): kotlin.Boolean
|
||||
private final fun <set-hasNext>(/*0*/ <set-?>: kotlin.Boolean): kotlin.Unit
|
||||
private final var next: kotlin.Int
|
||||
private final fun <get-next>(): kotlin.Int
|
||||
private final fun <set-next>(/*0*/ <set-?>: kotlin.Int): kotlin.Unit
|
||||
public final val step: kotlin.Int
|
||||
public final fun <get-step>(): kotlin.Int
|
||||
public open override /*1*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ /*fake_override*/ fun next(): kotlin.Char
|
||||
public open override /*1*/ fun nextChar(): kotlin.Char
|
||||
}
|
||||
|
||||
public final class CharRange : kotlin.ranges.CharProgression, kotlin.ranges.ClosedRange<kotlin.Char> {
|
||||
/*primary*/ public constructor CharRange(/*0*/ start: kotlin.Char, /*1*/ endInclusive: kotlin.Char)
|
||||
public open override /*1*/ val endInclusive: kotlin.Char
|
||||
public open override /*1*/ fun <get-endInclusive>(): kotlin.Char
|
||||
public final override /*1*/ /*fake_override*/ val first: kotlin.Char
|
||||
public final override /*1*/ /*fake_override*/ fun <get-first>(): kotlin.Char
|
||||
public final override /*1*/ /*fake_override*/ val last: kotlin.Char
|
||||
public final override /*1*/ /*fake_override*/ fun <get-last>(): kotlin.Char
|
||||
public open override /*1*/ val start: kotlin.Char
|
||||
public open override /*1*/ fun <get-start>(): kotlin.Char
|
||||
public final override /*1*/ /*fake_override*/ val step: kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun <get-step>(): kotlin.Int
|
||||
public open override /*1*/ fun contains(/*0*/ value: kotlin.Char): kotlin.Boolean
|
||||
public open override /*2*/ fun isEmpty(): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.CharIterator
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final val EMPTY: kotlin.ranges.CharRange
|
||||
public final fun <get-EMPTY>(): kotlin.ranges.CharRange
|
||||
}
|
||||
}
|
||||
|
||||
public interface ClosedRange</*0*/ T : kotlin.Comparable<T>> {
|
||||
public abstract val endInclusive: T
|
||||
public abstract fun <get-endInclusive>(): T
|
||||
public abstract val start: T
|
||||
public abstract fun <get-start>(): T
|
||||
public open operator fun contains(/*0*/ value: T): kotlin.Boolean
|
||||
public open fun isEmpty(): kotlin.Boolean
|
||||
}
|
||||
|
||||
public open class IntProgression : kotlin.collections.Iterable<kotlin.Int> {
|
||||
/*primary*/ internal constructor IntProgression(/*0*/ start: kotlin.Int, /*1*/ endInclusive: kotlin.Int, /*2*/ step: kotlin.Int)
|
||||
public final val first: kotlin.Int
|
||||
public final fun <get-first>(): kotlin.Int
|
||||
public final val last: kotlin.Int
|
||||
public final fun <get-last>(): kotlin.Int
|
||||
public final val step: kotlin.Int
|
||||
public final fun <get-step>(): kotlin.Int
|
||||
public open fun isEmpty(): kotlin.Boolean
|
||||
public open override /*1*/ fun iterator(): kotlin.collections.IntIterator
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final fun fromClosedRange(/*0*/ rangeStart: kotlin.Int, /*1*/ rangeEnd: kotlin.Int, /*2*/ step: kotlin.Int): kotlin.ranges.IntProgression
|
||||
}
|
||||
}
|
||||
|
||||
internal final class IntProgressionIterator : kotlin.collections.IntIterator {
|
||||
/*primary*/ public constructor IntProgressionIterator(/*0*/ first: kotlin.Int, /*1*/ last: kotlin.Int, /*2*/ step: kotlin.Int)
|
||||
private final val finalElement: kotlin.Int
|
||||
private final fun <get-finalElement>(): kotlin.Int
|
||||
private final var hasNext: kotlin.Boolean
|
||||
private final fun <get-hasNext>(): kotlin.Boolean
|
||||
private final fun <set-hasNext>(/*0*/ <set-?>: kotlin.Boolean): kotlin.Unit
|
||||
private final var next: kotlin.Int
|
||||
private final fun <get-next>(): kotlin.Int
|
||||
private final fun <set-next>(/*0*/ <set-?>: kotlin.Int): kotlin.Unit
|
||||
public final val step: kotlin.Int
|
||||
public final fun <get-step>(): kotlin.Int
|
||||
public open override /*1*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ /*fake_override*/ fun next(): kotlin.Int
|
||||
public open override /*1*/ fun nextInt(): kotlin.Int
|
||||
}
|
||||
|
||||
public final class IntRange : kotlin.ranges.IntProgression, kotlin.ranges.ClosedRange<kotlin.Int> {
|
||||
/*primary*/ public constructor IntRange(/*0*/ start: kotlin.Int, /*1*/ endInclusive: kotlin.Int)
|
||||
public open override /*1*/ val endInclusive: kotlin.Int
|
||||
public open override /*1*/ fun <get-endInclusive>(): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ val first: kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun <get-first>(): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ val last: kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun <get-last>(): kotlin.Int
|
||||
public open override /*1*/ val start: kotlin.Int
|
||||
public open override /*1*/ fun <get-start>(): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ val step: kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun <get-step>(): kotlin.Int
|
||||
public open override /*1*/ fun contains(/*0*/ value: kotlin.Int): kotlin.Boolean
|
||||
public open override /*2*/ fun isEmpty(): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.IntIterator
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final val EMPTY: kotlin.ranges.IntRange
|
||||
public final fun <get-EMPTY>(): kotlin.ranges.IntRange
|
||||
}
|
||||
}
|
||||
|
||||
public open class LongProgression : kotlin.collections.Iterable<kotlin.Long> {
|
||||
/*primary*/ internal constructor LongProgression(/*0*/ start: kotlin.Long, /*1*/ endInclusive: kotlin.Long, /*2*/ step: kotlin.Long)
|
||||
public final val first: kotlin.Long
|
||||
public final fun <get-first>(): kotlin.Long
|
||||
public final val last: kotlin.Long
|
||||
public final fun <get-last>(): kotlin.Long
|
||||
public final val step: kotlin.Long
|
||||
public final fun <get-step>(): kotlin.Long
|
||||
public open fun isEmpty(): kotlin.Boolean
|
||||
public open override /*1*/ fun iterator(): kotlin.collections.LongIterator
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final fun fromClosedRange(/*0*/ rangeStart: kotlin.Long, /*1*/ rangeEnd: kotlin.Long, /*2*/ step: kotlin.Long): kotlin.ranges.LongProgression
|
||||
}
|
||||
}
|
||||
|
||||
internal final class LongProgressionIterator : kotlin.collections.LongIterator {
|
||||
/*primary*/ public constructor LongProgressionIterator(/*0*/ first: kotlin.Long, /*1*/ last: kotlin.Long, /*2*/ step: kotlin.Long)
|
||||
private final val finalElement: kotlin.Long
|
||||
private final fun <get-finalElement>(): kotlin.Long
|
||||
private final var hasNext: kotlin.Boolean
|
||||
private final fun <get-hasNext>(): kotlin.Boolean
|
||||
private final fun <set-hasNext>(/*0*/ <set-?>: kotlin.Boolean): kotlin.Unit
|
||||
private final var next: kotlin.Long
|
||||
private final fun <get-next>(): kotlin.Long
|
||||
private final fun <set-next>(/*0*/ <set-?>: kotlin.Long): kotlin.Unit
|
||||
public final val step: kotlin.Long
|
||||
public final fun <get-step>(): kotlin.Long
|
||||
public open override /*1*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ /*fake_override*/ fun next(): kotlin.Long
|
||||
public open override /*1*/ fun nextLong(): kotlin.Long
|
||||
}
|
||||
|
||||
public final class LongRange : kotlin.ranges.LongProgression, kotlin.ranges.ClosedRange<kotlin.Long> {
|
||||
/*primary*/ public constructor LongRange(/*0*/ start: kotlin.Long, /*1*/ endInclusive: kotlin.Long)
|
||||
public open override /*1*/ val endInclusive: kotlin.Long
|
||||
public open override /*1*/ fun <get-endInclusive>(): kotlin.Long
|
||||
public final override /*1*/ /*fake_override*/ val first: kotlin.Long
|
||||
public final override /*1*/ /*fake_override*/ fun <get-first>(): kotlin.Long
|
||||
public final override /*1*/ /*fake_override*/ val last: kotlin.Long
|
||||
public final override /*1*/ /*fake_override*/ fun <get-last>(): kotlin.Long
|
||||
public open override /*1*/ val start: kotlin.Long
|
||||
public open override /*1*/ fun <get-start>(): kotlin.Long
|
||||
public final override /*1*/ /*fake_override*/ val step: kotlin.Long
|
||||
public final override /*1*/ /*fake_override*/ fun <get-step>(): kotlin.Long
|
||||
public open override /*1*/ fun contains(/*0*/ value: kotlin.Long): kotlin.Boolean
|
||||
public open override /*2*/ fun isEmpty(): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.LongIterator
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final val EMPTY: kotlin.ranges.LongRange
|
||||
public final fun <get-EMPTY>(): kotlin.ranges.LongRange
|
||||
}
|
||||
}
|
||||
+699
@@ -0,0 +1,699 @@
|
||||
package-fragment kotlin
|
||||
|
||||
public inline fun </*0*/ reified @kotlin.internal.PureReifiable() T> arrayOf(/*0*/ vararg elements: T /*kotlin.Array<out T>*/): kotlin.Array<T>
|
||||
public fun </*0*/ reified @kotlin.internal.PureReifiable() T> arrayOfNulls(/*0*/ size: kotlin.Int): kotlin.Array<T?>
|
||||
public fun booleanArrayOf(/*0*/ vararg elements: kotlin.Boolean /*kotlin.BooleanArray*/): kotlin.BooleanArray
|
||||
public fun byteArrayOf(/*0*/ vararg elements: kotlin.Byte /*kotlin.ByteArray*/): kotlin.ByteArray
|
||||
public fun charArrayOf(/*0*/ vararg elements: kotlin.Char /*kotlin.CharArray*/): kotlin.CharArray
|
||||
public fun doubleArrayOf(/*0*/ vararg elements: kotlin.Double /*kotlin.DoubleArray*/): kotlin.DoubleArray
|
||||
public inline fun </*0*/ reified @kotlin.internal.PureReifiable() T> emptyArray(): kotlin.Array<T>
|
||||
public fun floatArrayOf(/*0*/ vararg elements: kotlin.Float /*kotlin.FloatArray*/): kotlin.FloatArray
|
||||
public fun intArrayOf(/*0*/ vararg elements: kotlin.Int /*kotlin.IntArray*/): kotlin.IntArray
|
||||
public fun longArrayOf(/*0*/ vararg elements: kotlin.Long /*kotlin.LongArray*/): kotlin.LongArray
|
||||
public fun shortArrayOf(/*0*/ vararg elements: kotlin.Short /*kotlin.ShortArray*/): kotlin.ShortArray
|
||||
public operator fun kotlin.String?.plus(/*0*/ other: kotlin.Any?): kotlin.String
|
||||
public fun kotlin.Any?.toString(): kotlin.String
|
||||
|
||||
public interface Annotation {
|
||||
}
|
||||
|
||||
public open class Any {
|
||||
/*primary*/ public constructor Any()
|
||||
}
|
||||
|
||||
public final class Array</*0*/ T> : kotlin.Cloneable, java.io.Serializable {
|
||||
public constructor Array</*0*/ T>(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> T)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.Array<T>
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): T
|
||||
public final operator fun iterator(): kotlin.collections.Iterator<T>
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: T): kotlin.Unit
|
||||
}
|
||||
|
||||
public final class Boolean : kotlin.Comparable<kotlin.Boolean>, java.io.Serializable {
|
||||
/*primary*/ private constructor Boolean()
|
||||
public final infix fun and(/*0*/ other: kotlin.Boolean): kotlin.Boolean
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Boolean): kotlin.Int
|
||||
public final operator fun not(): kotlin.Boolean
|
||||
public final infix fun or(/*0*/ other: kotlin.Boolean): kotlin.Boolean
|
||||
public final infix fun xor(/*0*/ other: kotlin.Boolean): kotlin.Boolean
|
||||
}
|
||||
|
||||
public final class BooleanArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor BooleanArray(/*0*/ size: kotlin.Int)
|
||||
public constructor BooleanArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Boolean)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.BooleanArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Boolean
|
||||
public final operator fun iterator(): kotlin.collections.BooleanIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Boolean): kotlin.Unit
|
||||
}
|
||||
|
||||
public final class Byte : kotlin.Number, kotlin.Comparable<kotlin.Byte>, java.io.Serializable {
|
||||
/*primary*/ private constructor Byte()
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Double): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Float): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Long): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun dec(): kotlin.Byte
|
||||
public final operator fun div(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun div(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun inc(): kotlin.Byte
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Byte): kotlin.ranges.IntRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Int): kotlin.ranges.IntRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Long): kotlin.ranges.LongRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Short): kotlin.ranges.IntRange
|
||||
public final operator fun times(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun times(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun times(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun times(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public open override /*1*/ fun toByte(): kotlin.Byte
|
||||
public open override /*1*/ fun toChar(): kotlin.Char
|
||||
public open override /*1*/ fun toDouble(): kotlin.Double
|
||||
public open override /*1*/ fun toFloat(): kotlin.Float
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Int
|
||||
public final operator fun unaryPlus(): kotlin.Int
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public const final val MAX_VALUE: kotlin.Byte
|
||||
public final fun <get-MAX_VALUE>(): kotlin.Byte
|
||||
public const final val MIN_VALUE: kotlin.Byte
|
||||
public final fun <get-MIN_VALUE>(): kotlin.Byte
|
||||
}
|
||||
}
|
||||
|
||||
public final class ByteArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor ByteArray(/*0*/ size: kotlin.Int)
|
||||
public constructor ByteArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Byte)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.ByteArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Byte
|
||||
public final operator fun iterator(): kotlin.collections.ByteIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Byte): kotlin.Unit
|
||||
}
|
||||
|
||||
public final class Char : kotlin.Comparable<kotlin.Char>, java.io.Serializable {
|
||||
/*primary*/ private constructor Char()
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Char): kotlin.Int
|
||||
public final operator fun dec(): kotlin.Char
|
||||
public final operator fun inc(): kotlin.Char
|
||||
public final operator fun minus(/*0*/ other: kotlin.Char): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Int): kotlin.Char
|
||||
public final operator fun plus(/*0*/ other: kotlin.Int): kotlin.Char
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Char): kotlin.ranges.CharRange
|
||||
public open fun toByte(): kotlin.Byte
|
||||
public open fun toChar(): kotlin.Char
|
||||
public open fun toDouble(): kotlin.Double
|
||||
public open fun toFloat(): kotlin.Float
|
||||
public open fun toInt(): kotlin.Int
|
||||
public open fun toLong(): kotlin.Long
|
||||
public open fun toShort(): kotlin.Short
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public const final val MAX_HIGH_SURROGATE: kotlin.Char
|
||||
public final fun <get-MAX_HIGH_SURROGATE>(): kotlin.Char
|
||||
public const final val MAX_LOW_SURROGATE: kotlin.Char
|
||||
public final fun <get-MAX_LOW_SURROGATE>(): kotlin.Char
|
||||
public const final val MAX_SURROGATE: kotlin.Char
|
||||
public final fun <get-MAX_SURROGATE>(): kotlin.Char
|
||||
public const final val MIN_HIGH_SURROGATE: kotlin.Char
|
||||
public final fun <get-MIN_HIGH_SURROGATE>(): kotlin.Char
|
||||
public const final val MIN_LOW_SURROGATE: kotlin.Char
|
||||
public final fun <get-MIN_LOW_SURROGATE>(): kotlin.Char
|
||||
public const final val MIN_SURROGATE: kotlin.Char
|
||||
public final fun <get-MIN_SURROGATE>(): kotlin.Char
|
||||
}
|
||||
}
|
||||
|
||||
public final class CharArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor CharArray(/*0*/ size: kotlin.Int)
|
||||
public constructor CharArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Char)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.CharArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Char
|
||||
public final operator fun iterator(): kotlin.collections.CharIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Char): kotlin.Unit
|
||||
}
|
||||
|
||||
public interface CharSequence {
|
||||
public abstract val length: kotlin.Int
|
||||
public abstract fun <get-length>(): kotlin.Int
|
||||
public abstract operator fun get(/*0*/ index: kotlin.Int): kotlin.Char
|
||||
public abstract fun subSequence(/*0*/ startIndex: kotlin.Int, /*1*/ endIndex: kotlin.Int): kotlin.CharSequence
|
||||
}
|
||||
|
||||
public interface Cloneable {
|
||||
protected open fun clone(): kotlin.Any
|
||||
}
|
||||
|
||||
public interface Comparable</*0*/ in T> {
|
||||
public abstract operator fun compareTo(/*0*/ other: T): kotlin.Int
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.PROPERTY_GETTER}) @kotlin.annotation.MustBeDocumented() public final annotation class Deprecated : kotlin.Annotation {
|
||||
/*primary*/ public constructor Deprecated(/*0*/ message: kotlin.String, /*1*/ replaceWith: kotlin.ReplaceWith = ..., /*2*/ level: kotlin.DeprecationLevel = ...)
|
||||
public final val level: kotlin.DeprecationLevel
|
||||
public final fun <get-level>(): kotlin.DeprecationLevel
|
||||
public final val message: kotlin.String
|
||||
public final fun <get-message>(): kotlin.String
|
||||
public final val replaceWith: kotlin.ReplaceWith
|
||||
public final fun <get-replaceWith>(): kotlin.ReplaceWith
|
||||
}
|
||||
|
||||
public final enum class DeprecationLevel : kotlin.Enum<kotlin.DeprecationLevel> {
|
||||
enum entry WARNING
|
||||
|
||||
enum entry ERROR
|
||||
|
||||
enum entry HIDDEN
|
||||
|
||||
/*primary*/ private constructor DeprecationLevel()
|
||||
public final override /*1*/ /*fake_override*/ val name: kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ fun <get-name>(): kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun <get-ordinal>(): kotlin.Int
|
||||
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
|
||||
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: kotlin.DeprecationLevel): kotlin.Int
|
||||
protected/*protected and package*/ final override /*1*/ /*fake_override*/ fun finalize(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ fun getDeclaringClass(): java.lang.Class<kotlin.DeprecationLevel!>!
|
||||
|
||||
// Static members
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): kotlin.DeprecationLevel
|
||||
public final /*synthesized*/ fun values(): kotlin.Array<kotlin.DeprecationLevel>
|
||||
}
|
||||
|
||||
public final class Double : kotlin.Number, kotlin.Comparable<kotlin.Double>, java.io.Serializable {
|
||||
/*primary*/ private constructor Double()
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Double): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Float): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Long): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun dec(): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Byte): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Float): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Int): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Double
|
||||
public final operator fun inc(): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Int): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Long): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Short): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Byte): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Float): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Int): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Long): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Short): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Byte): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Float): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Int): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Long): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Short): kotlin.Double
|
||||
public open override /*1*/ fun toByte(): kotlin.Byte
|
||||
public open override /*1*/ fun toChar(): kotlin.Char
|
||||
public open override /*1*/ fun toDouble(): kotlin.Double
|
||||
public open override /*1*/ fun toFloat(): kotlin.Float
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Double
|
||||
public final operator fun unaryPlus(): kotlin.Double
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final val MAX_VALUE: kotlin.Double
|
||||
public final fun <get-MAX_VALUE>(): kotlin.Double
|
||||
public final val MIN_VALUE: kotlin.Double
|
||||
public final fun <get-MIN_VALUE>(): kotlin.Double
|
||||
public final val NEGATIVE_INFINITY: kotlin.Double
|
||||
public final fun <get-NEGATIVE_INFINITY>(): kotlin.Double
|
||||
public final val NaN: kotlin.Double
|
||||
public final fun <get-NaN>(): kotlin.Double
|
||||
public final val POSITIVE_INFINITY: kotlin.Double
|
||||
public final fun <get-POSITIVE_INFINITY>(): kotlin.Double
|
||||
}
|
||||
}
|
||||
|
||||
public final class DoubleArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor DoubleArray(/*0*/ size: kotlin.Int)
|
||||
public constructor DoubleArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Double)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.DoubleArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Double
|
||||
public final operator fun iterator(): kotlin.collections.DoubleIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Double): kotlin.Unit
|
||||
}
|
||||
|
||||
public abstract class Enum</*0*/ E : kotlin.Enum<E>> : kotlin.Comparable<E>, java.io.Serializable {
|
||||
/*primary*/ public constructor Enum</*0*/ E : kotlin.Enum<E>>(/*0*/ name: kotlin.String, /*1*/ ordinal: kotlin.Int)
|
||||
public final val name: kotlin.String
|
||||
public final fun <get-name>(): kotlin.String
|
||||
public final val ordinal: kotlin.Int
|
||||
public final fun <get-ordinal>(): kotlin.Int
|
||||
protected final fun clone(): kotlin.Any
|
||||
public final override /*1*/ fun compareTo(/*0*/ other: E): kotlin.Int
|
||||
protected/*protected and package*/ final fun finalize(): kotlin.Unit
|
||||
public final fun getDeclaringClass(): java.lang.Class<E!>!
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
}
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.MustBeDocumented() public final annotation class ExtensionFunctionType : kotlin.Annotation {
|
||||
/*primary*/ public constructor ExtensionFunctionType()
|
||||
}
|
||||
|
||||
public final class Float : kotlin.Number, kotlin.Comparable<kotlin.Float>, java.io.Serializable {
|
||||
/*primary*/ private constructor Float()
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Double): kotlin.Int
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Float): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Long): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun dec(): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Byte): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Int): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Float
|
||||
public final operator fun inc(): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Int): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Long): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Short): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Byte): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Int): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Long): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Short): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Byte): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Int): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Long): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Short): kotlin.Float
|
||||
public open override /*1*/ fun toByte(): kotlin.Byte
|
||||
public open override /*1*/ fun toChar(): kotlin.Char
|
||||
public open override /*1*/ fun toDouble(): kotlin.Double
|
||||
public open override /*1*/ fun toFloat(): kotlin.Float
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Float
|
||||
public final operator fun unaryPlus(): kotlin.Float
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final val MAX_VALUE: kotlin.Float
|
||||
public final fun <get-MAX_VALUE>(): kotlin.Float
|
||||
public final val MIN_VALUE: kotlin.Float
|
||||
public final fun <get-MIN_VALUE>(): kotlin.Float
|
||||
public final val NEGATIVE_INFINITY: kotlin.Float
|
||||
public final fun <get-NEGATIVE_INFINITY>(): kotlin.Float
|
||||
public final val NaN: kotlin.Float
|
||||
public final fun <get-NaN>(): kotlin.Float
|
||||
public final val POSITIVE_INFINITY: kotlin.Float
|
||||
public final fun <get-POSITIVE_INFINITY>(): kotlin.Float
|
||||
}
|
||||
}
|
||||
|
||||
public final class FloatArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor FloatArray(/*0*/ size: kotlin.Int)
|
||||
public constructor FloatArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Float)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.FloatArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Float
|
||||
public final operator fun iterator(): kotlin.collections.FloatIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Float): kotlin.Unit
|
||||
}
|
||||
|
||||
public interface Function</*0*/ out R> {
|
||||
}
|
||||
|
||||
public final class Int : kotlin.Number, kotlin.Comparable<kotlin.Int>, java.io.Serializable {
|
||||
/*primary*/ private constructor Int()
|
||||
public final infix fun and(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Double): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Float): kotlin.Int
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Long): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun dec(): kotlin.Int
|
||||
public final operator fun div(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun div(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun inc(): kotlin.Int
|
||||
public final fun inv(): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final infix fun or(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Byte): kotlin.ranges.IntRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Int): kotlin.ranges.IntRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Long): kotlin.ranges.LongRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Short): kotlin.ranges.IntRange
|
||||
public final infix fun shl(/*0*/ bitCount: kotlin.Int): kotlin.Int
|
||||
public final infix fun shr(/*0*/ bitCount: kotlin.Int): kotlin.Int
|
||||
public final operator fun times(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun times(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun times(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun times(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public open override /*1*/ fun toByte(): kotlin.Byte
|
||||
public open override /*1*/ fun toChar(): kotlin.Char
|
||||
public open override /*1*/ fun toDouble(): kotlin.Double
|
||||
public open override /*1*/ fun toFloat(): kotlin.Float
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Int
|
||||
public final operator fun unaryPlus(): kotlin.Int
|
||||
public final infix fun ushr(/*0*/ bitCount: kotlin.Int): kotlin.Int
|
||||
public final infix fun xor(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public const final val MAX_VALUE: kotlin.Int
|
||||
public final fun <get-MAX_VALUE>(): kotlin.Int
|
||||
public const final val MIN_VALUE: kotlin.Int
|
||||
public final fun <get-MIN_VALUE>(): kotlin.Int
|
||||
}
|
||||
}
|
||||
|
||||
public final class IntArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor IntArray(/*0*/ size: kotlin.Int)
|
||||
public constructor IntArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Int)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.IntArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Int
|
||||
public final operator fun iterator(): kotlin.collections.IntIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Int): kotlin.Unit
|
||||
}
|
||||
|
||||
public final class Long : kotlin.Number, kotlin.Comparable<kotlin.Long>, java.io.Serializable {
|
||||
/*primary*/ private constructor Long()
|
||||
public final infix fun and(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Double): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Float): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Long): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun dec(): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Byte): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Int): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Long
|
||||
public final operator fun inc(): kotlin.Long
|
||||
public final fun inv(): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Int): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Short): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Byte): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Long
|
||||
public final infix fun or(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Int): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Short): kotlin.Long
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Byte): kotlin.ranges.LongRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Int): kotlin.ranges.LongRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Long): kotlin.ranges.LongRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Short): kotlin.ranges.LongRange
|
||||
public final infix fun shl(/*0*/ bitCount: kotlin.Int): kotlin.Long
|
||||
public final infix fun shr(/*0*/ bitCount: kotlin.Int): kotlin.Long
|
||||
public final operator fun times(/*0*/ other: kotlin.Byte): kotlin.Long
|
||||
public final operator fun times(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Int): kotlin.Long
|
||||
public final operator fun times(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun times(/*0*/ other: kotlin.Short): kotlin.Long
|
||||
public open override /*1*/ fun toByte(): kotlin.Byte
|
||||
public open override /*1*/ fun toChar(): kotlin.Char
|
||||
public open override /*1*/ fun toDouble(): kotlin.Double
|
||||
public open override /*1*/ fun toFloat(): kotlin.Float
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Long
|
||||
public final operator fun unaryPlus(): kotlin.Long
|
||||
public final infix fun ushr(/*0*/ bitCount: kotlin.Int): kotlin.Long
|
||||
public final infix fun xor(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public const final val MAX_VALUE: kotlin.Long
|
||||
public final fun <get-MAX_VALUE>(): kotlin.Long
|
||||
public const final val MIN_VALUE: kotlin.Long
|
||||
public final fun <get-MIN_VALUE>(): kotlin.Long
|
||||
}
|
||||
}
|
||||
|
||||
public final class LongArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor LongArray(/*0*/ size: kotlin.Int)
|
||||
public constructor LongArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Long)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.LongArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Long
|
||||
public final operator fun iterator(): kotlin.collections.LongIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Long): kotlin.Unit
|
||||
}
|
||||
|
||||
public final class Nothing {
|
||||
/*primary*/ private constructor Nothing()
|
||||
}
|
||||
|
||||
public abstract class Number : kotlin.Any, java.io.Serializable {
|
||||
/*primary*/ public constructor Number()
|
||||
public abstract fun toByte(): kotlin.Byte
|
||||
public abstract fun toChar(): kotlin.Char
|
||||
public abstract fun toDouble(): kotlin.Double
|
||||
public abstract fun toFloat(): kotlin.Float
|
||||
public abstract fun toInt(): kotlin.Int
|
||||
public abstract fun toLong(): kotlin.Long
|
||||
public abstract fun toShort(): kotlin.Short
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.MustBeDocumented() public final annotation class ReplaceWith : kotlin.Annotation {
|
||||
/*primary*/ public constructor ReplaceWith(/*0*/ expression: kotlin.String, /*1*/ vararg imports: kotlin.String /*kotlin.Array<out kotlin.String>*/)
|
||||
public final val expression: kotlin.String
|
||||
public final fun <get-expression>(): kotlin.String
|
||||
public final val imports: kotlin.Array<out kotlin.String>
|
||||
public final fun <get-imports>(): kotlin.Array<out kotlin.String>
|
||||
}
|
||||
|
||||
public final class Short : kotlin.Number, kotlin.Comparable<kotlin.Short>, java.io.Serializable {
|
||||
/*primary*/ private constructor Short()
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Double): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Float): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Long): kotlin.Int
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun dec(): kotlin.Short
|
||||
public final operator fun div(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun div(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun inc(): kotlin.Short
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Byte): kotlin.ranges.IntRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Int): kotlin.ranges.IntRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Long): kotlin.ranges.LongRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Short): kotlin.ranges.IntRange
|
||||
public final operator fun times(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun times(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun times(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun times(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public open override /*1*/ fun toByte(): kotlin.Byte
|
||||
public open override /*1*/ fun toChar(): kotlin.Char
|
||||
public open override /*1*/ fun toDouble(): kotlin.Double
|
||||
public open override /*1*/ fun toFloat(): kotlin.Float
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Int
|
||||
public final operator fun unaryPlus(): kotlin.Int
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public const final val MAX_VALUE: kotlin.Short
|
||||
public final fun <get-MAX_VALUE>(): kotlin.Short
|
||||
public const final val MIN_VALUE: kotlin.Short
|
||||
public final fun <get-MIN_VALUE>(): kotlin.Short
|
||||
}
|
||||
}
|
||||
|
||||
public final class ShortArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor ShortArray(/*0*/ size: kotlin.Int)
|
||||
public constructor ShortArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Short)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.ShortArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Short
|
||||
public final operator fun iterator(): kotlin.collections.ShortIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Short): kotlin.Unit
|
||||
}
|
||||
|
||||
public final class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable {
|
||||
/*primary*/ public constructor String()
|
||||
public open override /*1*/ val length: kotlin.Int
|
||||
public open override /*1*/ fun <get-length>(): kotlin.Int
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.String): kotlin.Int
|
||||
public open override /*1*/ fun get(/*0*/ index: kotlin.Int): kotlin.Char
|
||||
public final operator fun plus(/*0*/ other: kotlin.Any?): kotlin.String
|
||||
public open override /*1*/ fun subSequence(/*0*/ startIndex: kotlin.Int, /*1*/ endIndex: kotlin.Int): kotlin.CharSequence
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
}
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPE, AnnotationTarget.EXPRESSION, AnnotationTarget.FILE}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) public final annotation class Suppress : kotlin.Annotation {
|
||||
/*primary*/ public constructor Suppress(/*0*/ vararg names: kotlin.String /*kotlin.Array<out kotlin.String>*/)
|
||||
public final val names: kotlin.Array<out kotlin.String>
|
||||
public final fun <get-names>(): kotlin.Array<out kotlin.String>
|
||||
}
|
||||
|
||||
public open class Throwable : kotlin.Any, java.io.Serializable {
|
||||
public constructor Throwable()
|
||||
public constructor Throwable(/*0*/ message: kotlin.String?)
|
||||
/*primary*/ public constructor Throwable(/*0*/ message: kotlin.String?, /*1*/ cause: kotlin.Throwable?)
|
||||
public constructor Throwable(/*0*/ cause: kotlin.Throwable?)
|
||||
public open val cause: kotlin.Throwable?
|
||||
public open fun <get-cause>(): kotlin.Throwable?
|
||||
public open val message: kotlin.String?
|
||||
public open fun <get-message>(): kotlin.String?
|
||||
public open fun fillInStackTrace(): kotlin.Throwable!
|
||||
public open fun getLocalizedMessage(): kotlin.String!
|
||||
public open fun getStackTrace(): kotlin.Array<(out) java.lang.StackTraceElement!>!
|
||||
public open fun initCause(/*0*/ p0: kotlin.Throwable!): kotlin.Throwable!
|
||||
public open fun printStackTrace(): kotlin.Unit
|
||||
public open fun printStackTrace(/*0*/ p0: java.io.PrintStream!): kotlin.Unit
|
||||
public open fun printStackTrace(/*0*/ p0: java.io.PrintWriter!): kotlin.Unit
|
||||
public open fun setStackTrace(/*0*/ p0: kotlin.Array<(out) java.lang.StackTraceElement!>!): kotlin.Unit
|
||||
}
|
||||
|
||||
public object Unit {
|
||||
/*primary*/ private constructor Unit()
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @kotlin.annotation.MustBeDocumented() public final annotation class UnsafeVariance : kotlin.Annotation {
|
||||
/*primary*/ public constructor UnsafeVariance()
|
||||
}
|
||||
@@ -0,0 +1,292 @@
|
||||
package-fragment kotlin.collections
|
||||
|
||||
public abstract class BooleanIterator : kotlin.collections.Iterator<kotlin.Boolean> {
|
||||
/*primary*/ public constructor BooleanIterator()
|
||||
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Boolean!>!): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Boolean
|
||||
public abstract fun nextBoolean(): kotlin.Boolean
|
||||
}
|
||||
|
||||
public abstract class ByteIterator : kotlin.collections.Iterator<kotlin.Byte> {
|
||||
/*primary*/ public constructor ByteIterator()
|
||||
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Byte!>!): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Byte
|
||||
public abstract fun nextByte(): kotlin.Byte
|
||||
}
|
||||
|
||||
public abstract class CharIterator : kotlin.collections.Iterator<kotlin.Char> {
|
||||
/*primary*/ public constructor CharIterator()
|
||||
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Char!>!): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Char
|
||||
public abstract fun nextChar(): kotlin.Char
|
||||
}
|
||||
|
||||
public interface Collection</*0*/ out E> : kotlin.collections.Iterable<E> {
|
||||
public abstract val size: kotlin.Int
|
||||
public abstract fun <get-size>(): kotlin.Int
|
||||
public abstract operator fun contains(/*0*/ element: @kotlin.UnsafeVariance() E): kotlin.Boolean
|
||||
public abstract fun containsAll(/*0*/ elements: kotlin.collections.Collection<@kotlin.UnsafeVariance() E>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in E!>!): kotlin.Unit
|
||||
public abstract fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ fun iterator(): kotlin.collections.Iterator<E>
|
||||
public open fun parallelStream(): java.util.stream.Stream<E!>!
|
||||
public open override /*1*/ fun spliterator(): java.util.Spliterator<E!>!
|
||||
public open fun stream(): java.util.stream.Stream<E!>!
|
||||
}
|
||||
|
||||
public abstract class DoubleIterator : kotlin.collections.Iterator<kotlin.Double> {
|
||||
/*primary*/ public constructor DoubleIterator()
|
||||
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Double!>!): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Double
|
||||
public abstract fun nextDouble(): kotlin.Double
|
||||
}
|
||||
|
||||
public abstract class FloatIterator : kotlin.collections.Iterator<kotlin.Float> {
|
||||
/*primary*/ public constructor FloatIterator()
|
||||
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Float!>!): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Float
|
||||
public abstract fun nextFloat(): kotlin.Float
|
||||
}
|
||||
|
||||
public abstract class IntIterator : kotlin.collections.Iterator<kotlin.Int> {
|
||||
/*primary*/ public constructor IntIterator()
|
||||
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Int!>!): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Int
|
||||
public abstract fun nextInt(): kotlin.Int
|
||||
}
|
||||
|
||||
public interface Iterable</*0*/ out T> {
|
||||
public open fun forEach(/*0*/ p0: java.util.function.Consumer<in T!>!): kotlin.Unit
|
||||
public abstract operator fun iterator(): kotlin.collections.Iterator<T>
|
||||
public open fun spliterator(): java.util.Spliterator<T!>!
|
||||
}
|
||||
|
||||
public interface Iterator</*0*/ out T> {
|
||||
public open fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in T!>!): kotlin.Unit
|
||||
public abstract operator fun hasNext(): kotlin.Boolean
|
||||
public abstract operator fun next(): T
|
||||
}
|
||||
|
||||
public interface List</*0*/ out E> : kotlin.collections.Collection<E> {
|
||||
public abstract override /*1*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ fun <get-size>(): kotlin.Int
|
||||
public abstract override /*1*/ fun contains(/*0*/ element: @kotlin.UnsafeVariance() E): kotlin.Boolean
|
||||
public abstract override /*1*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<@kotlin.UnsafeVariance() E>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in E!>!): kotlin.Unit
|
||||
public abstract operator fun get(/*0*/ index: kotlin.Int): E
|
||||
public abstract fun indexOf(/*0*/ element: @kotlin.UnsafeVariance() E): kotlin.Int
|
||||
public abstract override /*1*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ fun iterator(): kotlin.collections.Iterator<E>
|
||||
public abstract fun lastIndexOf(/*0*/ element: @kotlin.UnsafeVariance() E): kotlin.Int
|
||||
public abstract fun listIterator(): kotlin.collections.ListIterator<E>
|
||||
public abstract fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.ListIterator<E>
|
||||
public open override /*1*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<E!>!
|
||||
public open override /*1*/ fun spliterator(): java.util.Spliterator<E!>!
|
||||
public open override /*1*/ /*fake_override*/ fun stream(): java.util.stream.Stream<E!>!
|
||||
public abstract fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.List<E>
|
||||
}
|
||||
|
||||
public interface ListIterator</*0*/ out T> : kotlin.collections.Iterator<T> {
|
||||
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in T!>!): kotlin.Unit
|
||||
public abstract override /*1*/ fun hasNext(): kotlin.Boolean
|
||||
public abstract fun hasPrevious(): kotlin.Boolean
|
||||
public abstract override /*1*/ fun next(): T
|
||||
public abstract fun nextIndex(): kotlin.Int
|
||||
public abstract fun previous(): T
|
||||
public abstract fun previousIndex(): kotlin.Int
|
||||
}
|
||||
|
||||
public abstract class LongIterator : kotlin.collections.Iterator<kotlin.Long> {
|
||||
/*primary*/ public constructor LongIterator()
|
||||
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Long!>!): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Long
|
||||
public abstract fun nextLong(): kotlin.Long
|
||||
}
|
||||
|
||||
public interface Map</*0*/ K, /*1*/ out V> {
|
||||
public abstract val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<K, V>>
|
||||
public abstract fun <get-entries>(): kotlin.collections.Set<kotlin.collections.Map.Entry<K, V>>
|
||||
public abstract val keys: kotlin.collections.Set<K>
|
||||
public abstract fun <get-keys>(): kotlin.collections.Set<K>
|
||||
public abstract val size: kotlin.Int
|
||||
public abstract fun <get-size>(): kotlin.Int
|
||||
public abstract val values: kotlin.collections.Collection<V>
|
||||
public abstract fun <get-values>(): kotlin.collections.Collection<V>
|
||||
public abstract fun containsKey(/*0*/ key: K): kotlin.Boolean
|
||||
public abstract fun containsValue(/*0*/ value: @kotlin.UnsafeVariance() V): kotlin.Boolean
|
||||
public open fun forEach(/*0*/ p0: java.util.function.BiConsumer<in K!, in V!>!): kotlin.Unit
|
||||
public abstract operator fun get(/*0*/ key: K): V?
|
||||
public open fun getOrDefault(/*0*/ p0: kotlin.Any!, /*1*/ p1: V!): V!
|
||||
public abstract fun isEmpty(): kotlin.Boolean
|
||||
|
||||
public interface Entry</*0*/ out K, /*1*/ out V> {
|
||||
public abstract val key: K
|
||||
public abstract fun <get-key>(): K
|
||||
public abstract val value: V
|
||||
public abstract fun <get-value>(): V
|
||||
}
|
||||
}
|
||||
|
||||
public interface MutableCollection</*0*/ E> : kotlin.collections.Collection<E>, kotlin.collections.MutableIterable<E> {
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun <get-size>(): kotlin.Int
|
||||
public abstract fun add(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract fun addAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract fun clear(): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun contains(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public open override /*2*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in E!>!): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*2*/ fun iterator(): kotlin.collections.MutableIterator<E>
|
||||
public open override /*1*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<E!>!
|
||||
public abstract fun remove(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract fun removeAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public open fun removeIf(/*0*/ p0: java.util.function.Predicate<in E!>!): kotlin.Boolean
|
||||
public abstract fun retainAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public open override /*2*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<E!>!
|
||||
public open override /*1*/ /*fake_override*/ fun stream(): java.util.stream.Stream<E!>!
|
||||
}
|
||||
|
||||
public interface MutableIterable</*0*/ out T> : kotlin.collections.Iterable<T> {
|
||||
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in T!>!): kotlin.Unit
|
||||
public abstract override /*1*/ fun iterator(): kotlin.collections.MutableIterator<T>
|
||||
public open override /*1*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<T!>!
|
||||
}
|
||||
|
||||
public interface MutableIterator</*0*/ out T> : kotlin.collections.Iterator<T> {
|
||||
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in T!>!): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun next(): T
|
||||
public abstract fun remove(): kotlin.Unit
|
||||
}
|
||||
|
||||
public interface MutableList</*0*/ E> : kotlin.collections.List<E>, kotlin.collections.MutableCollection<E> {
|
||||
public abstract override /*2*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*2*/ /*fake_override*/ fun <get-size>(): kotlin.Int
|
||||
public abstract override /*1*/ fun add(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract fun add(/*0*/ index: kotlin.Int, /*1*/ element: E): kotlin.Unit
|
||||
public abstract fun addAll(/*0*/ index: kotlin.Int, /*1*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract override /*1*/ fun addAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract override /*1*/ fun clear(): kotlin.Unit
|
||||
public abstract override /*2*/ /*fake_override*/ fun contains(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract override /*2*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public open override /*2*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in E!>!): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): E
|
||||
public abstract override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: E): kotlin.Int
|
||||
public abstract override /*2*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*2*/ /*fake_override*/ fun iterator(): kotlin.collections.MutableIterator<E>
|
||||
public abstract override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: E): kotlin.Int
|
||||
public abstract override /*1*/ fun listIterator(): kotlin.collections.MutableListIterator<E>
|
||||
public abstract override /*1*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.MutableListIterator<E>
|
||||
public open override /*2*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<E!>!
|
||||
public abstract override /*1*/ fun remove(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract override /*1*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract fun removeAt(/*0*/ index: kotlin.Int): E
|
||||
public open override /*1*/ /*fake_override*/ fun removeIf(/*0*/ p0: java.util.function.Predicate<in E!>!): kotlin.Boolean
|
||||
public open fun replaceAll(/*0*/ p0: java.util.function.UnaryOperator<E!>!): kotlin.Unit
|
||||
public abstract override /*1*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract operator fun set(/*0*/ index: kotlin.Int, /*1*/ element: E): E
|
||||
public open fun sort(/*0*/ p0: java.util.Comparator<in E!>!): kotlin.Unit
|
||||
public open override /*2*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<E!>!
|
||||
public open override /*2*/ /*fake_override*/ fun stream(): java.util.stream.Stream<E!>!
|
||||
public abstract override /*1*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.MutableList<E>
|
||||
}
|
||||
|
||||
public interface MutableListIterator</*0*/ T> : kotlin.collections.ListIterator<T>, kotlin.collections.MutableIterator<T> {
|
||||
public abstract fun add(/*0*/ element: T): kotlin.Unit
|
||||
public open override /*2*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in T!>!): kotlin.Unit
|
||||
public abstract override /*2*/ fun hasNext(): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasPrevious(): kotlin.Boolean
|
||||
public abstract override /*2*/ fun next(): T
|
||||
public abstract override /*1*/ /*fake_override*/ fun nextIndex(): kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun previous(): T
|
||||
public abstract override /*1*/ /*fake_override*/ fun previousIndex(): kotlin.Int
|
||||
public abstract override /*1*/ fun remove(): kotlin.Unit
|
||||
public abstract fun set(/*0*/ element: T): kotlin.Unit
|
||||
}
|
||||
|
||||
public interface MutableMap</*0*/ K, /*1*/ V> : kotlin.collections.Map<K, V> {
|
||||
public abstract override /*1*/ val entries: kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<K, V>>
|
||||
public abstract override /*1*/ fun <get-entries>(): kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<K, V>>
|
||||
public abstract override /*1*/ val keys: kotlin.collections.MutableSet<K>
|
||||
public abstract override /*1*/ fun <get-keys>(): kotlin.collections.MutableSet<K>
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun <get-size>(): kotlin.Int
|
||||
public abstract override /*1*/ val values: kotlin.collections.MutableCollection<V>
|
||||
public abstract override /*1*/ fun <get-values>(): kotlin.collections.MutableCollection<V>
|
||||
public abstract fun clear(): kotlin.Unit
|
||||
public open fun compute(/*0*/ p0: K!, /*1*/ p1: java.util.function.BiFunction<in K!, in V!, out V!>!): V!
|
||||
public open fun computeIfAbsent(/*0*/ p0: K!, /*1*/ p1: java.util.function.Function<in K!, out V!>!): V!
|
||||
public open fun computeIfPresent(/*0*/ p0: K!, /*1*/ p1: java.util.function.BiFunction<in K!, in V!, out V!>!): V!
|
||||
public abstract override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: K): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: V): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.BiConsumer<in K!, in V!>!): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ key: K): V?
|
||||
public open override /*1*/ /*fake_override*/ fun getOrDefault(/*0*/ p0: kotlin.Any!, /*1*/ p1: V!): V!
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public open fun merge(/*0*/ p0: K!, /*1*/ p1: V!, /*2*/ p2: java.util.function.BiFunction<in V!, in V!, out V!>!): V!
|
||||
public abstract fun put(/*0*/ key: K, /*1*/ value: V): V?
|
||||
public abstract fun putAll(/*0*/ from: kotlin.collections.Map<out K, V>): kotlin.Unit
|
||||
public open fun putIfAbsent(/*0*/ p0: K!, /*1*/ p1: V!): V!
|
||||
public abstract fun remove(/*0*/ key: K): V?
|
||||
public open fun remove(/*0*/ p0: kotlin.Any!, /*1*/ p1: kotlin.Any!): kotlin.Boolean
|
||||
public open fun replace(/*0*/ p0: K!, /*1*/ p1: V!): V!
|
||||
public open fun replace(/*0*/ p0: K!, /*1*/ p1: V!, /*2*/ p2: V!): kotlin.Boolean
|
||||
public open fun replaceAll(/*0*/ p0: java.util.function.BiFunction<in K!, in V!, out V!>!): kotlin.Unit
|
||||
|
||||
public interface MutableEntry</*0*/ K, /*1*/ V> : kotlin.collections.Map.Entry<K, V> {
|
||||
public abstract override /*1*/ /*fake_override*/ val key: K
|
||||
public abstract override /*1*/ /*fake_override*/ fun <get-key>(): K
|
||||
public abstract override /*1*/ /*fake_override*/ val value: V
|
||||
public abstract override /*1*/ /*fake_override*/ fun <get-value>(): V
|
||||
public abstract fun setValue(/*0*/ newValue: V): V
|
||||
}
|
||||
}
|
||||
|
||||
public interface MutableSet</*0*/ E> : kotlin.collections.Set<E>, kotlin.collections.MutableCollection<E> {
|
||||
public abstract override /*2*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*2*/ /*fake_override*/ fun <get-size>(): kotlin.Int
|
||||
public abstract override /*1*/ fun add(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract override /*1*/ fun addAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public abstract override /*1*/ fun clear(): kotlin.Unit
|
||||
public abstract override /*2*/ /*fake_override*/ fun contains(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract override /*2*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public open override /*2*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in E!>!): kotlin.Unit
|
||||
public abstract override /*2*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*2*/ fun iterator(): kotlin.collections.MutableIterator<E>
|
||||
public open override /*2*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<E!>!
|
||||
public abstract override /*1*/ fun remove(/*0*/ element: E): kotlin.Boolean
|
||||
public abstract override /*1*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun removeIf(/*0*/ p0: java.util.function.Predicate<in E!>!): kotlin.Boolean
|
||||
public abstract override /*1*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
|
||||
public open override /*2*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<E!>!
|
||||
public open override /*2*/ /*fake_override*/ fun stream(): java.util.stream.Stream<E!>!
|
||||
}
|
||||
|
||||
public interface Set</*0*/ out E> : kotlin.collections.Collection<E> {
|
||||
public abstract override /*1*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ fun <get-size>(): kotlin.Int
|
||||
public abstract override /*1*/ fun contains(/*0*/ element: @kotlin.UnsafeVariance() E): kotlin.Boolean
|
||||
public abstract override /*1*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<@kotlin.UnsafeVariance() E>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in E!>!): kotlin.Unit
|
||||
public abstract override /*1*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ fun iterator(): kotlin.collections.Iterator<E>
|
||||
public open override /*1*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<E!>!
|
||||
public open override /*1*/ fun spliterator(): java.util.Spliterator<E!>!
|
||||
public open override /*1*/ /*fake_override*/ fun stream(): java.util.stream.Stream<E!>!
|
||||
}
|
||||
|
||||
public abstract class ShortIterator : kotlin.collections.Iterator<kotlin.Short> {
|
||||
/*primary*/ public constructor ShortIterator()
|
||||
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Short!>!): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ fun next(): kotlin.Short
|
||||
public abstract fun nextShort(): kotlin.Short
|
||||
}
|
||||
@@ -0,0 +1,196 @@
|
||||
package-fragment kotlin.ranges
|
||||
|
||||
public open class CharProgression : kotlin.collections.Iterable<kotlin.Char> {
|
||||
/*primary*/ internal constructor CharProgression(/*0*/ start: kotlin.Char, /*1*/ endInclusive: kotlin.Char, /*2*/ step: kotlin.Int)
|
||||
public final val first: kotlin.Char
|
||||
public final fun <get-first>(): kotlin.Char
|
||||
public final val last: kotlin.Char
|
||||
public final fun <get-last>(): kotlin.Char
|
||||
public final val step: kotlin.Int
|
||||
public final fun <get-step>(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in kotlin.Char!>!): kotlin.Unit
|
||||
public open fun isEmpty(): kotlin.Boolean
|
||||
public open override /*1*/ fun iterator(): kotlin.collections.CharIterator
|
||||
public open override /*1*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<kotlin.Char!>!
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final fun fromClosedRange(/*0*/ rangeStart: kotlin.Char, /*1*/ rangeEnd: kotlin.Char, /*2*/ step: kotlin.Int): kotlin.ranges.CharProgression
|
||||
}
|
||||
}
|
||||
|
||||
internal final class CharProgressionIterator : kotlin.collections.CharIterator {
|
||||
/*primary*/ public constructor CharProgressionIterator(/*0*/ first: kotlin.Char, /*1*/ last: kotlin.Char, /*2*/ step: kotlin.Int)
|
||||
private final val finalElement: kotlin.Int
|
||||
private final fun <get-finalElement>(): kotlin.Int
|
||||
private final var hasNext: kotlin.Boolean
|
||||
private final fun <get-hasNext>(): kotlin.Boolean
|
||||
private final fun <set-hasNext>(/*0*/ <set-?>: kotlin.Boolean): kotlin.Unit
|
||||
private final var next: kotlin.Int
|
||||
private final fun <get-next>(): kotlin.Int
|
||||
private final fun <set-next>(/*0*/ <set-?>: kotlin.Int): kotlin.Unit
|
||||
public final val step: kotlin.Int
|
||||
public final fun <get-step>(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Char!>!): kotlin.Unit
|
||||
public open override /*1*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ /*fake_override*/ fun next(): kotlin.Char
|
||||
public open override /*1*/ fun nextChar(): kotlin.Char
|
||||
}
|
||||
|
||||
public final class CharRange : kotlin.ranges.CharProgression, kotlin.ranges.ClosedRange<kotlin.Char> {
|
||||
/*primary*/ public constructor CharRange(/*0*/ start: kotlin.Char, /*1*/ endInclusive: kotlin.Char)
|
||||
public open override /*1*/ val endInclusive: kotlin.Char
|
||||
public open override /*1*/ fun <get-endInclusive>(): kotlin.Char
|
||||
public final override /*1*/ /*fake_override*/ val first: kotlin.Char
|
||||
public final override /*1*/ /*fake_override*/ fun <get-first>(): kotlin.Char
|
||||
public final override /*1*/ /*fake_override*/ val last: kotlin.Char
|
||||
public final override /*1*/ /*fake_override*/ fun <get-last>(): kotlin.Char
|
||||
public open override /*1*/ val start: kotlin.Char
|
||||
public open override /*1*/ fun <get-start>(): kotlin.Char
|
||||
public final override /*1*/ /*fake_override*/ val step: kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun <get-step>(): kotlin.Int
|
||||
public open override /*1*/ fun contains(/*0*/ value: kotlin.Char): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in kotlin.Char!>!): kotlin.Unit
|
||||
public open override /*2*/ fun isEmpty(): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.CharIterator
|
||||
public open override /*1*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<kotlin.Char!>!
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final val EMPTY: kotlin.ranges.CharRange
|
||||
public final fun <get-EMPTY>(): kotlin.ranges.CharRange
|
||||
}
|
||||
}
|
||||
|
||||
public interface ClosedRange</*0*/ T : kotlin.Comparable<T>> {
|
||||
public abstract val endInclusive: T
|
||||
public abstract fun <get-endInclusive>(): T
|
||||
public abstract val start: T
|
||||
public abstract fun <get-start>(): T
|
||||
public open operator fun contains(/*0*/ value: T): kotlin.Boolean
|
||||
public open fun isEmpty(): kotlin.Boolean
|
||||
}
|
||||
|
||||
public open class IntProgression : kotlin.collections.Iterable<kotlin.Int> {
|
||||
/*primary*/ internal constructor IntProgression(/*0*/ start: kotlin.Int, /*1*/ endInclusive: kotlin.Int, /*2*/ step: kotlin.Int)
|
||||
public final val first: kotlin.Int
|
||||
public final fun <get-first>(): kotlin.Int
|
||||
public final val last: kotlin.Int
|
||||
public final fun <get-last>(): kotlin.Int
|
||||
public final val step: kotlin.Int
|
||||
public final fun <get-step>(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in kotlin.Int!>!): kotlin.Unit
|
||||
public open fun isEmpty(): kotlin.Boolean
|
||||
public open override /*1*/ fun iterator(): kotlin.collections.IntIterator
|
||||
public open override /*1*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<kotlin.Int!>!
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final fun fromClosedRange(/*0*/ rangeStart: kotlin.Int, /*1*/ rangeEnd: kotlin.Int, /*2*/ step: kotlin.Int): kotlin.ranges.IntProgression
|
||||
}
|
||||
}
|
||||
|
||||
internal final class IntProgressionIterator : kotlin.collections.IntIterator {
|
||||
/*primary*/ public constructor IntProgressionIterator(/*0*/ first: kotlin.Int, /*1*/ last: kotlin.Int, /*2*/ step: kotlin.Int)
|
||||
private final val finalElement: kotlin.Int
|
||||
private final fun <get-finalElement>(): kotlin.Int
|
||||
private final var hasNext: kotlin.Boolean
|
||||
private final fun <get-hasNext>(): kotlin.Boolean
|
||||
private final fun <set-hasNext>(/*0*/ <set-?>: kotlin.Boolean): kotlin.Unit
|
||||
private final var next: kotlin.Int
|
||||
private final fun <get-next>(): kotlin.Int
|
||||
private final fun <set-next>(/*0*/ <set-?>: kotlin.Int): kotlin.Unit
|
||||
public final val step: kotlin.Int
|
||||
public final fun <get-step>(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Int!>!): kotlin.Unit
|
||||
public open override /*1*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ /*fake_override*/ fun next(): kotlin.Int
|
||||
public open override /*1*/ fun nextInt(): kotlin.Int
|
||||
}
|
||||
|
||||
public final class IntRange : kotlin.ranges.IntProgression, kotlin.ranges.ClosedRange<kotlin.Int> {
|
||||
/*primary*/ public constructor IntRange(/*0*/ start: kotlin.Int, /*1*/ endInclusive: kotlin.Int)
|
||||
public open override /*1*/ val endInclusive: kotlin.Int
|
||||
public open override /*1*/ fun <get-endInclusive>(): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ val first: kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun <get-first>(): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ val last: kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun <get-last>(): kotlin.Int
|
||||
public open override /*1*/ val start: kotlin.Int
|
||||
public open override /*1*/ fun <get-start>(): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ val step: kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun <get-step>(): kotlin.Int
|
||||
public open override /*1*/ fun contains(/*0*/ value: kotlin.Int): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in kotlin.Int!>!): kotlin.Unit
|
||||
public open override /*2*/ fun isEmpty(): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.IntIterator
|
||||
public open override /*1*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<kotlin.Int!>!
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final val EMPTY: kotlin.ranges.IntRange
|
||||
public final fun <get-EMPTY>(): kotlin.ranges.IntRange
|
||||
}
|
||||
}
|
||||
|
||||
public open class LongProgression : kotlin.collections.Iterable<kotlin.Long> {
|
||||
/*primary*/ internal constructor LongProgression(/*0*/ start: kotlin.Long, /*1*/ endInclusive: kotlin.Long, /*2*/ step: kotlin.Long)
|
||||
public final val first: kotlin.Long
|
||||
public final fun <get-first>(): kotlin.Long
|
||||
public final val last: kotlin.Long
|
||||
public final fun <get-last>(): kotlin.Long
|
||||
public final val step: kotlin.Long
|
||||
public final fun <get-step>(): kotlin.Long
|
||||
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in kotlin.Long!>!): kotlin.Unit
|
||||
public open fun isEmpty(): kotlin.Boolean
|
||||
public open override /*1*/ fun iterator(): kotlin.collections.LongIterator
|
||||
public open override /*1*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<kotlin.Long!>!
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final fun fromClosedRange(/*0*/ rangeStart: kotlin.Long, /*1*/ rangeEnd: kotlin.Long, /*2*/ step: kotlin.Long): kotlin.ranges.LongProgression
|
||||
}
|
||||
}
|
||||
|
||||
internal final class LongProgressionIterator : kotlin.collections.LongIterator {
|
||||
/*primary*/ public constructor LongProgressionIterator(/*0*/ first: kotlin.Long, /*1*/ last: kotlin.Long, /*2*/ step: kotlin.Long)
|
||||
private final val finalElement: kotlin.Long
|
||||
private final fun <get-finalElement>(): kotlin.Long
|
||||
private final var hasNext: kotlin.Boolean
|
||||
private final fun <get-hasNext>(): kotlin.Boolean
|
||||
private final fun <set-hasNext>(/*0*/ <set-?>: kotlin.Boolean): kotlin.Unit
|
||||
private final var next: kotlin.Long
|
||||
private final fun <get-next>(): kotlin.Long
|
||||
private final fun <set-next>(/*0*/ <set-?>: kotlin.Long): kotlin.Unit
|
||||
public final val step: kotlin.Long
|
||||
public final fun <get-step>(): kotlin.Long
|
||||
public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Long!>!): kotlin.Unit
|
||||
public open override /*1*/ fun hasNext(): kotlin.Boolean
|
||||
public final override /*1*/ /*fake_override*/ fun next(): kotlin.Long
|
||||
public open override /*1*/ fun nextLong(): kotlin.Long
|
||||
}
|
||||
|
||||
public final class LongRange : kotlin.ranges.LongProgression, kotlin.ranges.ClosedRange<kotlin.Long> {
|
||||
/*primary*/ public constructor LongRange(/*0*/ start: kotlin.Long, /*1*/ endInclusive: kotlin.Long)
|
||||
public open override /*1*/ val endInclusive: kotlin.Long
|
||||
public open override /*1*/ fun <get-endInclusive>(): kotlin.Long
|
||||
public final override /*1*/ /*fake_override*/ val first: kotlin.Long
|
||||
public final override /*1*/ /*fake_override*/ fun <get-first>(): kotlin.Long
|
||||
public final override /*1*/ /*fake_override*/ val last: kotlin.Long
|
||||
public final override /*1*/ /*fake_override*/ fun <get-last>(): kotlin.Long
|
||||
public open override /*1*/ val start: kotlin.Long
|
||||
public open override /*1*/ fun <get-start>(): kotlin.Long
|
||||
public final override /*1*/ /*fake_override*/ val step: kotlin.Long
|
||||
public final override /*1*/ /*fake_override*/ fun <get-step>(): kotlin.Long
|
||||
public open override /*1*/ fun contains(/*0*/ value: kotlin.Long): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in kotlin.Long!>!): kotlin.Unit
|
||||
public open override /*2*/ fun isEmpty(): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.LongIterator
|
||||
public open override /*1*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<kotlin.Long!>!
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final val EMPTY: kotlin.ranges.LongRange
|
||||
public final fun <get-EMPTY>(): kotlin.ranges.LongRange
|
||||
}
|
||||
}
|
||||
+705
@@ -0,0 +1,705 @@
|
||||
package-fragment kotlin
|
||||
|
||||
public inline fun </*0*/ reified @kotlin.internal.PureReifiable() T> arrayOf(/*0*/ vararg elements: T /*kotlin.Array<out T>*/): kotlin.Array<T>
|
||||
public fun </*0*/ reified @kotlin.internal.PureReifiable() T> arrayOfNulls(/*0*/ size: kotlin.Int): kotlin.Array<T?>
|
||||
public fun booleanArrayOf(/*0*/ vararg elements: kotlin.Boolean /*kotlin.BooleanArray*/): kotlin.BooleanArray
|
||||
public fun byteArrayOf(/*0*/ vararg elements: kotlin.Byte /*kotlin.ByteArray*/): kotlin.ByteArray
|
||||
public fun charArrayOf(/*0*/ vararg elements: kotlin.Char /*kotlin.CharArray*/): kotlin.CharArray
|
||||
public fun doubleArrayOf(/*0*/ vararg elements: kotlin.Double /*kotlin.DoubleArray*/): kotlin.DoubleArray
|
||||
public inline fun </*0*/ reified @kotlin.internal.PureReifiable() T> emptyArray(): kotlin.Array<T>
|
||||
public fun floatArrayOf(/*0*/ vararg elements: kotlin.Float /*kotlin.FloatArray*/): kotlin.FloatArray
|
||||
public fun intArrayOf(/*0*/ vararg elements: kotlin.Int /*kotlin.IntArray*/): kotlin.IntArray
|
||||
public fun longArrayOf(/*0*/ vararg elements: kotlin.Long /*kotlin.LongArray*/): kotlin.LongArray
|
||||
public fun shortArrayOf(/*0*/ vararg elements: kotlin.Short /*kotlin.ShortArray*/): kotlin.ShortArray
|
||||
public operator fun kotlin.String?.plus(/*0*/ other: kotlin.Any?): kotlin.String
|
||||
public fun kotlin.Any?.toString(): kotlin.String
|
||||
|
||||
public interface Annotation {
|
||||
}
|
||||
|
||||
public open class Any {
|
||||
/*primary*/ public constructor Any()
|
||||
}
|
||||
|
||||
public final class Array</*0*/ T> : kotlin.Cloneable, java.io.Serializable {
|
||||
public constructor Array</*0*/ T>(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> T)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.Array<T>
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): T
|
||||
public final operator fun iterator(): kotlin.collections.Iterator<T>
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: T): kotlin.Unit
|
||||
}
|
||||
|
||||
public final class Boolean : kotlin.Comparable<kotlin.Boolean>, java.io.Serializable {
|
||||
/*primary*/ private constructor Boolean()
|
||||
public final infix fun and(/*0*/ other: kotlin.Boolean): kotlin.Boolean
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Boolean): kotlin.Int
|
||||
public final operator fun not(): kotlin.Boolean
|
||||
public final infix fun or(/*0*/ other: kotlin.Boolean): kotlin.Boolean
|
||||
public final infix fun xor(/*0*/ other: kotlin.Boolean): kotlin.Boolean
|
||||
}
|
||||
|
||||
public final class BooleanArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor BooleanArray(/*0*/ size: kotlin.Int)
|
||||
public constructor BooleanArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Boolean)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.BooleanArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Boolean
|
||||
public final operator fun iterator(): kotlin.collections.BooleanIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Boolean): kotlin.Unit
|
||||
}
|
||||
|
||||
public final class Byte : kotlin.Number, kotlin.Comparable<kotlin.Byte>, java.io.Serializable {
|
||||
/*primary*/ private constructor Byte()
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Double): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Float): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Long): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun dec(): kotlin.Byte
|
||||
public final operator fun div(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun div(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun inc(): kotlin.Byte
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Byte): kotlin.ranges.IntRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Int): kotlin.ranges.IntRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Long): kotlin.ranges.LongRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Short): kotlin.ranges.IntRange
|
||||
public final operator fun times(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun times(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun times(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun times(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public open override /*1*/ fun toByte(): kotlin.Byte
|
||||
public open override /*1*/ fun toChar(): kotlin.Char
|
||||
public open override /*1*/ fun toDouble(): kotlin.Double
|
||||
public open override /*1*/ fun toFloat(): kotlin.Float
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Int
|
||||
public final operator fun unaryPlus(): kotlin.Int
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public const final val MAX_VALUE: kotlin.Byte
|
||||
public final fun <get-MAX_VALUE>(): kotlin.Byte
|
||||
public const final val MIN_VALUE: kotlin.Byte
|
||||
public final fun <get-MIN_VALUE>(): kotlin.Byte
|
||||
}
|
||||
}
|
||||
|
||||
public final class ByteArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor ByteArray(/*0*/ size: kotlin.Int)
|
||||
public constructor ByteArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Byte)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.ByteArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Byte
|
||||
public final operator fun iterator(): kotlin.collections.ByteIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Byte): kotlin.Unit
|
||||
}
|
||||
|
||||
public final class Char : kotlin.Comparable<kotlin.Char>, java.io.Serializable {
|
||||
/*primary*/ private constructor Char()
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Char): kotlin.Int
|
||||
public final operator fun dec(): kotlin.Char
|
||||
public final operator fun inc(): kotlin.Char
|
||||
public final operator fun minus(/*0*/ other: kotlin.Char): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Int): kotlin.Char
|
||||
public final operator fun plus(/*0*/ other: kotlin.Int): kotlin.Char
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Char): kotlin.ranges.CharRange
|
||||
public open fun toByte(): kotlin.Byte
|
||||
public open fun toChar(): kotlin.Char
|
||||
public open fun toDouble(): kotlin.Double
|
||||
public open fun toFloat(): kotlin.Float
|
||||
public open fun toInt(): kotlin.Int
|
||||
public open fun toLong(): kotlin.Long
|
||||
public open fun toShort(): kotlin.Short
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public const final val MAX_HIGH_SURROGATE: kotlin.Char
|
||||
public final fun <get-MAX_HIGH_SURROGATE>(): kotlin.Char
|
||||
public const final val MAX_LOW_SURROGATE: kotlin.Char
|
||||
public final fun <get-MAX_LOW_SURROGATE>(): kotlin.Char
|
||||
public const final val MAX_SURROGATE: kotlin.Char
|
||||
public final fun <get-MAX_SURROGATE>(): kotlin.Char
|
||||
public const final val MIN_HIGH_SURROGATE: kotlin.Char
|
||||
public final fun <get-MIN_HIGH_SURROGATE>(): kotlin.Char
|
||||
public const final val MIN_LOW_SURROGATE: kotlin.Char
|
||||
public final fun <get-MIN_LOW_SURROGATE>(): kotlin.Char
|
||||
public const final val MIN_SURROGATE: kotlin.Char
|
||||
public final fun <get-MIN_SURROGATE>(): kotlin.Char
|
||||
}
|
||||
}
|
||||
|
||||
public final class CharArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor CharArray(/*0*/ size: kotlin.Int)
|
||||
public constructor CharArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Char)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.CharArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Char
|
||||
public final operator fun iterator(): kotlin.collections.CharIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Char): kotlin.Unit
|
||||
}
|
||||
|
||||
public interface CharSequence {
|
||||
public abstract val length: kotlin.Int
|
||||
public abstract fun <get-length>(): kotlin.Int
|
||||
public open fun chars(): java.util.stream.IntStream!
|
||||
public open fun codePoints(): java.util.stream.IntStream!
|
||||
public abstract operator fun get(/*0*/ index: kotlin.Int): kotlin.Char
|
||||
public abstract fun subSequence(/*0*/ startIndex: kotlin.Int, /*1*/ endIndex: kotlin.Int): kotlin.CharSequence
|
||||
}
|
||||
|
||||
public interface Cloneable {
|
||||
protected open fun clone(): kotlin.Any
|
||||
}
|
||||
|
||||
public interface Comparable</*0*/ in T> {
|
||||
public abstract operator fun compareTo(/*0*/ other: T): kotlin.Int
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.PROPERTY_GETTER}) @kotlin.annotation.MustBeDocumented() public final annotation class Deprecated : kotlin.Annotation {
|
||||
/*primary*/ public constructor Deprecated(/*0*/ message: kotlin.String, /*1*/ replaceWith: kotlin.ReplaceWith = ..., /*2*/ level: kotlin.DeprecationLevel = ...)
|
||||
public final val level: kotlin.DeprecationLevel
|
||||
public final fun <get-level>(): kotlin.DeprecationLevel
|
||||
public final val message: kotlin.String
|
||||
public final fun <get-message>(): kotlin.String
|
||||
public final val replaceWith: kotlin.ReplaceWith
|
||||
public final fun <get-replaceWith>(): kotlin.ReplaceWith
|
||||
}
|
||||
|
||||
public final enum class DeprecationLevel : kotlin.Enum<kotlin.DeprecationLevel> {
|
||||
enum entry WARNING
|
||||
|
||||
enum entry ERROR
|
||||
|
||||
enum entry HIDDEN
|
||||
|
||||
/*primary*/ private constructor DeprecationLevel()
|
||||
public final override /*1*/ /*fake_override*/ val name: kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ fun <get-name>(): kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun <get-ordinal>(): kotlin.Int
|
||||
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
|
||||
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: kotlin.DeprecationLevel): kotlin.Int
|
||||
protected/*protected and package*/ final override /*1*/ /*fake_override*/ fun finalize(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ fun getDeclaringClass(): java.lang.Class<kotlin.DeprecationLevel!>!
|
||||
|
||||
// Static members
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): kotlin.DeprecationLevel
|
||||
public final /*synthesized*/ fun values(): kotlin.Array<kotlin.DeprecationLevel>
|
||||
}
|
||||
|
||||
public final class Double : kotlin.Number, kotlin.Comparable<kotlin.Double>, java.io.Serializable {
|
||||
/*primary*/ private constructor Double()
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Double): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Float): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Long): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun dec(): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Byte): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Float): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Int): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Double
|
||||
public final operator fun inc(): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Int): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Long): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Short): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Byte): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Float): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Int): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Long): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Short): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Byte): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Float): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Int): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Long): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Short): kotlin.Double
|
||||
public open override /*1*/ fun toByte(): kotlin.Byte
|
||||
public open override /*1*/ fun toChar(): kotlin.Char
|
||||
public open override /*1*/ fun toDouble(): kotlin.Double
|
||||
public open override /*1*/ fun toFloat(): kotlin.Float
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Double
|
||||
public final operator fun unaryPlus(): kotlin.Double
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final val MAX_VALUE: kotlin.Double
|
||||
public final fun <get-MAX_VALUE>(): kotlin.Double
|
||||
public final val MIN_VALUE: kotlin.Double
|
||||
public final fun <get-MIN_VALUE>(): kotlin.Double
|
||||
public final val NEGATIVE_INFINITY: kotlin.Double
|
||||
public final fun <get-NEGATIVE_INFINITY>(): kotlin.Double
|
||||
public final val NaN: kotlin.Double
|
||||
public final fun <get-NaN>(): kotlin.Double
|
||||
public final val POSITIVE_INFINITY: kotlin.Double
|
||||
public final fun <get-POSITIVE_INFINITY>(): kotlin.Double
|
||||
}
|
||||
}
|
||||
|
||||
public final class DoubleArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor DoubleArray(/*0*/ size: kotlin.Int)
|
||||
public constructor DoubleArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Double)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.DoubleArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Double
|
||||
public final operator fun iterator(): kotlin.collections.DoubleIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Double): kotlin.Unit
|
||||
}
|
||||
|
||||
public abstract class Enum</*0*/ E : kotlin.Enum<E>> : kotlin.Comparable<E>, java.io.Serializable {
|
||||
/*primary*/ public constructor Enum</*0*/ E : kotlin.Enum<E>>(/*0*/ name: kotlin.String, /*1*/ ordinal: kotlin.Int)
|
||||
public final val name: kotlin.String
|
||||
public final fun <get-name>(): kotlin.String
|
||||
public final val ordinal: kotlin.Int
|
||||
public final fun <get-ordinal>(): kotlin.Int
|
||||
protected final fun clone(): kotlin.Any
|
||||
public final override /*1*/ fun compareTo(/*0*/ other: E): kotlin.Int
|
||||
protected/*protected and package*/ final fun finalize(): kotlin.Unit
|
||||
public final fun getDeclaringClass(): java.lang.Class<E!>!
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
}
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.MustBeDocumented() public final annotation class ExtensionFunctionType : kotlin.Annotation {
|
||||
/*primary*/ public constructor ExtensionFunctionType()
|
||||
}
|
||||
|
||||
public final class Float : kotlin.Number, kotlin.Comparable<kotlin.Float>, java.io.Serializable {
|
||||
/*primary*/ private constructor Float()
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Double): kotlin.Int
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Float): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Long): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun dec(): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Byte): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Int): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Float
|
||||
public final operator fun inc(): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Int): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Long): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Short): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Byte): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Int): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Long): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Short): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Byte): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Int): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Long): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Short): kotlin.Float
|
||||
public open override /*1*/ fun toByte(): kotlin.Byte
|
||||
public open override /*1*/ fun toChar(): kotlin.Char
|
||||
public open override /*1*/ fun toDouble(): kotlin.Double
|
||||
public open override /*1*/ fun toFloat(): kotlin.Float
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Float
|
||||
public final operator fun unaryPlus(): kotlin.Float
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public final val MAX_VALUE: kotlin.Float
|
||||
public final fun <get-MAX_VALUE>(): kotlin.Float
|
||||
public final val MIN_VALUE: kotlin.Float
|
||||
public final fun <get-MIN_VALUE>(): kotlin.Float
|
||||
public final val NEGATIVE_INFINITY: kotlin.Float
|
||||
public final fun <get-NEGATIVE_INFINITY>(): kotlin.Float
|
||||
public final val NaN: kotlin.Float
|
||||
public final fun <get-NaN>(): kotlin.Float
|
||||
public final val POSITIVE_INFINITY: kotlin.Float
|
||||
public final fun <get-POSITIVE_INFINITY>(): kotlin.Float
|
||||
}
|
||||
}
|
||||
|
||||
public final class FloatArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor FloatArray(/*0*/ size: kotlin.Int)
|
||||
public constructor FloatArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Float)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.FloatArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Float
|
||||
public final operator fun iterator(): kotlin.collections.FloatIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Float): kotlin.Unit
|
||||
}
|
||||
|
||||
public interface Function</*0*/ out R> {
|
||||
}
|
||||
|
||||
public final class Int : kotlin.Number, kotlin.Comparable<kotlin.Int>, java.io.Serializable {
|
||||
/*primary*/ private constructor Int()
|
||||
public final infix fun and(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Double): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Float): kotlin.Int
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Long): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun dec(): kotlin.Int
|
||||
public final operator fun div(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun div(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun inc(): kotlin.Int
|
||||
public final fun inv(): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final infix fun or(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Byte): kotlin.ranges.IntRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Int): kotlin.ranges.IntRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Long): kotlin.ranges.LongRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Short): kotlin.ranges.IntRange
|
||||
public final infix fun shl(/*0*/ bitCount: kotlin.Int): kotlin.Int
|
||||
public final infix fun shr(/*0*/ bitCount: kotlin.Int): kotlin.Int
|
||||
public final operator fun times(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun times(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun times(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun times(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public open override /*1*/ fun toByte(): kotlin.Byte
|
||||
public open override /*1*/ fun toChar(): kotlin.Char
|
||||
public open override /*1*/ fun toDouble(): kotlin.Double
|
||||
public open override /*1*/ fun toFloat(): kotlin.Float
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Int
|
||||
public final operator fun unaryPlus(): kotlin.Int
|
||||
public final infix fun ushr(/*0*/ bitCount: kotlin.Int): kotlin.Int
|
||||
public final infix fun xor(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public const final val MAX_VALUE: kotlin.Int
|
||||
public final fun <get-MAX_VALUE>(): kotlin.Int
|
||||
public const final val MIN_VALUE: kotlin.Int
|
||||
public final fun <get-MIN_VALUE>(): kotlin.Int
|
||||
}
|
||||
}
|
||||
|
||||
public final class IntArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor IntArray(/*0*/ size: kotlin.Int)
|
||||
public constructor IntArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Int)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.IntArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Int
|
||||
public final operator fun iterator(): kotlin.collections.IntIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Int): kotlin.Unit
|
||||
}
|
||||
|
||||
public final class Long : kotlin.Number, kotlin.Comparable<kotlin.Long>, java.io.Serializable {
|
||||
/*primary*/ private constructor Long()
|
||||
public final infix fun and(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Double): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Float): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Long): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun dec(): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Byte): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Int): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Long
|
||||
public final operator fun inc(): kotlin.Long
|
||||
public final fun inv(): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Int): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Short): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Byte): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Long
|
||||
public final infix fun or(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Int): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Short): kotlin.Long
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Byte): kotlin.ranges.LongRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Int): kotlin.ranges.LongRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Long): kotlin.ranges.LongRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Short): kotlin.ranges.LongRange
|
||||
public final infix fun shl(/*0*/ bitCount: kotlin.Int): kotlin.Long
|
||||
public final infix fun shr(/*0*/ bitCount: kotlin.Int): kotlin.Long
|
||||
public final operator fun times(/*0*/ other: kotlin.Byte): kotlin.Long
|
||||
public final operator fun times(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Int): kotlin.Long
|
||||
public final operator fun times(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun times(/*0*/ other: kotlin.Short): kotlin.Long
|
||||
public open override /*1*/ fun toByte(): kotlin.Byte
|
||||
public open override /*1*/ fun toChar(): kotlin.Char
|
||||
public open override /*1*/ fun toDouble(): kotlin.Double
|
||||
public open override /*1*/ fun toFloat(): kotlin.Float
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Long
|
||||
public final operator fun unaryPlus(): kotlin.Long
|
||||
public final infix fun ushr(/*0*/ bitCount: kotlin.Int): kotlin.Long
|
||||
public final infix fun xor(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public const final val MAX_VALUE: kotlin.Long
|
||||
public final fun <get-MAX_VALUE>(): kotlin.Long
|
||||
public const final val MIN_VALUE: kotlin.Long
|
||||
public final fun <get-MIN_VALUE>(): kotlin.Long
|
||||
}
|
||||
}
|
||||
|
||||
public final class LongArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor LongArray(/*0*/ size: kotlin.Int)
|
||||
public constructor LongArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Long)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.LongArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Long
|
||||
public final operator fun iterator(): kotlin.collections.LongIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Long): kotlin.Unit
|
||||
}
|
||||
|
||||
public final class Nothing {
|
||||
/*primary*/ private constructor Nothing()
|
||||
}
|
||||
|
||||
public abstract class Number : kotlin.Any, java.io.Serializable {
|
||||
/*primary*/ public constructor Number()
|
||||
public abstract fun toByte(): kotlin.Byte
|
||||
public abstract fun toChar(): kotlin.Char
|
||||
public abstract fun toDouble(): kotlin.Double
|
||||
public abstract fun toFloat(): kotlin.Float
|
||||
public abstract fun toInt(): kotlin.Int
|
||||
public abstract fun toLong(): kotlin.Long
|
||||
public abstract fun toShort(): kotlin.Short
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.MustBeDocumented() public final annotation class ReplaceWith : kotlin.Annotation {
|
||||
/*primary*/ public constructor ReplaceWith(/*0*/ expression: kotlin.String, /*1*/ vararg imports: kotlin.String /*kotlin.Array<out kotlin.String>*/)
|
||||
public final val expression: kotlin.String
|
||||
public final fun <get-expression>(): kotlin.String
|
||||
public final val imports: kotlin.Array<out kotlin.String>
|
||||
public final fun <get-imports>(): kotlin.Array<out kotlin.String>
|
||||
}
|
||||
|
||||
public final class Short : kotlin.Number, kotlin.Comparable<kotlin.Short>, java.io.Serializable {
|
||||
/*primary*/ private constructor Short()
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Double): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Float): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun compareTo(/*0*/ other: kotlin.Long): kotlin.Int
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun dec(): kotlin.Short
|
||||
public final operator fun div(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun div(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun inc(): kotlin.Short
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Byte): kotlin.ranges.IntRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Int): kotlin.ranges.IntRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Long): kotlin.ranges.LongRange
|
||||
public final operator fun rangeTo(/*0*/ other: kotlin.Short): kotlin.ranges.IntRange
|
||||
public final operator fun times(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun times(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun times(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
public final operator fun times(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun times(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun times(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public open override /*1*/ fun toByte(): kotlin.Byte
|
||||
public open override /*1*/ fun toChar(): kotlin.Char
|
||||
public open override /*1*/ fun toDouble(): kotlin.Double
|
||||
public open override /*1*/ fun toFloat(): kotlin.Float
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Int
|
||||
public final operator fun unaryPlus(): kotlin.Int
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
public const final val MAX_VALUE: kotlin.Short
|
||||
public final fun <get-MAX_VALUE>(): kotlin.Short
|
||||
public const final val MIN_VALUE: kotlin.Short
|
||||
public final fun <get-MIN_VALUE>(): kotlin.Short
|
||||
}
|
||||
}
|
||||
|
||||
public final class ShortArray : kotlin.Cloneable, java.io.Serializable {
|
||||
/*primary*/ public constructor ShortArray(/*0*/ size: kotlin.Int)
|
||||
public constructor ShortArray(/*0*/ size: kotlin.Int, /*1*/ init: (kotlin.Int) -> kotlin.Short)
|
||||
public final val size: kotlin.Int
|
||||
public final fun <get-size>(): kotlin.Int
|
||||
public open override /*1*/ fun clone(): kotlin.ShortArray
|
||||
public final operator fun get(/*0*/ index: kotlin.Int): kotlin.Short
|
||||
public final operator fun iterator(): kotlin.collections.ShortIterator
|
||||
public final operator fun set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Short): kotlin.Unit
|
||||
}
|
||||
|
||||
public final class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable {
|
||||
/*primary*/ public constructor String()
|
||||
public open override /*1*/ val length: kotlin.Int
|
||||
public open override /*1*/ fun <get-length>(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun chars(): java.util.stream.IntStream!
|
||||
public open override /*1*/ /*fake_override*/ fun codePoints(): java.util.stream.IntStream!
|
||||
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.String): kotlin.Int
|
||||
public open override /*1*/ fun get(/*0*/ index: kotlin.Int): kotlin.Char
|
||||
public final operator fun plus(/*0*/ other: kotlin.Any?): kotlin.String
|
||||
public open override /*1*/ fun subSequence(/*0*/ startIndex: kotlin.Int, /*1*/ endIndex: kotlin.Int): kotlin.CharSequence
|
||||
|
||||
public companion object Companion {
|
||||
/*primary*/ private constructor Companion()
|
||||
}
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPE, AnnotationTarget.EXPRESSION, AnnotationTarget.FILE}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) public final annotation class Suppress : kotlin.Annotation {
|
||||
/*primary*/ public constructor Suppress(/*0*/ vararg names: kotlin.String /*kotlin.Array<out kotlin.String>*/)
|
||||
public final val names: kotlin.Array<out kotlin.String>
|
||||
public final fun <get-names>(): kotlin.Array<out kotlin.String>
|
||||
}
|
||||
|
||||
public open class Throwable : kotlin.Any, java.io.Serializable {
|
||||
public constructor Throwable()
|
||||
public constructor Throwable(/*0*/ message: kotlin.String?)
|
||||
/*primary*/ public constructor Throwable(/*0*/ message: kotlin.String?, /*1*/ cause: kotlin.Throwable?)
|
||||
public constructor Throwable(/*0*/ cause: kotlin.Throwable?)
|
||||
public open val cause: kotlin.Throwable?
|
||||
public open fun <get-cause>(): kotlin.Throwable?
|
||||
public open val message: kotlin.String?
|
||||
public open fun <get-message>(): kotlin.String?
|
||||
public final fun addSuppressed(/*0*/ p0: kotlin.Throwable!): kotlin.Unit
|
||||
public open fun fillInStackTrace(): kotlin.Throwable!
|
||||
public open fun getLocalizedMessage(): kotlin.String!
|
||||
public open fun getStackTrace(): kotlin.Array<(out) java.lang.StackTraceElement!>!
|
||||
public final fun getSuppressed(): kotlin.Array<(out) kotlin.Throwable!>!
|
||||
public open fun initCause(/*0*/ p0: kotlin.Throwable!): kotlin.Throwable!
|
||||
public open fun printStackTrace(): kotlin.Unit
|
||||
public open fun printStackTrace(/*0*/ p0: java.io.PrintStream!): kotlin.Unit
|
||||
public open fun printStackTrace(/*0*/ p0: java.io.PrintWriter!): kotlin.Unit
|
||||
public open fun setStackTrace(/*0*/ p0: kotlin.Array<(out) java.lang.StackTraceElement!>!): kotlin.Unit
|
||||
}
|
||||
|
||||
public object Unit {
|
||||
/*primary*/ private constructor Unit()
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @kotlin.annotation.MustBeDocumented() public final annotation class UnsafeVariance : kotlin.Annotation {
|
||||
/*primary*/ public constructor UnsafeVariance()
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
// FULL_JDK
|
||||
// WITH_RUNTIME
|
||||
|
||||
import java.util.*
|
||||
import java.util.function.Predicate
|
||||
|
||||
class MyList : AbstractCollection<String>(), MutableCollection<String> {
|
||||
override fun iterator(): MutableIterator<String> {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
override val size: Int
|
||||
get() = throw UnsupportedOperationException()
|
||||
|
||||
override fun removeIf(predicate: Predicate<in String>) =
|
||||
predicate.test("abc")
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val ml = mutableListOf("xyz", "abc")
|
||||
|
||||
if (!ml.removeIf { x -> x == "abc" }) return "fail 1"
|
||||
if (ml.removeIf { x -> x == "abc" }) return "fail 2"
|
||||
|
||||
if (ml != listOf("xyz")) return "fail 3"
|
||||
|
||||
val myList = MyList()
|
||||
|
||||
if (!myList.removeIf { x -> x == "abc" }) return "fail 4"
|
||||
if (myList.removeIf { x -> x == "xyz" }) return "fail 5"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
// FULL_JDK
|
||||
// WITH_RUNTIME
|
||||
import java.util.stream.*
|
||||
|
||||
class B<F> : List<F> {
|
||||
override val size: Int
|
||||
get() = throw UnsupportedOperationException()
|
||||
|
||||
override fun contains(element: F): Boolean {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
override fun containsAll(elements: Collection<F>): Boolean {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
override fun get(index: Int): F {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
override fun indexOf(element: F): Int {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
override fun isEmpty(): Boolean {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
override fun iterator(): Iterator<F> {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
override fun lastIndexOf(element: F): Int {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
override fun listIterator(): ListIterator<F> {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
override fun listIterator(index: Int): ListIterator<F> {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
override fun subList(fromIndex: Int, toIndex: Int): List<F> {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
override fun stream() = Stream.of("abc", "ab") as Stream<F>
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val a: List<String> = listOf("abc", "a", "ab")
|
||||
val b = a.stream().filter { it.length > 1 }.collect(Collectors.toList())
|
||||
if (b != listOf("abc", "ab")) return "fail 1"
|
||||
|
||||
val c = B<String>().stream().collect(Collectors.toList())
|
||||
if (c != listOf("abc", "ab")) return "fail 2"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
// FILE: A.kt
|
||||
import java.util.*
|
||||
class Jdk6List<F> : AbstractList<F>() {
|
||||
override fun get(index: Int): F {
|
||||
return "OK" as F
|
||||
}
|
||||
|
||||
override val size: Int
|
||||
get() = 2
|
||||
|
||||
}
|
||||
|
||||
// FILE: B.kt
|
||||
// FULL_JDK
|
||||
|
||||
fun box(): String {
|
||||
val result = Jdk6List<String>().stream().filter { it == "OK" }.count()
|
||||
if (result != 2L) return "fai1: $result"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import java.util.stream.*
|
||||
|
||||
interface A : MutableCollection<String> {
|
||||
override fun removeIf(x: java.util.function.Predicate<in String>) = false
|
||||
}
|
||||
|
||||
fun foo(x: MutableList<String>, y: A) {
|
||||
x.removeIf { it.length > 0 }
|
||||
y.removeIf { it.length > 0 }
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package
|
||||
|
||||
public fun foo(/*0*/ x: kotlin.collections.MutableList<kotlin.String>, /*1*/ y: A): kotlin.Unit
|
||||
|
||||
public interface A : kotlin.collections.MutableCollection<kotlin.String> {
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ element: kotlin.String): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun addAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun contains(/*0*/ element: kotlin.String): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in kotlin.String!>!): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.MutableIterator<kotlin.String>
|
||||
public open override /*1*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<kotlin.String!>!
|
||||
public abstract override /*1*/ /*fake_override*/ fun remove(/*0*/ element: kotlin.String): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String>): kotlin.Boolean
|
||||
public open override /*1*/ fun removeIf(/*0*/ x: java.util.function.Predicate<in kotlin.String>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<kotlin.String!>!
|
||||
public open override /*1*/ /*fake_override*/ fun stream(): java.util.stream.Stream<kotlin.String!>!
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import java.util.stream.*
|
||||
|
||||
interface A : Collection<String> {
|
||||
override fun stream(): Stream<String> = Stream.of()
|
||||
}
|
||||
|
||||
fun foo(x: List<String>, y: A) {
|
||||
x.stream().filter { it.length > 0 }.collect(Collectors.toList())
|
||||
y.stream().filter { it.length > 0 }
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package
|
||||
|
||||
public fun foo(/*0*/ x: kotlin.collections.List<kotlin.String>, /*1*/ y: A): kotlin.Unit
|
||||
|
||||
public interface A : kotlin.collections.Collection<kotlin.String> {
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun contains(/*0*/ element: kotlin.String): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<kotlin.String>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in kotlin.String!>!): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.Iterator<kotlin.String>
|
||||
public open override /*1*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<kotlin.String!>!
|
||||
public open override /*1*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<kotlin.String!>!
|
||||
public open override /*1*/ fun stream(): java.util.stream.Stream<kotlin.String>
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+4
-2
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.PackageViewDescriptor
|
||||
import org.jetbrains.kotlin.load.java.descriptors.JavaCallableMemberDescriptor
|
||||
import org.jetbrains.kotlin.resolve.MemberComparator
|
||||
import org.jetbrains.kotlin.resolve.scopes.MemberScope
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberScope
|
||||
@@ -45,9 +46,10 @@ private fun validateDeserializedScope(scopeOwner: DeclarationDescriptor, scope:
|
||||
}
|
||||
|
||||
private fun checkSorted(descriptors: Collection<DeclarationDescriptor>, declaration: DeclarationDescriptor) {
|
||||
val serializedOnly = descriptors.filterNot { it is JavaCallableMemberDescriptor }
|
||||
KtUsefulTestCase.assertOrderedEquals(
|
||||
"Members of $declaration should be sorted by serialization.",
|
||||
descriptors,
|
||||
descriptors.sortedWith(MemberComparator.INSTANCE)
|
||||
serializedOnly,
|
||||
serializedOnly.sortedWith(MemberComparator.INSTANCE)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -20,10 +20,10 @@ import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.analyzer.ModuleContent
|
||||
import org.jetbrains.kotlin.analyzer.ModuleInfo
|
||||
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
||||
import org.jetbrains.kotlin.container.get
|
||||
import org.jetbrains.kotlin.context.ProjectContext
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.platform.JvmBuiltIns
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.resolve.CompilerEnvironment
|
||||
import org.jetbrains.kotlin.resolve.jvm.JvmAnalyzerFacade
|
||||
@@ -42,7 +42,7 @@ fun createResolveSessionForFiles(
|
||||
{ ModuleContent(syntheticFiles, GlobalSearchScope.allScope(project)) },
|
||||
JvmPlatformParameters { testModule },
|
||||
CompilerEnvironment,
|
||||
JvmBuiltIns.Instance
|
||||
DefaultBuiltIns.Instance
|
||||
)
|
||||
return resolverForProject.resolverForModule(testModule).componentProvider.get<ResolveSession>()
|
||||
}
|
||||
|
||||
@@ -22,5 +22,6 @@
|
||||
<orderEntry type="module" module-name="util" />
|
||||
<orderEntry type="module" module-name="compiler-tests" />
|
||||
<orderEntry type="module" module-name="tests-common" />
|
||||
<orderEntry type="module" module-name="descriptor.loader.java" />
|
||||
</component>
|
||||
</module>
|
||||
+21
@@ -112,4 +112,25 @@ public class DiagnosticsWithJava8TestGenerated extends AbstractDiagnosticsWithFu
|
||||
doTest(fileName);
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/diagnostics/testsWithJava8/targetedBuiltIns")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class TargetedBuiltIns extends AbstractDiagnosticsWithFullJdkTest {
|
||||
public void testAllFilesPresentInTargetedBuiltIns() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/testsWithJava8/targetedBuiltIns"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("removeIf.kt")
|
||||
public void testRemoveIf() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithJava8/targetedBuiltIns/removeIf.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("stream.kt")
|
||||
public void testStream() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithJava8/targetedBuiltIns/stream.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+12
@@ -83,12 +83,24 @@ public class BlackBoxWithJava8CodegenTestGenerated extends AbstractBlackBoxCodeg
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("removeIf.kt")
|
||||
public void testRemoveIf() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/java8/box/removeIf.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("samOnInterfaceWithDefaultMethod.kt")
|
||||
public void testSamOnInterfaceWithDefaultMethod() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/java8/box/samOnInterfaceWithDefaultMethod.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("stream.kt")
|
||||
public void testStream() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/java8/box/stream.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("useStream.kt")
|
||||
public void testUseStream() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/java8/box/useStream.kt");
|
||||
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.codegen;
|
||||
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
import org.jetbrains.kotlin.test.TestMetadata;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/compileKotlinAgainstKotlinJava8")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public class CompileKotlinAgainstKotlinTestGenerated extends AbstractCompileKotlinAgainstKotlinTest {
|
||||
public void testAllFilesPresentInCompileKotlinAgainstKotlinJava8() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/compileKotlinAgainstKotlinJava8"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("jdk8Against6.kt")
|
||||
public void testJdk8Against6() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/compileKotlinAgainstKotlinJava8/jdk8Against6.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.serialization.builtins
|
||||
|
||||
class Java8BuiltInsWithJDKMembersTest : AbstractBuiltInsWithJDKMembersTest() {
|
||||
fun testLoadBuiltIns() {
|
||||
doTest("java8")
|
||||
}
|
||||
}
|
||||
@@ -355,7 +355,11 @@ public abstract class AbstractDiagnosticsTest extends BaseDiagnosticsTest {
|
||||
|
||||
@NotNull
|
||||
protected ModuleDescriptorImpl createModule(@NotNull String moduleName, @NotNull StorageManager storageManager) {
|
||||
return TargetPlatformKt.createModule(JvmPlatform.INSTANCE, Name.special(moduleName), storageManager, JvmBuiltIns.getInstance());
|
||||
JvmBuiltIns builtIns = new JvmBuiltIns(storageManager);
|
||||
ModuleDescriptorImpl module = TargetPlatformKt.createModule(
|
||||
JvmPlatform.INSTANCE, Name.special(moduleName), storageManager, builtIns);
|
||||
builtIns.setOwnerModuleDescriptor(module);
|
||||
return module;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+6
-2
@@ -60,9 +60,11 @@ class MultiModuleJavaAnalysisCustomTest : KtUsefulTestCase() {
|
||||
val moduleDirs = File(PATH_TO_TEST_ROOT_DIR).listFiles { it -> it.isDirectory }!!
|
||||
val environment = createEnvironment(moduleDirs)
|
||||
val modules = setupModules(environment, moduleDirs)
|
||||
val projectContext = ProjectContext(environment.project)
|
||||
val builtIns = JvmBuiltIns(projectContext.storageManager)
|
||||
val resolverForProject = JvmAnalyzerFacade.setupResolverForProject(
|
||||
"test",
|
||||
ProjectContext(environment.project), modules,
|
||||
projectContext, modules,
|
||||
{ m -> ModuleContent(m.kotlinFiles, m.javaFilesScope) },
|
||||
JvmPlatformParameters {
|
||||
javaClass ->
|
||||
@@ -70,10 +72,12 @@ class MultiModuleJavaAnalysisCustomTest : KtUsefulTestCase() {
|
||||
modules.first { it._name == moduleName }
|
||||
},
|
||||
CompilerEnvironment,
|
||||
JvmBuiltIns.Instance,
|
||||
builtIns,
|
||||
packagePartProviderFactory = { a, b -> JvmPackagePartProvider(environment) }
|
||||
)
|
||||
|
||||
builtIns.setOwnerModuleDescriptor(resolverForProject.descriptorForModule(resolverForProject.allModules.first()))
|
||||
|
||||
performChecks(resolverForProject, modules)
|
||||
}
|
||||
|
||||
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.serialization.builtins
|
||||
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns.*
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.CliLightClassGenerationSupport
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||
import org.jetbrains.kotlin.context.ModuleContext
|
||||
import org.jetbrains.kotlin.descriptors.PackagePartProvider
|
||||
import org.jetbrains.kotlin.frontend.java.di.createContainerForTopDownAnalyzerForJvm
|
||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.platform.JvmBuiltIns
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererModifier
|
||||
import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy
|
||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
||||
import org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory
|
||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager
|
||||
import org.jetbrains.kotlin.test.ConfigurationKind
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import org.jetbrains.kotlin.test.KotlinTestWithEnvironment
|
||||
import org.jetbrains.kotlin.test.TestJdkKind
|
||||
import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator
|
||||
import java.io.File
|
||||
|
||||
abstract class AbstractBuiltInsWithJDKMembersTest : KotlinTestWithEnvironment() {
|
||||
override fun createEnvironment(): KotlinCoreEnvironment {
|
||||
return createEnvironmentWithJdk(ConfigurationKind.JDK_ONLY, TestJdkKind.FULL_JDK)
|
||||
}
|
||||
|
||||
protected fun doTest(builtinVersionName: String) {
|
||||
val configuration = RecursiveDescriptorComparator.RECURSIVE_ALL.includeMethodsOfKotlinAny(false).withRenderer(
|
||||
DescriptorRenderer.withOptions {
|
||||
withDefinedIn = false
|
||||
overrideRenderingPolicy = OverrideRenderingPolicy.RENDER_OPEN_OVERRIDE
|
||||
verbose = true
|
||||
modifiers = DescriptorRendererModifier.ALL
|
||||
})
|
||||
|
||||
val jvmBuiltIns = JvmBuiltIns(LockBasedStorageManager.NO_LOCKS)
|
||||
val emptyModule = KotlinTestUtils.createEmptyModule("<empty>", JvmPlatform, jvmBuiltIns)
|
||||
jvmBuiltIns.setOwnerModuleDescriptor(emptyModule)
|
||||
|
||||
val moduleContext = ModuleContext(emptyModule, environment.project)
|
||||
val providerFactory = FileBasedDeclarationProviderFactory(moduleContext.storageManager, emptyList())
|
||||
|
||||
val container = createContainerForTopDownAnalyzerForJvm(
|
||||
moduleContext,
|
||||
CliLightClassGenerationSupport.CliBindingTrace(), providerFactory,
|
||||
GlobalSearchScope.allScope(environment.project), LookupTracker.DO_NOTHING, PackagePartProvider.EMPTY)
|
||||
|
||||
emptyModule.initialize(container.javaDescriptorResolver.packageFragmentProvider)
|
||||
emptyModule.setDependencies(emptyModule)
|
||||
|
||||
val packageFragmentProvider = emptyModule.builtIns.builtInsModule.packageFragmentProvider
|
||||
|
||||
for (packageFqName in listOf<FqName>(BUILT_INS_PACKAGE_FQ_NAME, COLLECTIONS_PACKAGE_FQ_NAME, RANGES_PACKAGE_FQ_NAME)) {
|
||||
val loaded = packageFragmentProvider.getPackageFragments(packageFqName).single()
|
||||
RecursiveDescriptorComparator.validateAndCompareDescriptorWithFile(
|
||||
loaded, configuration,
|
||||
File("compiler/testData/builtin-classes/$builtinVersionName/" + packageFqName.asString().replace('.', '-') + ".txt"))
|
||||
}
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.serialization.builtins
|
||||
|
||||
class Java6BuiltInsWithJDKMembersTest : AbstractBuiltInsWithJDKMembersTest() {
|
||||
fun testLoadBuiltIns() {
|
||||
doTest("java6")
|
||||
}
|
||||
}
|
||||
@@ -48,7 +48,15 @@ class JavaResolverComponents(
|
||||
val packageMapper: PackagePartProvider,
|
||||
val supertypeLoopChecker: SupertypeLoopChecker,
|
||||
val lookupTracker: LookupTracker
|
||||
)
|
||||
) {
|
||||
fun replace(
|
||||
javaResolverCache: JavaResolverCache = this.javaResolverCache
|
||||
) = JavaResolverComponents(
|
||||
storageManager, finder, kotlinClassFinder, deserializedDescriptorResolver,
|
||||
externalAnnotationResolver, signaturePropagator, errorReporter, javaResolverCache,
|
||||
javaPropertyInitializerEvaluator, samConversionResolver, sourceElementFactory,
|
||||
moduleClassResolver, packageMapper, supertypeLoopChecker, lookupTracker)
|
||||
}
|
||||
|
||||
open class LazyJavaResolverContext(
|
||||
val components: JavaResolverComponents,
|
||||
@@ -68,6 +76,9 @@ fun LazyJavaResolverContext.child(
|
||||
typeParameterResolver: TypeParameterResolver
|
||||
) = LazyJavaResolverContext(components, packageFragmentProvider, javaClassResolver, module, reflectionTypes, typeParameterResolver)
|
||||
|
||||
fun LazyJavaResolverContext.replaceComponents(
|
||||
components: JavaResolverComponents
|
||||
) = LazyJavaResolverContext(components, packageFragmentProvider, javaClassResolver, module, reflectionTypes, typeParameterResolver)
|
||||
|
||||
fun LazyJavaResolverContext.child(
|
||||
containingDeclaration: DeclarationDescriptor,
|
||||
|
||||
+20
-4
@@ -23,17 +23,17 @@ import org.jetbrains.kotlin.descriptors.impl.ClassDescriptorBase
|
||||
import org.jetbrains.kotlin.load.java.FakePureImplementationsProvider
|
||||
import org.jetbrains.kotlin.load.java.JavaVisibilities
|
||||
import org.jetbrains.kotlin.load.java.JvmAnnotationNames
|
||||
import org.jetbrains.kotlin.load.java.components.JavaResolverCache
|
||||
import org.jetbrains.kotlin.load.java.components.TypeUsage
|
||||
import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor
|
||||
import org.jetbrains.kotlin.load.java.lazy.LazyJavaResolverContext
|
||||
import org.jetbrains.kotlin.load.java.lazy.child
|
||||
import org.jetbrains.kotlin.load.java.lazy.resolveAnnotations
|
||||
import org.jetbrains.kotlin.load.java.lazy.*
|
||||
import org.jetbrains.kotlin.load.java.lazy.types.toAttributes
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaClassifierType
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaType
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.isValidJavaFqName
|
||||
import org.jetbrains.kotlin.platform.createMappedTypeParametersSubstitution
|
||||
import org.jetbrains.kotlin.resolve.constants.StringValue
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameUnsafe
|
||||
@@ -48,7 +48,8 @@ import java.util.*
|
||||
class LazyJavaClassDescriptor(
|
||||
private val outerContext: LazyJavaResolverContext,
|
||||
containingDeclaration: DeclarationDescriptor,
|
||||
private val jClass: JavaClass
|
||||
private val jClass: JavaClass,
|
||||
private val additionalSupertypeClassDescriptor: ClassDescriptor? = null
|
||||
) : ClassDescriptorBase(outerContext.storageManager, containingDeclaration, jClass.name,
|
||||
outerContext.components.sourceElementFactory.source(jClass)), JavaClassDescriptor {
|
||||
|
||||
@@ -157,6 +158,14 @@ class LazyJavaClassDescriptor(
|
||||
}
|
||||
}
|
||||
|
||||
// Add fake supertype kotlin.collection.Collection<E> to java.util.Collection<E> class if needed
|
||||
// Only needed when calculating built-ins member scope
|
||||
result.addIfNotNull(
|
||||
additionalSupertypeClassDescriptor?.let {
|
||||
createMappedTypeParametersSubstitution(it, this@LazyJavaClassDescriptor)
|
||||
.buildSubstitutor().substitute(it.defaultType, Variance.INVARIANT)
|
||||
})
|
||||
|
||||
result.addIfNotNull(purelyImplementedSupertype)
|
||||
|
||||
if (incomplete.isNotEmpty()) {
|
||||
@@ -213,4 +222,11 @@ class LazyJavaClassDescriptor(
|
||||
|
||||
override fun toString(): String = getName().asString()
|
||||
}
|
||||
|
||||
// Only needed when calculating built-ins member scope
|
||||
internal fun copy(
|
||||
javaResolverCache: JavaResolverCache, additionalSupertypeClassDescriptor: ClassDescriptor?
|
||||
) = LazyJavaClassDescriptor(
|
||||
c.replaceComponents(c.components.replace(javaResolverCache = javaResolverCache)),
|
||||
containingDeclaration, jClass, additionalSupertypeClassDescriptor)
|
||||
}
|
||||
|
||||
+5
-5
@@ -82,7 +82,7 @@ class LazyJavaClassMemberScope(
|
||||
result.add(descriptor)
|
||||
result.addIfNotNull(c.components.samConversionResolver.resolveSamAdapter(descriptor))
|
||||
}
|
||||
|
||||
|
||||
enhanceSignatures(
|
||||
result.ifEmpty { emptyOrSingletonList(createDefaultConstructor()) }
|
||||
).toReadOnlyList()
|
||||
@@ -346,10 +346,10 @@ class LazyJavaClassMemberScope(
|
||||
}
|
||||
|
||||
private fun getFunctionsFromSupertypes(name: Name): Set<SimpleFunctionDescriptor> {
|
||||
return ownerDescriptor.typeConstructor.supertypes.flatMapTo(LinkedHashSet()) {
|
||||
it.memberScope.getContributedFunctions(name, NoLookupLocation.WHEN_GET_SUPER_MEMBERS)
|
||||
}
|
||||
}
|
||||
return ownerDescriptor.typeConstructor.supertypes.flatMapTo(LinkedHashSet()) {
|
||||
it.memberScope.getContributedFunctions(name, NoLookupLocation.WHEN_GET_SUPER_MEMBERS)
|
||||
}
|
||||
}
|
||||
|
||||
override fun computeNonDeclaredProperties(name: Name, result: MutableCollection<PropertyDescriptor>) {
|
||||
if (jClass.isAnnotationType) {
|
||||
|
||||
+121
-9
@@ -17,28 +17,42 @@
|
||||
package org.jetbrains.kotlin.load.kotlin
|
||||
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.SourceElement
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.descriptors.impl.ClassDescriptorImpl
|
||||
import org.jetbrains.kotlin.descriptors.impl.PackageFragmentDescriptorImpl
|
||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||
import org.jetbrains.kotlin.load.java.components.JavaResolverCache
|
||||
import org.jetbrains.kotlin.load.java.lazy.descriptors.LazyJavaClassDescriptor
|
||||
import org.jetbrains.kotlin.load.java.lazy.descriptors.LazyJavaClassMemberScope
|
||||
import org.jetbrains.kotlin.load.java.lazy.replaceComponents
|
||||
import org.jetbrains.kotlin.load.java.sources.JavaSourceElement
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.platform.JavaToKotlinClassMap
|
||||
import org.jetbrains.kotlin.platform.JvmBuiltIns
|
||||
import org.jetbrains.kotlin.platform.createMappedTypeParametersSubstitution
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameUnsafe
|
||||
import org.jetbrains.kotlin.resolve.jvm.JvmPrimitiveType
|
||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
||||
import org.jetbrains.kotlin.resolve.scopes.MemberScope
|
||||
import org.jetbrains.kotlin.serialization.deserialization.AdditionalClassPartsProvider
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor
|
||||
import org.jetbrains.kotlin.types.DelegatingType
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
import org.jetbrains.kotlin.types.Variance
|
||||
import org.jetbrains.kotlin.utils.SmartSet
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.check
|
||||
import java.io.Serializable
|
||||
import java.util.*
|
||||
|
||||
class BuiltInClassesAreSerializableOnJvm(
|
||||
private val moduleDescriptor: ModuleDescriptor
|
||||
open class BuiltInClassesAreSerializableOnJvm(
|
||||
private val moduleDescriptor: ModuleDescriptor,
|
||||
deferredOwnerModuleDescriptor: () -> ModuleDescriptor
|
||||
) : AdditionalClassPartsProvider {
|
||||
|
||||
private val ownerModuleDescriptor: ModuleDescriptor by lazy(deferredOwnerModuleDescriptor)
|
||||
|
||||
private val mockSerializableType = createMockJavaIoSerializableType()
|
||||
|
||||
private fun createMockJavaIoSerializableType(): KotlinType {
|
||||
@@ -49,7 +63,7 @@ class BuiltInClassesAreSerializableOnJvm(
|
||||
//NOTE: can't reference anyType right away, because this is sometimes called when JvmBuiltIns are initializing
|
||||
val superTypes = listOf(object : DelegatingType() {
|
||||
override fun getDelegate(): KotlinType {
|
||||
return JvmBuiltIns.Instance.anyType
|
||||
return moduleDescriptor.builtIns.anyType
|
||||
}
|
||||
})
|
||||
|
||||
@@ -68,6 +82,74 @@ class BuiltInClassesAreSerializableOnJvm(
|
||||
else return listOf()
|
||||
}
|
||||
|
||||
override fun getFunctions(name: Name, classDescriptor: DeserializedClassDescriptor): Collection<SimpleFunctionDescriptor> =
|
||||
getAdditionalFunctions(classDescriptor) {
|
||||
it.getContributedFunctions(name, NoLookupLocation.FROM_BUILTINS)
|
||||
}
|
||||
.map {
|
||||
additionalMember ->
|
||||
additionalMember.newCopyBuilder().apply {
|
||||
setOwner(classDescriptor)
|
||||
setDispatchReceiverParameter(classDescriptor.thisAsReceiverParameter)
|
||||
setPreserveSourceElement()
|
||||
setSubstitution(createMappedTypeParametersSubstitution(
|
||||
additionalMember.containingDeclaration as ClassDescriptor, classDescriptor))
|
||||
}.build()!!
|
||||
}
|
||||
|
||||
override fun getFunctionsNames(classDescriptor: DeserializedClassDescriptor): Collection<Name> =
|
||||
getAdditionalFunctions(classDescriptor) {
|
||||
it.getContributedDescriptors(DescriptorKindFilter.FUNCTIONS).filterIsInstance<SimpleFunctionDescriptor>()
|
||||
}.map(SimpleFunctionDescriptor::getName)
|
||||
|
||||
private fun getAdditionalFunctions(
|
||||
classDescriptor: DeserializedClassDescriptor,
|
||||
functionsByScope: (MemberScope) -> Collection<SimpleFunctionDescriptor>
|
||||
): Collection<SimpleFunctionDescriptor> {
|
||||
// Prevents recursive dependency: memberScope(Any) -> memberScope(Object) -> memberScope(Any)
|
||||
// No additional members should be added to Any
|
||||
if (classDescriptor.isAny) return emptyList()
|
||||
|
||||
val fqName = classDescriptor.fqNameUnsafe.check { it.isSafe }?.toSafe() ?: return emptyList()
|
||||
|
||||
val j2kClassMap = JavaToKotlinClassMap.INSTANCE
|
||||
val javaAnalogueFqName = j2kClassMap.mapKotlinToJava(fqName.toUnsafe())?.asSingleFqName() ?: return emptyList()
|
||||
|
||||
if (javaAnalogueFqName in IGNORE_BY_DEFAULT_CLASS_FQ_NAMES) return emptyList()
|
||||
|
||||
val javaAnalogueDescriptor =
|
||||
ownerModuleDescriptor.resolveClassByFqName(javaAnalogueFqName, NoLookupLocation.FROM_BUILTINS) as? LazyJavaClassDescriptor
|
||||
?: return emptyList()
|
||||
|
||||
val platformClassDescriptors = j2kClassMap.mapPlatformClass(javaAnalogueDescriptor.fqNameSafe, DefaultBuiltIns.Instance)
|
||||
val kotlinMutableClassIfContainer = platformClassDescriptors.lastOrNull() ?: return emptyList()
|
||||
val platformVersions = SmartSet.create(platformClassDescriptors.map { it.fqNameSafe })
|
||||
|
||||
val isMutable = j2kClassMap.isMutable(classDescriptor)
|
||||
|
||||
val fakeJavaClassDescriptor =
|
||||
javaAnalogueDescriptor.copy(
|
||||
javaResolverCache = JavaResolverCache.EMPTY,
|
||||
additionalSupertypeClassDescriptor = kotlinMutableClassIfContainer)
|
||||
|
||||
val scope = fakeJavaClassDescriptor.unsubstitutedMemberScope
|
||||
|
||||
return functionsByScope(scope)
|
||||
.filter { analogueMember ->
|
||||
if (analogueMember.kind != CallableMemberDescriptor.Kind.DECLARATION) return@filter false
|
||||
if (!analogueMember.visibility.isPublicAPI) return@filter false
|
||||
|
||||
val methodFqName = analogueMember.fqNameSafe
|
||||
|
||||
if (methodFqName in BLACK_LIST_METHODS_FQ_NAMES) return@filter false
|
||||
if ((methodFqName in MUTABLE_METHODS_FQ_NAMES) xor isMutable) return@filter false
|
||||
|
||||
analogueMember.overriddenDescriptors.none {
|
||||
it.containingDeclaration.fqNameSafe in platformVersions
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun isSerializableInJava(classFqName: FqName): Boolean {
|
||||
val fqNameUnsafe = classFqName.toUnsafe()
|
||||
@@ -84,5 +166,35 @@ class BuiltInClassesAreSerializableOnJvm(
|
||||
return Serializable::class.java.isAssignableFrom(classViaReflection)
|
||||
}
|
||||
|
||||
private val IGNORE_BY_DEFAULT_CLASS_FQ_NAMES =
|
||||
setOf(FqName("java.lang.String")) +
|
||||
JvmPrimitiveType.values().map { it.wrapperFqName }
|
||||
|
||||
private val BLACK_LIST_METHODS_FQ_NAMES =
|
||||
buildPrimitiveValueMethodsSet() +
|
||||
FqName("java.util.Collection.toArray") +
|
||||
FqName("java.util.List.toArray") +
|
||||
FqName("java.util.Set.toArray") +
|
||||
FqName("java.lang.annotation.Annotation.annotationType")
|
||||
|
||||
private val MUTABLE_METHODS_FQ_NAMES =
|
||||
inClass("java.util.Collection",
|
||||
"removeIf") +
|
||||
|
||||
inClass("java.util.List",
|
||||
"sort", "replaceAll") +
|
||||
|
||||
inClass("java.util.Map",
|
||||
"compute", "computeIfAbsent", "computeIfPresent", "remove", "merge", "putIfAbsent", "replace", "replaceAll")
|
||||
|
||||
private fun buildPrimitiveValueMethodsSet() =
|
||||
JvmPrimitiveType.values().mapTo(LinkedHashSet()) {
|
||||
it.wrapperFqName.child(Name.identifier(it.javaKeywordName + "Value"))
|
||||
}
|
||||
|
||||
private fun inClass(classFqName: String, vararg names: String) =
|
||||
names.mapTo(LinkedHashSet()) { FqName(classFqName).child(Name.identifier(it)) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private val ClassDescriptor.isAny: Boolean get() = fqNameUnsafe == KotlinBuiltIns.FQ_NAMES.any
|
||||
+1
-1
@@ -43,7 +43,7 @@ class DeserializationComponentsForJava(
|
||||
storageManager, moduleDescriptor, classDataFinder, annotationAndConstantLoader, packageFragmentProvider, localClassResolver,
|
||||
errorReporter, lookupTracker, FlexibleJavaClassifierTypeFactory, ClassDescriptorFactory.EMPTY,
|
||||
notFoundClasses, JavaTypeCapabilitiesLoader,
|
||||
additionalClassPartsProvider = BuiltInClassesAreSerializableOnJvm(moduleDescriptor)
|
||||
additionalClassPartsProvider = BuiltInClassesAreSerializableOnJvm(moduleDescriptor, { moduleDescriptor })
|
||||
)
|
||||
localClassResolver.setDeserializationComponents(components)
|
||||
}
|
||||
|
||||
@@ -16,23 +16,25 @@
|
||||
|
||||
package org.jetbrains.kotlin.platform
|
||||
|
||||
import org.jetbrains.kotlin.builtins.BuiltInsInitializer
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.load.kotlin.BuiltInClassesAreSerializableOnJvm
|
||||
import org.jetbrains.kotlin.serialization.deserialization.AdditionalClassPartsProvider
|
||||
import org.jetbrains.kotlin.storage.StorageManager
|
||||
import org.jetbrains.kotlin.utils.sure
|
||||
|
||||
class JvmBuiltIns private constructor() : KotlinBuiltIns() {
|
||||
companion object {
|
||||
private val initializer = BuiltInsInitializer {
|
||||
JvmBuiltIns()
|
||||
}
|
||||
class JvmBuiltIns(storageManager: StorageManager) : KotlinBuiltIns(storageManager) {
|
||||
// Module containing JDK classes or having them among dependencies
|
||||
private var ownerModuleDescriptor: ModuleDescriptor? = null
|
||||
|
||||
@JvmStatic
|
||||
val Instance: KotlinBuiltIns
|
||||
get() = initializer.get()
|
||||
fun setOwnerModuleDescriptor(moduleDescriptor: ModuleDescriptor) {
|
||||
assert(ownerModuleDescriptor == null) { "JvmBuiltins repeated initialization" }
|
||||
this.ownerModuleDescriptor = moduleDescriptor
|
||||
}
|
||||
|
||||
override fun getAdditionalClassPartsProvider(): AdditionalClassPartsProvider {
|
||||
return BuiltInClassesAreSerializableOnJvm(builtInsModule)
|
||||
return BuiltInClassesAreSerializableOnJvm(builtInsModule, {
|
||||
ownerModuleDescriptor.sure { "JvmBuiltins has not been initialized properly" }
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.platform
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
||||
import org.jetbrains.kotlin.types.TypeConstructorSubstitution
|
||||
import org.jetbrains.kotlin.types.typeUtil.asTypeProjection
|
||||
|
||||
fun createMappedTypeParametersSubstitution(from: ClassDescriptor, to: ClassDescriptor): TypeConstructorSubstitution {
|
||||
assert(from.declaredTypeParameters.size == to.declaredTypeParameters.size) {
|
||||
"$from and $to should have same number of type parameters, " +
|
||||
"but ${from.declaredTypeParameters.size} / ${to.declaredTypeParameters.size} found"
|
||||
}
|
||||
|
||||
return TypeConstructorSubstitution.createByConstructorsMap(
|
||||
from.declaredTypeParameters.map(TypeParameterDescriptor::getTypeConstructor).zip(
|
||||
to.declaredTypeParameters.map { it.defaultType.asTypeProjection() }
|
||||
).toMap())
|
||||
}
|
||||
+4
-1
@@ -46,8 +46,8 @@ class RuntimeModuleData private constructor(val deserialization: Deserialization
|
||||
|
||||
companion object {
|
||||
fun create(classLoader: ClassLoader): RuntimeModuleData {
|
||||
val builtIns = JvmBuiltIns.Instance
|
||||
val storageManager = LockBasedStorageManager()
|
||||
val builtIns = JvmBuiltIns(storageManager)
|
||||
val module = ModuleDescriptorImpl(Name.special("<runtime module for $classLoader>"), storageManager,
|
||||
ModuleParameters(listOf(), JavaToKotlinClassMap.INSTANCE), builtIns)
|
||||
|
||||
@@ -64,6 +64,9 @@ class RuntimeModuleData private constructor(val deserialization: Deserialization
|
||||
|
||||
val lazyJavaPackageFragmentProvider =
|
||||
LazyJavaPackageFragmentProvider(globalJavaResolverContext, module, ReflectionTypes(module))
|
||||
|
||||
builtIns.setOwnerModuleDescriptor(module)
|
||||
|
||||
val javaDescriptorResolver = JavaDescriptorResolver(lazyJavaPackageFragmentProvider)
|
||||
val javaClassDataFinder = JavaClassDataFinder(reflectKotlinClassFinder, deserializedDescriptorResolver)
|
||||
val notFoundClasses = NotFoundClasses(storageManager, module)
|
||||
|
||||
@@ -16,7 +16,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.builtins
|
||||
|
||||
class DefaultBuiltIns private constructor() : KotlinBuiltIns() {
|
||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager
|
||||
|
||||
class DefaultBuiltIns private constructor() : KotlinBuiltIns(LockBasedStorageManager()) {
|
||||
companion object {
|
||||
private val initializer = BuiltInsInitializer {
|
||||
DefaultBuiltIns()
|
||||
|
||||
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.name.Name;
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils;
|
||||
import org.jetbrains.kotlin.resolve.scopes.MemberScope;
|
||||
import org.jetbrains.kotlin.serialization.deserialization.AdditionalClassPartsProvider;
|
||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
|
||||
import org.jetbrains.kotlin.storage.StorageManager;
|
||||
import org.jetbrains.kotlin.types.*;
|
||||
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker;
|
||||
|
||||
@@ -71,12 +71,10 @@ public abstract class KotlinBuiltIns {
|
||||
private final Map<PrimitiveType, KotlinType> primitiveTypeToArrayKotlinType;
|
||||
private final Map<KotlinType, KotlinType> primitiveKotlinTypeToKotlinArrayType;
|
||||
private final Map<KotlinType, KotlinType> kotlinArrayTypeToPrimitiveKotlinType;
|
||||
private final Map<FqName, PackageFragmentDescriptor> packageNameToPackageFragment;
|
||||
|
||||
public static final FqNames FQ_NAMES = new FqNames();
|
||||
|
||||
protected KotlinBuiltIns() {
|
||||
LockBasedStorageManager storageManager = new LockBasedStorageManager();
|
||||
protected KotlinBuiltIns(@NotNull StorageManager storageManager) {
|
||||
builtInsModule = new ModuleDescriptorImpl(
|
||||
Name.special("<built-ins module>"), storageManager, ModuleParameters.Empty.INSTANCE, this
|
||||
);
|
||||
@@ -96,7 +94,7 @@ public abstract class KotlinBuiltIns {
|
||||
builtInsModule.initialize(packageFragmentProvider);
|
||||
builtInsModule.setDependencies(builtInsModule);
|
||||
|
||||
packageNameToPackageFragment = new LinkedHashMap<FqName, PackageFragmentDescriptor>();
|
||||
Map<FqName, PackageFragmentDescriptor> packageNameToPackageFragment = new LinkedHashMap<FqName, PackageFragmentDescriptor>();
|
||||
|
||||
builtInsPackageFragment = createPackage(packageFragmentProvider, packageNameToPackageFragment, BUILT_INS_PACKAGE_FQ_NAME);
|
||||
collectionsPackageFragment = createPackage(packageFragmentProvider, packageNameToPackageFragment, COLLECTIONS_PACKAGE_FQ_NAME);
|
||||
@@ -290,23 +288,7 @@ public abstract class KotlinBuiltIns {
|
||||
|
||||
@Nullable
|
||||
public ClassDescriptor getBuiltInClassByFqNameNullable(@NotNull FqName fqName) {
|
||||
if (!fqName.isRoot()) {
|
||||
FqName parent = fqName.parent();
|
||||
PackageFragmentDescriptor packageFragment = packageNameToPackageFragment.get(parent);
|
||||
if (packageFragment != null) {
|
||||
ClassDescriptor descriptor = getBuiltInClassByNameNullable(fqName.shortName(), packageFragment);
|
||||
if (descriptor != null) {
|
||||
return descriptor;
|
||||
}
|
||||
}
|
||||
|
||||
ClassDescriptor possiblyOuterClass = getBuiltInClassByFqNameNullable(parent);
|
||||
if (possiblyOuterClass != null) {
|
||||
return (ClassDescriptor) possiblyOuterClass.getUnsubstitutedInnerClassesScope().getContributedClassifier(
|
||||
fqName.shortName(), NoLookupLocation.FROM_BUILTINS);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return DescriptorUtilKt.resolveClassByFqName(builtInsModule, fqName, NoLookupLocation.FROM_BUILTINS);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -20,6 +20,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.name.Name;
|
||||
import org.jetbrains.kotlin.types.KotlinType;
|
||||
import org.jetbrains.kotlin.types.TypeSubstitution;
|
||||
import org.jetbrains.kotlin.types.TypeSubstitutor;
|
||||
|
||||
import java.util.Collection;
|
||||
@@ -109,6 +110,9 @@ public interface FunctionDescriptor extends CallableMemberDescriptor {
|
||||
@NotNull
|
||||
CopyBuilder<D> setExtensionReceiverType(@Nullable KotlinType type);
|
||||
|
||||
@NotNull
|
||||
CopyBuilder<D> setDispatchReceiverParameter(@Nullable ReceiverParameterDescriptor dispatchReceiverParameter);
|
||||
|
||||
@NotNull
|
||||
CopyBuilder<D> setOriginal(@NotNull FunctionDescriptor original);
|
||||
|
||||
@@ -124,6 +128,9 @@ public interface FunctionDescriptor extends CallableMemberDescriptor {
|
||||
@NotNull
|
||||
CopyBuilder<D> setHiddenToOvercomeSignatureClash();
|
||||
|
||||
@NotNull
|
||||
CopyBuilder<D> setSubstitution(@NotNull TypeSubstitution substitution);
|
||||
|
||||
@Nullable
|
||||
D build();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.descriptors
|
||||
|
||||
import org.jetbrains.kotlin.incremental.components.LookupLocation
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
|
||||
fun ModuleDescriptor.resolveClassByFqName(fqName: FqName, lookupLocation: LookupLocation): ClassDescriptor? {
|
||||
if (fqName.isRoot) return null
|
||||
|
||||
(getPackage(fqName.parent())
|
||||
.memberScope.getContributedClassifier(fqName.shortName(), lookupLocation) as? ClassDescriptor)?.let { return it }
|
||||
|
||||
return resolveClassByFqName(fqName.parent(), lookupLocation)
|
||||
?.unsubstitutedInnerClassesScope
|
||||
?.getContributedClassifier(fqName.shortName(), lookupLocation) as? ClassDescriptor
|
||||
}
|
||||
+18
-2
@@ -299,6 +299,7 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
|
||||
protected @NotNull Kind kind;
|
||||
protected @NotNull List<ValueParameterDescriptor> newValueParameterDescriptors;
|
||||
protected @Nullable KotlinType newExtensionReceiverParameterType;
|
||||
protected @Nullable ReceiverParameterDescriptor dispatchReceiverParameter;
|
||||
protected @NotNull KotlinType newReturnType;
|
||||
protected @Nullable Name name;
|
||||
protected boolean copyOverrides = true;
|
||||
@@ -326,6 +327,7 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
|
||||
this.kind = kind;
|
||||
this.newValueParameterDescriptors = newValueParameterDescriptors;
|
||||
this.newExtensionReceiverParameterType = newExtensionReceiverParameterType;
|
||||
this.dispatchReceiverParameter = FunctionDescriptorImpl.this.dispatchReceiverParameter;
|
||||
this.newReturnType = newReturnType;
|
||||
this.name = name;
|
||||
this.isHiddenToOvercomeSignatureClash = isHiddenToOvercomeSignatureClash();
|
||||
@@ -401,6 +403,13 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public CopyConfiguration setDispatchReceiverParameter(@Nullable ReceiverParameterDescriptor dispatchReceiverParameter) {
|
||||
this.dispatchReceiverParameter = dispatchReceiverParameter;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public CopyConfiguration setOriginal(@NotNull FunctionDescriptor original) {
|
||||
@@ -436,6 +445,13 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
|
||||
return this;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public CopyConfiguration setSubstitution(@NotNull TypeSubstitution substitution) {
|
||||
this.substitution = substitution;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public FunctionDescriptor build() {
|
||||
@@ -498,7 +514,7 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
|
||||
}
|
||||
|
||||
ReceiverParameterDescriptor substitutedExpectedThis = null;
|
||||
if (dispatchReceiverParameter != null) {
|
||||
if (configuration.dispatchReceiverParameter != null) {
|
||||
// When generating fake-overridden member it's dispatch receiver parameter has type of Base, and it's correct.
|
||||
// E.g.
|
||||
// class Base { fun foo() }
|
||||
@@ -509,7 +525,7 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
|
||||
// // but it would if fake-overridden `foo` had `Derived` as it's dispatch receiver parameter type
|
||||
// x.foo()
|
||||
// }
|
||||
substitutedExpectedThis = dispatchReceiverParameter.substitute(substitutor);
|
||||
substitutedExpectedThis = configuration.dispatchReceiverParameter.substitute(substitutor);
|
||||
if (substitutedExpectedThis == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
+13
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.descriptors.impl.SimpleFunctionDescriptorImpl;
|
||||
import org.jetbrains.kotlin.name.Name;
|
||||
import org.jetbrains.kotlin.types.ErrorUtils;
|
||||
import org.jetbrains.kotlin.types.KotlinType;
|
||||
import org.jetbrains.kotlin.types.TypeSubstitution;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -103,6 +104,12 @@ public class ErrorSimpleFunctionDescriptorImpl extends SimpleFunctionDescriptorI
|
||||
return this;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public CopyBuilder<SimpleFunctionDescriptor> setSubstitution(@NotNull TypeSubstitution substitution) {
|
||||
return this;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public CopyBuilder<SimpleFunctionDescriptor> setTypeParameters(@NotNull List<TypeParameterDescriptor> parameters) {
|
||||
@@ -121,6 +128,12 @@ public class ErrorSimpleFunctionDescriptorImpl extends SimpleFunctionDescriptorI
|
||||
return this;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public CopyBuilder<SimpleFunctionDescriptor> setDispatchReceiverParameter(@Nullable ReceiverParameterDescriptor dispatchReceiverParameter) {
|
||||
return this;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public CopyBuilder<SimpleFunctionDescriptor> setOriginal(@NotNull FunctionDescriptor original) {
|
||||
|
||||
+6
@@ -16,13 +16,19 @@
|
||||
|
||||
package org.jetbrains.kotlin.serialization.deserialization
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.SimpleFunctionDescriptor
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
|
||||
interface AdditionalClassPartsProvider {
|
||||
fun getSupertypes(classDescriptor: DeserializedClassDescriptor): Collection<KotlinType>
|
||||
fun getFunctions(name: Name, classDescriptor: DeserializedClassDescriptor): Collection<SimpleFunctionDescriptor>
|
||||
fun getFunctionsNames(classDescriptor: DeserializedClassDescriptor): Collection<Name>
|
||||
|
||||
object None : AdditionalClassPartsProvider {
|
||||
override fun getSupertypes(classDescriptor: DeserializedClassDescriptor): Collection<KotlinType> = emptyList()
|
||||
override fun getFunctions(name: Name, classDescriptor: DeserializedClassDescriptor): Collection<SimpleFunctionDescriptor> = emptyList()
|
||||
override fun getFunctionsNames(classDescriptor: DeserializedClassDescriptor): Collection<Name> = emptyList()
|
||||
}
|
||||
}
|
||||
|
||||
+3
-1
@@ -199,6 +199,8 @@ class DeserializedClassDescriptor(
|
||||
for (supertype in classDescriptor.getTypeConstructor().supertypes) {
|
||||
fromSupertypes.addAll(supertype.memberScope.getContributedFunctions(name, NoLookupLocation.FOR_ALREADY_TRACKED))
|
||||
}
|
||||
|
||||
functions.addAll(c.components.additionalClassPartsProvider.getFunctions(name, this@DeserializedClassDescriptor))
|
||||
generateFakeOverrides(name, fromSupertypes, functions)
|
||||
}
|
||||
|
||||
@@ -229,7 +231,7 @@ class DeserializedClassDescriptor(
|
||||
override fun getNonDeclaredFunctionNames(location: LookupLocation): Set<Name> {
|
||||
return classDescriptor.typeConstructor.supertypes.flatMapTo(LinkedHashSet()) {
|
||||
it.memberScope.getContributedDescriptors().filterIsInstance<SimpleFunctionDescriptor>().map { it.name }
|
||||
}
|
||||
} + c.components.additionalClassPartsProvider.getFunctionsNames(this@DeserializedClassDescriptor)
|
||||
}
|
||||
|
||||
override fun getNonDeclaredVariableNames(location: LookupLocation): Set<Name> {
|
||||
|
||||
@@ -33,7 +33,7 @@ class SmartSet<T> private constructor() : AbstractSet<T>() {
|
||||
fun <T> create() = SmartSet<T>()
|
||||
|
||||
@JvmStatic
|
||||
fun <T> create(set: Set<T>) = SmartSet<T>().apply { this.addAll(set) }
|
||||
fun <T> create(set: Collection<T>) = SmartSet<T>().apply { this.addAll(set) }
|
||||
}
|
||||
|
||||
// null if size = 0, object if size = 1, array of objects if size < threshold, linked hash set otherwise
|
||||
|
||||
@@ -362,8 +362,11 @@ fun main(args: Array<String>) {
|
||||
testClass<AbstractJvm8RuntimeDescriptorLoaderTest>() {
|
||||
model("loadJava8/compiledJava", extension = "java", excludeDirs = listOf("sam", "kotlinSignature/propagation"))
|
||||
}
|
||||
}
|
||||
|
||||
testClass<AbstractCompileKotlinAgainstKotlinTest>() {
|
||||
model("compileKotlinAgainstKotlinJava8")
|
||||
}
|
||||
}
|
||||
|
||||
testGroup("idea/tests", "idea/testData") {
|
||||
testClass<AbstractAdditionalResolveDescriptorRendererTest>() {
|
||||
@@ -874,6 +877,10 @@ fun main(args: Array<String>) {
|
||||
testClass<AbstractJvmBasicCompletionTest>("org.jetbrains.kotlin.idea.completion.test.KDocCompletionTestGenerated") {
|
||||
model("kdoc")
|
||||
}
|
||||
|
||||
testClass<AbstractJava8BasicCompletionTest>() {
|
||||
model("basic/java8")
|
||||
}
|
||||
}
|
||||
|
||||
//TODO: move these tests into idea-completion module
|
||||
|
||||
+40
-12
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.idea.caches.resolve
|
||||
|
||||
import com.intellij.openapi.diagnostic.Logger
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.projectRoots.Sdk
|
||||
import com.intellij.openapi.roots.ProjectRootModificationTracker
|
||||
import com.intellij.openapi.util.ModificationTracker
|
||||
import com.intellij.psi.util.CachedValue
|
||||
@@ -44,8 +45,8 @@ import org.jetbrains.kotlin.resolve.TargetPlatform
|
||||
import org.jetbrains.kotlin.resolve.diagnostics.KotlinSuppressCache
|
||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.sumByLong
|
||||
import org.jetbrains.kotlin.utils.keysToMap
|
||||
|
||||
internal val LOG = Logger.getInstance(KotlinCacheService::class.java)
|
||||
|
||||
@@ -56,14 +57,20 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
|
||||
override fun getSuppressionCache(): KotlinSuppressCache = kotlinSuppressCache.value
|
||||
|
||||
private val globalFacadesPerPlatform = listOf(JvmPlatform, JsPlatform).keysToMap { platform -> GlobalFacade(platform) }
|
||||
private val globalFacadesPerPlatformAndSdk: SLRUCache<Pair<TargetPlatform, Sdk?>, GlobalFacade> =
|
||||
object : SLRUCache<Pair<TargetPlatform, Sdk?>, GlobalFacade>(2 * 3, 2 * 3) {
|
||||
override fun createValue(key: Pair<TargetPlatform, Sdk?>): GlobalFacade {
|
||||
return GlobalFacade(key.first, key.second)
|
||||
}
|
||||
}
|
||||
|
||||
private inner class GlobalFacade(platform: TargetPlatform) {
|
||||
private inner class GlobalFacade(platform: TargetPlatform, sdk: Sdk?) {
|
||||
val facadeForLibraries = ProjectResolutionFacade(project) {
|
||||
globalResolveSessionProvider(
|
||||
"project libraries for platform $platform",
|
||||
project,
|
||||
platform,
|
||||
sdk,
|
||||
logProcessCanceled = true,
|
||||
moduleFilter = { it.isLibraryClasses() },
|
||||
dependencies = listOf(
|
||||
@@ -78,6 +85,7 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
"project source roots and libraries for platform $platform",
|
||||
project,
|
||||
platform,
|
||||
sdk,
|
||||
reuseDataFrom = facadeForLibraries,
|
||||
moduleFilter = { !it.isLibraryClasses() },
|
||||
dependencies = listOf(PsiModificationTracker.OUT_OF_CODE_BLOCK_MODIFICATION_COUNT))
|
||||
@@ -86,17 +94,24 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
|
||||
@Deprecated("Use JetElement.getResolutionFacade(), please avoid introducing new usages")
|
||||
fun <T : Any> getProjectService(platform: TargetPlatform, ideaModuleInfo: IdeaModuleInfo, serviceClass: Class<T>): T {
|
||||
return globalFacade(platform).resolverForModuleInfo(ideaModuleInfo).componentProvider.getService(serviceClass)
|
||||
return globalFacade(platform, ideaModuleInfo.sdk).resolverForModuleInfo(ideaModuleInfo).componentProvider.getService(serviceClass)
|
||||
}
|
||||
|
||||
private fun globalFacade(platform: TargetPlatform) = globalFacadesPerPlatform[platform]!!.facadeForModules
|
||||
private fun globalFacade(platform: TargetPlatform, sdk: Sdk?) =
|
||||
getOrBuildGlobalFacade(platform, sdk).facadeForModules
|
||||
|
||||
private fun librariesFacade(platform: TargetPlatform) = globalFacadesPerPlatform[platform]!!.facadeForLibraries
|
||||
private fun librariesFacade(platform: TargetPlatform, sdk: Sdk?) = getOrBuildGlobalFacade(platform, sdk).facadeForLibraries
|
||||
|
||||
@Synchronized
|
||||
private fun getOrBuildGlobalFacade(platform: TargetPlatform, sdk: Sdk?) = globalFacadesPerPlatformAndSdk[Pair(platform, sdk)]
|
||||
|
||||
private val IdeaModuleInfo.sdk: Sdk? get() = dependencies().firstIsInstanceOrNull<SdkInfo>()?.sdk
|
||||
|
||||
private fun createFacadeForSyntheticFiles(files: Set<KtFile>): ProjectResolutionFacade {
|
||||
// we assume that all files come from the same module
|
||||
val targetPlatform = files.map { TargetPlatformDetector.getPlatform(it) }.toSet().single()
|
||||
val syntheticFileModule = files.map { it.getModuleInfo() }.toSet().single()
|
||||
val sdk = syntheticFileModule.sdk
|
||||
val filesModificationTracker = ModificationTracker {
|
||||
files.sumByLong { it.outOfBlockModificationCount }
|
||||
}
|
||||
@@ -110,8 +125,9 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
debugName,
|
||||
project,
|
||||
targetPlatform,
|
||||
sdk,
|
||||
syntheticFiles = files,
|
||||
reuseDataFrom = globalFacade(targetPlatform),
|
||||
reuseDataFrom = globalFacade(targetPlatform, sdk),
|
||||
moduleFilter = { it in dependentModules },
|
||||
dependencies = dependenciesForSyntheticFileCache
|
||||
)
|
||||
@@ -124,8 +140,9 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
debugName,
|
||||
project,
|
||||
targetPlatform,
|
||||
sdk,
|
||||
syntheticFiles = files,
|
||||
reuseDataFrom = librariesFacade(targetPlatform),
|
||||
reuseDataFrom = librariesFacade(targetPlatform, sdk),
|
||||
moduleFilter = { it == syntheticFileModule },
|
||||
dependencies = dependenciesForSyntheticFileCache
|
||||
)
|
||||
@@ -142,6 +159,7 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
debugName,
|
||||
project,
|
||||
targetPlatform,
|
||||
sdk,
|
||||
syntheticFiles = files,
|
||||
moduleFilter = { true },
|
||||
dependencies = dependenciesForSyntheticFileCache
|
||||
@@ -201,13 +219,14 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
private fun getFacadeToAnalyzeFiles(files: Collection<KtFile>): ResolutionFacade {
|
||||
val syntheticFiles = findSyntheticFiles(files)
|
||||
val file = files.first()
|
||||
val moduleInfo = file.getModuleInfo()
|
||||
val projectFacade = if (syntheticFiles.isNotEmpty()) {
|
||||
getFacadeForSyntheticFiles(syntheticFiles)
|
||||
}
|
||||
else {
|
||||
globalFacade(TargetPlatformDetector.getPlatform(file))
|
||||
globalFacade(TargetPlatformDetector.getPlatform(file), moduleInfo.sdk)
|
||||
}
|
||||
return ResolutionFacadeImpl(projectFacade, file.getModuleInfo())
|
||||
return ResolutionFacadeImpl(projectFacade, moduleInfo)
|
||||
}
|
||||
|
||||
private fun findSyntheticFiles(files: Collection<KtFile>) = files.mapNotNull {
|
||||
@@ -228,6 +247,7 @@ private fun globalResolveSessionProvider(
|
||||
debugName: String,
|
||||
project: Project,
|
||||
platform: TargetPlatform,
|
||||
sdk: Sdk?,
|
||||
dependencies: Collection<Any>,
|
||||
moduleFilter: (IdeaModuleInfo) -> Boolean,
|
||||
reuseDataFrom: ProjectResolutionFacade? = null,
|
||||
@@ -242,16 +262,24 @@ private fun globalResolveSessionProvider(
|
||||
|
||||
val builtIns: KotlinBuiltIns = when (platform) {
|
||||
is JsPlatform -> JsPlatform.builtIns
|
||||
is JvmPlatform -> JvmBuiltIns.Instance
|
||||
is JvmPlatform -> JvmBuiltIns(globalContext.storageManager)
|
||||
else -> DefaultBuiltIns.Instance
|
||||
}
|
||||
|
||||
val moduleResolverProvider = createModuleResolverProvider(
|
||||
debugName, project, globalContext,
|
||||
debugName, project, globalContext, sdk,
|
||||
AnalyzerFacadeProvider.getAnalyzerFacade(platform),
|
||||
syntheticFiles, delegateResolverForProject, moduleFilter,
|
||||
builtIns
|
||||
)
|
||||
|
||||
if (builtIns is JvmBuiltIns) {
|
||||
val moduleInfoToUse = sdk?.let { SdkInfo(project, it) } ?: moduleResolverProvider.resolverForProject.allModules.firstOrNull()
|
||||
if (moduleInfoToUse != null) {
|
||||
builtIns.setOwnerModuleDescriptor(moduleResolverProvider.resolverForProject.descriptorForModule(moduleInfoToUse))
|
||||
}
|
||||
}
|
||||
|
||||
val allDependencies = dependencies + listOf(moduleResolverProvider.exceptionTracker)
|
||||
return CachedValueProvider.Result.create(moduleResolverProvider, allDependencies)
|
||||
}
|
||||
|
||||
+4
-1
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.idea.caches.resolve
|
||||
|
||||
import com.intellij.openapi.module.ModuleManager
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.projectRoots.Sdk
|
||||
import com.intellij.openapi.roots.JdkOrderEntry
|
||||
import com.intellij.openapi.roots.LibraryOrderEntry
|
||||
import com.intellij.openapi.roots.ModuleRootManager
|
||||
@@ -38,6 +39,7 @@ fun createModuleResolverProvider(
|
||||
debugName: String,
|
||||
project: Project,
|
||||
globalContext: GlobalContextImpl,
|
||||
sdk: Sdk?,
|
||||
analyzerFacade: AnalyzerFacade<JvmPlatformParameters>,
|
||||
syntheticFiles: Collection<KtFile>,
|
||||
delegateResolver: ResolverForProject<IdeaModuleInfo>,
|
||||
@@ -67,7 +69,8 @@ fun createModuleResolverProvider(
|
||||
val resolverForProject = analyzerFacade.setupResolverForProject(
|
||||
debugName, globalContext.withProject(project), modulesToCreateResolversFor, modulesContent,
|
||||
jvmPlatformParameters, IdeaEnvironment, builtIns,
|
||||
delegateResolver, { m, c -> IDEPackagePartProvider(c.moduleContentScope) }
|
||||
delegateResolver, { m, c -> IDEPackagePartProvider(c.moduleContentScope) },
|
||||
sdk?.let { SdkInfo(project, it) }
|
||||
)
|
||||
return resolverForProject
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(x: MutableList<String>) {
|
||||
x.<caret>
|
||||
}
|
||||
|
||||
// EXIST: {"lookupString":"stream","tailText":"()","typeText":"Stream<String!>!"}
|
||||
// EXIST: {"lookupString":"removeIf","tailText":"(Predicate<in String!>!)","typeText":"Boolean"}
|
||||
// EXIST: {"lookupString":"removeIf","tailText":" {...} (((String!) -> Boolean)!)","typeText":"Boolean"}
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(x: List<String>) {
|
||||
x.stream().<caret>
|
||||
}
|
||||
|
||||
// EXIST: {"lookupString":"allMatch","tailText":" {...} (((String!) -> Boolean)!)","typeText":"Boolean","attributes":"bold"}
|
||||
// EXIST: {"lookupString":"allMatch","tailText":"(Predicate<in String!>!)","typeText":"Boolean","attributes":"bold"}
|
||||
// EXIST: {"lookupString":"count","tailText":"()","typeText":"Long","attributes":"bold"}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.idea.completion.test;
|
||||
|
||||
import com.intellij.testFramework.LightProjectDescriptor;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor;
|
||||
|
||||
public abstract class AbstractJava8BasicCompletionTest extends AbstractJvmBasicCompletionTest {
|
||||
@NotNull
|
||||
@Override
|
||||
protected LightProjectDescriptor getProjectDescriptor() {
|
||||
return KotlinWithJdkAndRuntimeLightProjectDescriptor.INSTANCE_FULL_JDK;
|
||||
}
|
||||
}
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.idea.completion.test;
|
||||
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
import org.jetbrains.kotlin.test.TestMetadata;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("idea/idea-completion/testData/basic/java8")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public class Java8BasicCompletionTestGenerated extends AbstractJava8BasicCompletionTest {
|
||||
public void testAllFilesPresentInJava8() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/java8"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("CollectionMethods.kt")
|
||||
public void testCollectionMethods() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/java8/CollectionMethods.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("StreamMethods.kt")
|
||||
public void testStreamMethods() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/java8/StreamMethods.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
}
|
||||
+7
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.test;
|
||||
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime;
|
||||
|
||||
public class KotlinWithJdkAndRuntimeLightProjectDescriptor extends KotlinJdkAndLibraryProjectDescriptor {
|
||||
@@ -24,4 +25,10 @@ public class KotlinWithJdkAndRuntimeLightProjectDescriptor extends KotlinJdkAndL
|
||||
}
|
||||
|
||||
public static final KotlinWithJdkAndRuntimeLightProjectDescriptor INSTANCE = new KotlinWithJdkAndRuntimeLightProjectDescriptor();
|
||||
public static final KotlinWithJdkAndRuntimeLightProjectDescriptor INSTANCE_FULL_JDK = new KotlinWithJdkAndRuntimeLightProjectDescriptor() {
|
||||
@Override
|
||||
public Sdk getSdk() {
|
||||
return PluginTestCaseBase.fullJdk();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
abstract class A : List<String> {
|
||||
<caret>
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
import java.util.stream.Stream
|
||||
|
||||
abstract class A : List<String> {
|
||||
override fun stream(): Stream<String>? {
|
||||
<selection><caret>return super.stream()</selection>
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package foo
|
||||
|
||||
fun mainJdk8(x: List<String>, j6List: Jdk6List<String>) {
|
||||
x.stream().filter { it.length > 0 }
|
||||
|
||||
j6List.size
|
||||
// TODO: stream should be available
|
||||
j6List.stream()
|
||||
|
||||
buildList().stream()
|
||||
|
||||
myFile().toPath()
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package foo
|
||||
import java.io.File
|
||||
|
||||
class Jdk6List<F> : List<F> {
|
||||
override val size: Int
|
||||
get() = null!!
|
||||
|
||||
override fun contains(element: F): Boolean {
|
||||
null!!
|
||||
}
|
||||
|
||||
override fun containsAll(elements: Collection<F>): Boolean {
|
||||
null!!
|
||||
}
|
||||
|
||||
override fun get(index: Int): F {
|
||||
null!!
|
||||
}
|
||||
|
||||
override fun indexOf(element: F): Int {
|
||||
null!!
|
||||
}
|
||||
|
||||
override fun isEmpty(): Boolean {
|
||||
null!!
|
||||
}
|
||||
|
||||
override fun iterator(): Iterator<F> {
|
||||
null!!
|
||||
}
|
||||
|
||||
override fun lastIndexOf(element: F): Int {
|
||||
null!!
|
||||
}
|
||||
|
||||
override fun listIterator(): ListIterator<F> {
|
||||
null!!
|
||||
}
|
||||
|
||||
override fun listIterator(index: Int): ListIterator<F> {
|
||||
null!!
|
||||
}
|
||||
|
||||
override fun subList(fromIndex: Int, toIndex: Int): List<F> {
|
||||
null!!
|
||||
}
|
||||
}
|
||||
|
||||
fun buildList(): List<String> = null!!
|
||||
fun myFile(): File = null!!
|
||||
|
||||
fun mainJdk6(x: List<String>) {
|
||||
x.<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: stream">stream</error>().filter { <error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error>.length > 0 }
|
||||
}
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.idea.caches.resolve
|
||||
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||
import com.intellij.openapi.module.StdModuleTypes
|
||||
import com.intellij.openapi.roots.ModuleRootModificationUtil
|
||||
import org.jetbrains.kotlin.idea.project.PluginJetFilesProvider
|
||||
import com.intellij.codeInsight.daemon.DaemonAnalyzerTestCase
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.vfs.LocalFileSystem
|
||||
import com.intellij.openapi.command.WriteCommandAction
|
||||
import com.intellij.testFramework.PsiTestUtil
|
||||
import java.io.File
|
||||
import com.intellij.openapi.util.io.FileUtil
|
||||
import com.intellij.openapi.roots.DependencyScope
|
||||
import com.intellij.testFramework.IdeaTestUtil
|
||||
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil
|
||||
import org.junit.Assert
|
||||
|
||||
abstract class AbstractMultiModuleHighlightingTest : DaemonAnalyzerTestCase() {
|
||||
|
||||
private val TEST_DATA_PATH = PluginTestCaseBase.getTestDataPathBase() + "/multiModuleHighlighting/"
|
||||
|
||||
protected fun checkHighlightingInAllFiles() {
|
||||
var atLeastOneFile = false
|
||||
PluginJetFilesProvider.allFilesInProject(myProject!!).forEach { file ->
|
||||
atLeastOneFile = true
|
||||
configureByExistingFile(file.virtualFile!!)
|
||||
checkHighlighting(myEditor, true, false)
|
||||
}
|
||||
Assert.assertTrue(atLeastOneFile)
|
||||
}
|
||||
|
||||
protected fun module(name: String, hasTestRoot: Boolean = false, useFullJdk: Boolean = false): Module {
|
||||
val srcDir = TEST_DATA_PATH + "${getTestName(true)}/$name"
|
||||
val moduleWithSrcRootSet = createModuleFromTestData(srcDir, "$name", StdModuleTypes.JAVA, true)!!
|
||||
if (hasTestRoot) {
|
||||
setTestRoot(moduleWithSrcRootSet, name)
|
||||
}
|
||||
|
||||
val jdkToUse = if (useFullJdk) PluginTestCaseBase.fullJdk() else PluginTestCaseBase.mockJdk()
|
||||
ConfigLibraryUtil.configureSdk(moduleWithSrcRootSet, jdkToUse)
|
||||
|
||||
return moduleWithSrcRootSet
|
||||
}
|
||||
|
||||
protected fun setTestRoot(module: Module, name: String) {
|
||||
val testDir = TEST_DATA_PATH + "${getTestName(true)}/${name}Test"
|
||||
val testRootDirInTestData = File(testDir)
|
||||
val testRootDir = createTempDirectory()!!
|
||||
FileUtil.copyDir(testRootDirInTestData, testRootDir)
|
||||
val testRoot = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(testRootDir)!!
|
||||
object : WriteCommandAction.Simple<Unit>(project) {
|
||||
override fun run() {
|
||||
testRoot.refresh(false, true)
|
||||
}
|
||||
}.execute().throwException()
|
||||
PsiTestUtil.addSourceRoot(module, testRoot, true)
|
||||
}
|
||||
|
||||
protected fun Module.addDependency(
|
||||
other: Module,
|
||||
dependencyScope: DependencyScope = DependencyScope.COMPILE,
|
||||
exported: Boolean = false
|
||||
) = ModuleRootModificationUtil.addDependency(this, other, dependencyScope, exported)
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.idea.caches.resolve
|
||||
|
||||
class Java8MultiModuleHighlightingTest : AbstractMultiModuleHighlightingTest() {
|
||||
fun testDifferentJdk() {
|
||||
val module1 = module("jdk8", useFullJdk = true)
|
||||
val module2 = module("mockJdk")
|
||||
|
||||
module1.addDependency(module2)
|
||||
|
||||
checkHighlightingInAllFiles()
|
||||
}
|
||||
}
|
||||
@@ -16,24 +16,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.caches.resolve
|
||||
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||
import com.intellij.openapi.module.StdModuleTypes
|
||||
import com.intellij.openapi.roots.ModuleRootModificationUtil
|
||||
import org.jetbrains.kotlin.idea.project.PluginJetFilesProvider
|
||||
import com.intellij.codeInsight.daemon.DaemonAnalyzerTestCase
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.vfs.LocalFileSystem
|
||||
import com.intellij.openapi.command.WriteCommandAction
|
||||
import com.intellij.testFramework.PsiTestUtil
|
||||
import java.io.File
|
||||
import com.intellij.openapi.util.io.FileUtil
|
||||
import com.intellij.openapi.roots.DependencyScope
|
||||
import org.junit.Assert
|
||||
|
||||
class MultiModuleHighlightingTest : DaemonAnalyzerTestCase() {
|
||||
|
||||
private val TEST_DATA_PATH = PluginTestCaseBase.getTestDataPathBase() + "/multiModuleHighlighting/"
|
||||
|
||||
class MultiModuleHighlightingTest : AbstractMultiModuleHighlightingTest() {
|
||||
fun testVisibility() {
|
||||
val module1 = module("m1")
|
||||
val module2 = module("m2")
|
||||
@@ -73,43 +58,4 @@ class MultiModuleHighlightingTest : DaemonAnalyzerTestCase() {
|
||||
|
||||
checkHighlightingInAllFiles()
|
||||
}
|
||||
|
||||
private fun checkHighlightingInAllFiles() {
|
||||
var atLeastOneFile = false
|
||||
PluginJetFilesProvider.allFilesInProject(myProject!!).forEach { file ->
|
||||
atLeastOneFile = true
|
||||
configureByExistingFile(file.virtualFile!!)
|
||||
checkHighlighting(myEditor, true, false)
|
||||
}
|
||||
Assert.assertTrue(atLeastOneFile)
|
||||
}
|
||||
|
||||
private fun module(name: String, hasTestRoot: Boolean = false): Module {
|
||||
val srcDir = TEST_DATA_PATH + "${getTestName(true)}/$name"
|
||||
val moduleWithSrcRootSet = createModuleFromTestData(srcDir, "$name", StdModuleTypes.JAVA, true)!!
|
||||
if (hasTestRoot) {
|
||||
setTestRoot(moduleWithSrcRootSet, name)
|
||||
}
|
||||
return moduleWithSrcRootSet
|
||||
}
|
||||
|
||||
private fun setTestRoot(module: Module, name: String) {
|
||||
val testDir = TEST_DATA_PATH + "${getTestName(true)}/${name}Test"
|
||||
val testRootDirInTestData = File(testDir)
|
||||
val testRootDir = createTempDirectory()!!
|
||||
FileUtil.copyDir(testRootDirInTestData, testRootDir)
|
||||
val testRoot = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(testRootDir)!!
|
||||
object : WriteCommandAction.Simple<Unit>(project) {
|
||||
override fun run() {
|
||||
testRoot.refresh(false, true)
|
||||
}
|
||||
}.execute().throwException()
|
||||
PsiTestUtil.addSourceRoot(module, testRoot, true)
|
||||
}
|
||||
|
||||
private fun Module.addDependency(
|
||||
other: Module,
|
||||
dependencyScope: DependencyScope = DependencyScope.COMPILE,
|
||||
exported: Boolean = false
|
||||
) = ModuleRootModificationUtil.addDependency(this, other, dependencyScope, exported)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.idea.codeInsight
|
||||
|
||||
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||
|
||||
class Java8OverrideImplementTest : AbstractOverrideImplementTest() {
|
||||
companion object {
|
||||
private val TEST_PATH = PluginTestCaseBase.getTestDataPathBase() + "/codeInsight/overrideImplement/jdk8"
|
||||
}
|
||||
|
||||
override fun setUp() {
|
||||
super.setUp()
|
||||
myFixture.testDataPath = TEST_PATH
|
||||
}
|
||||
|
||||
override fun getProjectDescriptor() = KotlinWithJdkAndRuntimeLightProjectDescriptor.INSTANCE_FULL_JDK
|
||||
|
||||
fun testOverrideCollectionStream() {
|
||||
doOverrideFileTest("stream")
|
||||
}
|
||||
}
|
||||
@@ -48,7 +48,7 @@ public final class TopDownAnalyzerFacadeForJS {
|
||||
BindingTrace trace = new BindingTraceContext();
|
||||
|
||||
MutableModuleContext newModuleContext = ContextKt.ContextForNewModule(
|
||||
config.getProject(), Name.special("<" + config.getModuleId() + ">"), JsPlatform.INSTANCE,
|
||||
ContextKt.ProjectContext(config.getProject()), Name.special("<" + config.getModuleId() + ">"), JsPlatform.INSTANCE,
|
||||
JsPlatform.INSTANCE.getBuiltIns()
|
||||
);
|
||||
newModuleContext.setDependencies(computeDependencies(newModuleContext.getModule(), config));
|
||||
|
||||
Reference in New Issue
Block a user