diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassDescriptor.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassDescriptor.kt index e3bb2e1307f..9ab85046e75 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassDescriptor.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassDescriptor.kt @@ -28,7 +28,6 @@ import org.jetbrains.jet.lang.resolve.java.structure.JavaMethod import org.jetbrains.jet.lang.descriptors.SimpleFunctionDescriptor import org.jetbrains.jet.lang.types.TypeUtils import org.jetbrains.jet.lang.resolve.java.descriptor.JavaClassDescriptor -import org.jetbrains.kotlin.util.iif import org.jetbrains.jet.lang.resolve.java.descriptor.JavaEnumClassObjectDescriptor import org.jetbrains.jet.lang.descriptors.Modality import org.jetbrains.jet.lang.resolve.scopes.WritableScopeImpl diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassMemberScope.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassMemberScope.kt index d4abc96d6d3..3421beeb9ce 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassMemberScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassMemberScope.kt @@ -24,7 +24,6 @@ import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaResolverContextWithTypes import org.jetbrains.jet.lang.descriptors.impl.ValueParameterDescriptorImpl import org.jetbrains.jet.lang.resolve.java.structure.JavaArrayType import org.jetbrains.jet.lang.resolve.java.resolver.TypeUsage -import org.jetbrains.kotlin.util.iif import org.jetbrains.jet.lang.descriptors.impl.ConstructorDescriptorImpl import java.util.Collections import org.jetbrains.jet.lang.resolve.java.resolver.JavaConstructorResolver diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaMemberScope.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaMemberScope.kt index e42f6d094be..c98f6e97bf5 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaMemberScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaMemberScope.kt @@ -5,7 +5,6 @@ import org.jetbrains.jet.storage.NotNullLazyValue import org.jetbrains.jet.lang.resolve.name.LabelName import org.jetbrains.jet.lang.resolve.name.Name import org.jetbrains.jet.lang.resolve.scopes.JetScope -import org.jetbrains.jet.utils.emptyList import org.jetbrains.jet.lang.resolve.java.structure.JavaMethod import org.jetbrains.jet.lang.resolve.java.structure.JavaField import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaResolverContextWithTypes @@ -21,7 +20,6 @@ import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns import org.jetbrains.jet.lang.resolve.java.lazy.hasNotNullAnnotation import org.jetbrains.jet.lang.resolve.java.lazy.types.LazyJavaTypeAttributes import org.jetbrains.jet.lang.resolve.java.lazy.hasMutableAnnotation -import org.jetbrains.kotlin.util.iif import org.jetbrains.jet.lang.resolve.java.lazy.hasReadOnlyAnnotation import org.jetbrains.jet.lang.resolve.java.structure.JavaValueParameter import org.jetbrains.jet.lang.resolve.java.resolver.JavaFunctionResolver @@ -172,7 +170,7 @@ public abstract class LazyJavaMemberScope( val (index, javaParameter) = pair val typeUsage = LazyJavaTypeAttributes(c, javaParameter, TypeUsage.MEMBER_SIGNATURE_CONTRAVARIANT) { - c.hasMutableAnnotation(javaParameter).iif(TypeUsage.MEMBER_SIGNATURE_COVARIANT, TypeUsage.MEMBER_SIGNATURE_CONTRAVARIANT) + if (c.hasMutableAnnotation(javaParameter)) TypeUsage.MEMBER_SIGNATURE_COVARIANT else TypeUsage.MEMBER_SIGNATURE_CONTRAVARIANT } val (outType, varargElementType) = @@ -269,7 +267,7 @@ public abstract class LazyJavaMemberScope( protected open fun getAllPropertyNames(): Collection = memberIndex().getAllFieldNames() override fun getLocalVariable(name: Name): VariableDescriptor? = null - override fun getDeclarationsByLabel(labelName: LabelName) = emptyList() + override fun getDeclarationsByLabel(labelName: LabelName) = listOf() override fun getClassifiers(name: Name) = emptyOrSingletonList(getClassifier(name)) diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/types/LazyJavaTypeResolver.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/types/LazyJavaTypeResolver.kt index 408ee3f40d9..ab00ff9acda 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/types/LazyJavaTypeResolver.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/types/LazyJavaTypeResolver.kt @@ -25,8 +25,6 @@ import org.jetbrains.jet.lang.resolve.java.resolver.* import org.jetbrains.jet.lang.types.Variance.* import org.jetbrains.jet.lang.types.* import com.intellij.openapi.diagnostic.Logger -import org.jetbrains.kotlin.util.iif -import org.jetbrains.kotlin.util.eq import org.jetbrains.jet.lang.resolve.java.structure.JavaPrimitiveType import org.jetbrains.jet.lang.resolve.java.structure.JavaArrayType import org.jetbrains.jet.lang.resolve.java.structure.JavaClassifierType @@ -74,7 +72,7 @@ class LazyJavaTypeResolver( val projectionKind = if (attr.howThisTypeIsUsed == MEMBER_SIGNATURE_CONTRAVARIANT && !isVararg) OUT_VARIANCE else INVARIANT - val howArgumentTypeIsUsed = isVararg.iif(MEMBER_SIGNATURE_CONTRAVARIANT, TYPE_ARGUMENT) + val howArgumentTypeIsUsed = if (isVararg) MEMBER_SIGNATURE_CONTRAVARIANT else TYPE_ARGUMENT val componentType = transformJavaType(javaComponentType, howArgumentTypeIsUsed.toAttributes()) return TypeUtils.makeNullableAsSpecified(KotlinBuiltIns.getInstance().getArrayType(projectionKind, componentType), !attr.isMarkedNotNull) } @@ -83,7 +81,7 @@ class LazyJavaTypeResolver( c: LazyJavaResolverContext, val typeParameter: TypeParameterDescriptor ) : TypeProjectionBase() { - override fun getProjectionKind() = typeParameter.getVariance().eq(OUT_VARIANCE).iif(INVARIANT, OUT_VARIANCE) + override fun getProjectionKind() = if (typeParameter.getVariance() == OUT_VARIANCE) INVARIANT else OUT_VARIANCE override fun getType() = typeParameter.getUpperBoundsAsType() } @@ -191,7 +189,7 @@ class LazyJavaTypeResolver( // Most of the time this means there is an error in the Java code return typeParameters.map { p -> TypeProjectionImpl(ErrorUtils.createErrorType(p.getName().asString())) } } - var howTheProjectionIsUsed = attr.howThisTypeIsUsed.eq(SUPERTYPE).iif(SUPERTYPE_ARGUMENT, TYPE_ARGUMENT) + var howTheProjectionIsUsed = if (attr.howThisTypeIsUsed == SUPERTYPE) SUPERTYPE_ARGUMENT else TYPE_ARGUMENT return javaType.getTypeArguments().withIndices().map { javaTypeParameter -> val (i, t) = javaTypeParameter @@ -213,7 +211,7 @@ class LazyJavaTypeResolver( if (bound == null) LazyStarProjection(c, typeParameter) else { - var projectionKind = javaType.isExtends().iif(OUT_VARIANCE, IN_VARIANCE) + var projectionKind = if (javaType.isExtends()) OUT_VARIANCE else IN_VARIANCE if (projectionKind == typeParameter.getVariance()) { projectionKind = Variance.INVARIANT } diff --git a/core/util.runtime/src/org/jetbrains/jet/utils/collections.kt b/core/util.runtime/src/org/jetbrains/jet/utils/collections.kt index 0e546c7c4e4..516deff759e 100644 --- a/core/util.runtime/src/org/jetbrains/jet/utils/collections.kt +++ b/core/util.runtime/src/org/jetbrains/jet/utils/collections.kt @@ -62,4 +62,6 @@ public fun > C.ifEmpty(body: () -> C): C = if (isEmpty()) bo public fun Iterable>.flatten(): List { return flatMapTo(ArrayList(), {it}) -} \ No newline at end of file +} + +public fun emptyOrSingletonList(item: T?): List = if (item == null) listOf() else listOf(item) \ No newline at end of file diff --git a/core/util.runtime/src/org/jetbrains/jet/utils/coreLib.kt b/core/util.runtime/src/org/jetbrains/jet/utils/coreLib.kt index 5ce096b8767..34b89f5263a 100644 --- a/core/util.runtime/src/org/jetbrains/jet/utils/coreLib.kt +++ b/core/util.runtime/src/org/jetbrains/jet/utils/coreLib.kt @@ -16,20 +16,9 @@ package org.jetbrains.kotlin.util -fun Boolean.iif(then: T, _else: T): T = if (this) then else _else - fun T?.inn(then: (T) -> R, _else: R): R = if (this != null) then(this) else _else -// These two functions are needed in conjunction with iif: -// foo.eq(bar).iif(a, b) -fun T.eq(eq: T): Boolean = this == eq -fun T.neq(eq: T): Boolean = this != eq - -fun T?.sure(message: String): T { - if (this == null) - throw AssertionError(message) - return this -} +fun T?.sure(message: String): T = this ?: throw AssertionError(message) fun T.printAndReturn(message: String = ""): T { if (!message.isEmpty()) { diff --git a/core/util.runtime/src/org/jetbrains/jet/utils/javaCollections.kt b/core/util.runtime/src/org/jetbrains/jet/utils/javaCollections.kt deleted file mode 100644 index 8d0f37b6eb6..00000000000 --- a/core/util.runtime/src/org/jetbrains/jet/utils/javaCollections.kt +++ /dev/null @@ -1,10 +0,0 @@ -package org.jetbrains.jet.utils - -import java.util.Collections - -public fun emptyList(): MutableList = Collections.emptyList() as MutableList -public fun emptyOrSingletonList(item: T?): MutableList = if (item == null) emptyList() else Collections.singletonList(item) as MutableList - -public fun emptySet(): MutableSet = Collections.emptySet() as MutableSet -public fun emptyMap(): MutableMap = Collections.emptyMap() as MutableMap -