diff --git a/js/js.frontend/src/org/jetbrains/kotlin/js/PredefinedAnnotation.kt b/js/js.frontend/src/org/jetbrains/kotlin/js/PredefinedAnnotation.kt index 1f0aa70c6f0..c7a3ae65c42 100644 --- a/js/js.frontend/src/org/jetbrains/kotlin/js/PredefinedAnnotation.kt +++ b/js/js.frontend/src/org/jetbrains/kotlin/js/PredefinedAnnotation.kt @@ -30,6 +30,6 @@ public enum class PredefinedAnnotation(fqName: String) { companion object { // TODO: replace with straight assignment when KT-5761 will be fixed - val WITH_CUSTOM_NAME by Delegates.lazy { setOf(LIBRARY, NATIVE) } + val WITH_CUSTOM_NAME by lazy { setOf(LIBRARY, NATIVE) } } } diff --git a/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/diagnostics/DefaultErrorMessagesJs.kt b/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/diagnostics/DefaultErrorMessagesJs.kt index d36ed24be5b..8a55776e65c 100644 --- a/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/diagnostics/DefaultErrorMessagesJs.kt +++ b/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/diagnostics/DefaultErrorMessagesJs.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.diagnostics.rendering.DiagnosticFactoryToRendererMap import org.jetbrains.kotlin.diagnostics.rendering.Renderers import kotlin.properties.Delegates -private val DIAGNOSTIC_FACTORY_TO_RENDERER by Delegates.lazy { +private val DIAGNOSTIC_FACTORY_TO_RENDERER by lazy { with(DiagnosticFactoryToRendererMap()) { put(ErrorsJs.NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN, diff --git a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/ExpressionDecomposer.kt b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/ExpressionDecomposer.kt index c32c8037caf..fa61a61fb26 100644 --- a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/ExpressionDecomposer.kt +++ b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/ExpressionDecomposer.kt @@ -324,7 +324,7 @@ class ExpressionDecomposer private constructor( private inner class Temporary(val value: JsExpression? = null) { val name: JsName = scope.declareTemporary() - val variable: JsVars by Delegates.lazy { + val variable: JsVars by lazy { newVar(name, value) } diff --git a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/FunctionInlineMutator.kt b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/FunctionInlineMutator.kt index 23504491288..b77f5d82c33 100644 --- a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/FunctionInlineMutator.kt +++ b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/FunctionInlineMutator.kt @@ -74,13 +74,13 @@ private constructor( var thisReplacement = getThisReplacement(call) if (thisReplacement == null || thisReplacement is JsLiteral.JsThisRef) return - if (thisReplacement!!.needToAlias()) { + if (thisReplacement.needToAlias()) { val thisName = namingContext.getFreshName(getThisAlias()) namingContext.newVar(thisName, thisReplacement) thisReplacement = thisName.makeRef() } - replaceThisReference(body, thisReplacement!!) + replaceThisReference(body, thisReplacement) } private fun removeStatementsAfterTopReturn() { diff --git a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeDefaultInitializers.kt b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeDefaultInitializers.kt index 081abe92ef6..192094d6ad7 100644 --- a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeDefaultInitializers.kt +++ b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeDefaultInitializers.kt @@ -97,7 +97,7 @@ private fun isNameInitialized( val expr = (lastThenStmt as? JsExpressionStatement)?.getExpression() if (expr !is JsBinaryOperation) return false - val op = expr.getOperator()!! + val op = expr.getOperator() if (!op.isAssignment()) return false val arg1 = expr.getArg1() diff --git a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/context/FunctionContext.kt b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/context/FunctionContext.kt index 7b46a926b60..a9337127d60 100644 --- a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/context/FunctionContext.kt +++ b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/context/FunctionContext.kt @@ -121,7 +121,7 @@ abstract class FunctionContext( /** in case 4, 5 get ref (reduce 4, 5 to 2, 3 accordingly) */ if (callQualifier is JsNameRef) { - val staticRef = (callQualifier as JsNameRef).getName()?.staticRef + val staticRef = callQualifier.getName()?.staticRef callQualifier = when (staticRef) { is JsNameRef -> staticRef diff --git a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/context/InliningContext.kt b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/context/InliningContext.kt index a7eccc37387..6cf196b0c3e 100644 --- a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/context/InliningContext.kt +++ b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/context/InliningContext.kt @@ -19,7 +19,7 @@ package org.jetbrains.kotlin.js.inline.context import com.google.dart.compiler.backend.js.ast.JsContext import com.google.dart.compiler.backend.js.ast.JsStatement -trait InliningContext { +interface InliningContext { public val statementContext: JsContext public val functionContext: FunctionContext diff --git a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/util/invocationUtils.kt b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/util/invocationUtils.kt index 337ade0890c..ec6199d3caa 100644 --- a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/util/invocationUtils.kt +++ b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/util/invocationUtils.kt @@ -47,14 +47,14 @@ public fun getSimpleIdent(call: JsInvocation): String? { qualifiers@ while (qualifier != null) { when (qualifier) { is JsInvocation -> { - val callableQualifier = qualifier as JsInvocation + val callableQualifier = qualifier qualifier = callableQualifier.getQualifier() if (isCallInvocation(callableQualifier)) { qualifier = (qualifier as? JsNameRef)?.getQualifier() } } - is HasName -> return (qualifier as HasName).getName()?.getIdent() + is HasName -> return qualifier.getName()?.getIdent() else -> break@qualifiers } } diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ClassSerializationUtil.kt b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ClassSerializationUtil.kt index 2c3ca566442..efa03d072ed 100644 --- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ClassSerializationUtil.kt +++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ClassSerializationUtil.kt @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.serialization.DescriptorSerializer import org.jetbrains.kotlin.serialization.ProtoBuf public object ClassSerializationUtil { - public trait Sink { + public interface Sink { fun writeClass(classDescriptor: ClassDescriptor, classProto: ProtoBuf.Class) } diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallInfo.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallInfo.kt index ebedcd05af7..1ccae4fe2a7 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallInfo.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallInfo.kt @@ -32,7 +32,7 @@ import com.google.dart.compiler.backend.js.ast.JsLiteral import com.google.dart.compiler.backend.js.ast.JsConditional import com.google.dart.compiler.backend.js.ast.JsBlock -trait CallInfo { +interface CallInfo { val context: TranslationContext val resolvedCall: ResolvedCall @@ -87,7 +87,7 @@ fun TranslationContext.getCallInfo(resolvedCall: ResolvedCall { notNullConditional = TranslationUtils.notNullConditional(extensionReceiver!!, JsLiteral.NULL, this) - extensionReceiver = notNullConditional!!.getThenExpression() + extensionReceiver = notNullConditional.getThenExpression() } else -> { notNullConditional = TranslationUtils.notNullConditional(dispatchReceiver!!, JsLiteral.NULL, this) - dispatchReceiver = notNullConditional!!.getThenExpression() + dispatchReceiver = notNullConditional.getThenExpression() } } } diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallInfoExtensions.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallInfoExtensions.kt index 7560e306f60..da728341415 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallInfoExtensions.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallInfoExtensions.kt @@ -59,7 +59,7 @@ fun VariableAccessInfo.getAccessFunctionName(): String { return context.getNameForDescriptor(propertyAccessorDescriptor!!).getIdent() } else { - return Namer.getNameForAccessor(variableName.getIdent()!!, isGetAccess(), false) + return Namer.getNameForAccessor(variableName.getIdent(), isGetAccess(), false) } } diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallTranslator.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallTranslator.kt index ffb71b7b279..8400503a556 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallTranslator.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallTranslator.kt @@ -154,7 +154,7 @@ fun computeExplicitReceiversForInvoke( } } -trait CallCase { +interface CallCase { protected fun I.unsupported(message: String = "") : Nothing = throw IllegalStateException("this case unsupported. $this") @@ -183,11 +183,11 @@ trait CallCase { } } -trait FunctionCallCase : CallCase +interface FunctionCallCase : CallCase -trait VariableAccessCase : CallCase +interface VariableAccessCase : CallCase -trait DelegateIntrinsic { +interface DelegateIntrinsic { fun I.canBeApply(): Boolean = true fun I.getDescriptor(): CallableDescriptor fun I.getArgs(): List diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/FileDeclaration.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/FileDeclaration.kt index 937600e9e31..4d9aa5d1148 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/FileDeclaration.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/FileDeclaration.kt @@ -39,7 +39,7 @@ class FileDeclarationVisitor( private val initializer = JsAstUtils.createFunctionWithEmptyBody(context.scope()) private val initializerContext = context.contextWithScope(initializer) - private val initializerStatements = initializer.getBody()!!.getStatements()!! + private val initializerStatements = initializer.getBody().getStatements() private val initializerVisitor = InitializerVisitor(initializerStatements) fun computeInitializer(): JsFunction? { diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/MultiDeclarationTranslator.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/MultiDeclarationTranslator.java index 81a07830247..d98c0bbb095 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/MultiDeclarationTranslator.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/MultiDeclarationTranslator.java @@ -82,7 +82,7 @@ public class MultiDeclarationTranslator extends AbstractTranslator { for (JetMultiDeclarationEntry entry : multiDeclaration.getEntries()) { ResolvedCall entryInitCall = context().bindingContext().get(BindingContext.COMPONENT_RESOLVED_CALL, entry); assert entryInitCall != null : "Entry init call must be not null"; - JsExpression entryInitializer = CallTranslator.INSTANCE$.translate(context(), entryInitCall, multiObjNameRef); + JsExpression entryInitializer = CallTranslator.translate(context(), entryInitCall, multiObjNameRef); FunctionDescriptor candidateDescriptor = entryInitCall.getCandidateDescriptor(); if (CallExpressionTranslator.shouldBeInlined(candidateDescriptor)) { setInlineCallMetadata(entryInitializer, entry, entryInitCall, context()); diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/objects/objectsIntrinsics.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/objects/objectsIntrinsics.kt index 50ab97646e8..2040087319f 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/objects/objectsIntrinsics.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/objects/objectsIntrinsics.kt @@ -46,7 +46,7 @@ public class ObjectIntrinsics { } } -public trait ObjectIntrinsic { +public interface ObjectIntrinsic { fun apply(context: TranslationContext): JsExpression fun exists(): Boolean = true } diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/operation/binaryOperationIntrinsics.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/operation/binaryOperationIntrinsics.kt index c2fa42d5cba..135187f6467 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/operation/binaryOperationIntrinsics.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/operation/binaryOperationIntrinsics.kt @@ -26,7 +26,7 @@ import gnu.trove.THashMap import com.google.dart.compiler.backend.js.ast.JsExpression import com.google.common.collect.ImmutableSet -public trait BinaryOperationIntrinsic { +public interface BinaryOperationIntrinsic { fun apply(expression: JetBinaryExpression, left: JsExpression, right: JsExpression, context: TranslationContext): JsExpression @@ -71,7 +71,7 @@ public class BinaryOperationIntrinsics { } } -trait BinaryOperationIntrinsicFactory { +interface BinaryOperationIntrinsicFactory { public fun getSupportTokens(): ImmutableSet diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/operation/OverloadedAssignmentTranslator.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/operation/OverloadedAssignmentTranslator.java index b40f6b10e23..964be2b7ff2 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/operation/OverloadedAssignmentTranslator.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/operation/OverloadedAssignmentTranslator.java @@ -57,6 +57,6 @@ public final class OverloadedAssignmentTranslator extends AssignmentTranslator { @NotNull private JsExpression overloadedMethodInvocation() { - return CallTranslator.INSTANCE$.translate(context(), resolvedCall, accessTranslator.translateAsGet()); + return CallTranslator.translate(context(), resolvedCall, accessTranslator.translateAsGet()); } } diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/operation/OverloadedIncrementTranslator.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/operation/OverloadedIncrementTranslator.java index 5b45c120384..390d31a538a 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/operation/OverloadedIncrementTranslator.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/operation/OverloadedIncrementTranslator.java @@ -42,7 +42,7 @@ public final class OverloadedIncrementTranslator extends IncrementTranslator { @Override @NotNull protected JsExpression operationExpression(@NotNull JsExpression receiver) { - return CallTranslator.INSTANCE$.translate(context(), resolvedCall, receiver); + return CallTranslator.translate(context(), resolvedCall, receiver); } } diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/operation/UnaryOperationTranslator.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/operation/UnaryOperationTranslator.java index ac8f2397703..73b1e1ced05 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/operation/UnaryOperationTranslator.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/operation/UnaryOperationTranslator.java @@ -82,7 +82,7 @@ public final class UnaryOperationTranslator { } ResolvedCall resolvedCall = getFunctionResolvedCallWithAssert(expression, context.bindingContext()); - return CallTranslator.INSTANCE$.translate(context, resolvedCall, baseExpression); + return CallTranslator.translate(context, resolvedCall, baseExpression); } private static boolean isExclForBinaryEqualLikeExpr(@NotNull JetUnaryExpression expression, @NotNull JsExpression baseExpression) { diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/ArrayAccessTranslator.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/ArrayAccessTranslator.java index c3f8fa03a4b..4e79ee539f0 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/ArrayAccessTranslator.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/ArrayAccessTranslator.java @@ -82,7 +82,7 @@ public class ArrayAccessTranslator extends AbstractTranslator implements AccessT if (!isGetter) { context = contextWithValueParameterAliasInArrayGetAccess(toSetTo); } - return CallTranslator.INSTANCE$.translate(context, resolvedCall, arrayExpression); + return CallTranslator.translate(context, resolvedCall, arrayExpression); } @NotNull diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/CallArgumentTranslator.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/CallArgumentTranslator.kt index dc22d6a8c7a..9a6a2a01d69 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/CallArgumentTranslator.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/CallArgumentTranslator.kt @@ -150,14 +150,14 @@ public class CallArgumentTranslator private constructor( concatArguments!!.addAll(result) if (!argsBeforeVararg!!.isEmpty()) { - concatArguments!!.add(0, JsArrayLiteral(argsBeforeVararg)) + concatArguments.add(0, JsArrayLiteral(argsBeforeVararg)) } - result = SmartList(concatArgumentsIfNeeded(concatArguments!!)) + result = SmartList(concatArgumentsIfNeeded(concatArguments)) if (receiver != null) { cachedReceiver = context().getOrDeclareTemporaryConstVariable(receiver) - result.add(0, cachedReceiver!!.reference()) + result.add(0, cachedReceiver.reference()) } else { result.add(0, JsLiteral.NULL) diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/CallExpressionTranslator.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/CallExpressionTranslator.java index 950d877fed8..235ff76853d 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/CallExpressionTranslator.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/CallExpressionTranslator.java @@ -97,7 +97,7 @@ public final class CallExpressionTranslator extends AbstractCallExpressionTransl @NotNull private JsExpression translate() { - return CallTranslator.INSTANCE$.translate(context(), resolvedCall, receiver); + return CallTranslator.translate(context(), resolvedCall, receiver); } @NotNull diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/PsiUtils.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/PsiUtils.java index 62cc3b86bf3..67e695c204c 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/PsiUtils.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/PsiUtils.java @@ -119,7 +119,7 @@ public final class PsiUtils { @NotNull public static List getPrimaryConstructorParameters(@NotNull JetClassOrObject classDeclaration) { if (classDeclaration instanceof JetClass) { - return ((JetClass) classDeclaration).getPrimaryConstructorParameters(); + return classDeclaration.getPrimaryConstructorParameters(); } return Collections.emptyList(); }