From d9882a6d0bed592796caab61e05b3b7c34162b26 Mon Sep 17 00:00:00 2001 From: Stanislav Erokhin Date: Thu, 5 Mar 2015 12:56:50 +0300 Subject: [PATCH] Move inference parameter type in FunctionDescriptorResolver --- .../rendering/DefaultErrorMessages.java | 3 +- .../resolve/FunctionDescriptorResolver.kt | 112 ++++++-- .../expressions/FunctionsTypingVisitor.kt | 114 +------- .../chainedQualifiedExpression.values | 262 +++++++++--------- .../tests/FunctionParameterWithoutType.kt | 12 + .../tests/FunctionParameterWithoutType.txt | 13 + .../tests/annotations/onFunctionParameter.kt | 9 + .../tests/annotations/onFunctionParameter.txt | 12 + .../tests/recovery/namelessMembers.txt | 2 +- .../checkers/JetDiagnosticsTestGenerated.java | 12 + .../renderer/DescriptorRendererImpl.java | 4 +- .../org/jetbrains/kotlin/types/TypeUtils.java | 2 +- .../typesNotInferable.kt | 4 +- 13 files changed, 294 insertions(+), 267 deletions(-) create mode 100644 compiler/testData/diagnostics/tests/FunctionParameterWithoutType.kt create mode 100644 compiler/testData/diagnostics/tests/FunctionParameterWithoutType.txt create mode 100644 compiler/testData/diagnostics/tests/annotations/onFunctionParameter.kt create mode 100644 compiler/testData/diagnostics/tests/annotations/onFunctionParameter.txt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java index b6672d7504c..40f152dd823 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java @@ -171,8 +171,7 @@ public class DefaultErrorMessages { MAP.put(CONFLICTING_IMPORT, "Conflicting import, imported name ''{0}'' is ambiguous", STRING); MAP.put(PLATFORM_CLASS_MAPPED_TO_KOTLIN, "This class shouldn''t be used in Kotlin. Use {0} instead.", CLASSES_OR_SEPARATED); - MAP.put(CANNOT_INFER_PARAMETER_TYPE, - "Cannot infer a type for this parameter. To specify it explicitly use the {(p : Type) -> ...} notation"); + MAP.put(CANNOT_INFER_PARAMETER_TYPE, "Cannot infer a type for this parameter. Please specify it explicitly."); MAP.put(NO_BACKING_FIELD_ABSTRACT_PROPERTY, "This property doesn't have a backing field, because it's abstract"); MAP.put(NO_BACKING_FIELD_CUSTOM_ACCESSORS, diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt index f545156ecf3..3f80724b9ff 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt @@ -17,13 +17,15 @@ package org.jetbrains.kotlin.resolve import com.intellij.psi.PsiElement +import org.jetbrains.kotlin.builtins +import org.jetbrains.kotlin.builtins.KotlinBuiltIns.* import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.* -import org.jetbrains.kotlin.descriptors.impl.ConstructorDescriptorImpl -import org.jetbrains.kotlin.descriptors.impl.FunctionExpressionDescriptor -import org.jetbrains.kotlin.descriptors.impl.SimpleFunctionDescriptorImpl +import org.jetbrains.kotlin.descriptors.annotations.Annotations +import org.jetbrains.kotlin.descriptors.impl.* import org.jetbrains.kotlin.diagnostics.DiagnosticUtils import org.jetbrains.kotlin.diagnostics.Errors.* +import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.resolve.scopes.JetScope import org.jetbrains.kotlin.resolve.ModifiersChecker.* @@ -37,7 +39,10 @@ import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.types.DeferredType import org.jetbrains.kotlin.types.ErrorUtils import org.jetbrains.kotlin.types.JetType +import org.jetbrains.kotlin.types.TypeUtils +import org.jetbrains.kotlin.types.checker.JetTypeChecker import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices +import org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils import java.util.ArrayList class FunctionDescriptorResolver( @@ -65,7 +70,7 @@ class FunctionDescriptorResolver( CallableMemberDescriptor.Kind.DECLARATION, function.toSourceElement() ) - initializeFunctionDescriptorAndExplicitReturnType(containingDescriptor, scope, function, functionDescriptor, trace) + initializeFunctionDescriptorAndExplicitReturnType(containingDescriptor, scope, function, functionDescriptor, trace, null) initializeFunctionReturnTypeBasedOnFunctionBody(scope, function, functionDescriptor, trace, dataFlowInfo) BindingContextUtils.recordFunctionDeclarationToDescriptor(trace, function, functionDescriptor) return functionDescriptor @@ -85,7 +90,7 @@ class FunctionDescriptorResolver( CallableMemberDescriptor.Kind.DECLARATION, function.toSourceElement() ) - initializeFunctionDescriptorAndExplicitReturnType(containingDescriptor, scope, function, functionDescriptor, trace) + initializeFunctionDescriptorAndExplicitReturnType(containingDescriptor, scope, function, functionDescriptor, trace, null) initializeFunctionReturnTypeBasedOnFunctionBody(scope, function, functionDescriptor, trace, dataFlowInfo) BindingContextUtils.recordFunctionDeclarationToDescriptor(trace, function, functionDescriptor) return functionDescriptor @@ -117,12 +122,13 @@ class FunctionDescriptorResolver( functionDescriptor.setReturnType(returnType) } - private fun initializeFunctionDescriptorAndExplicitReturnType( + fun initializeFunctionDescriptorAndExplicitReturnType( containingDescriptor: DeclarationDescriptor, scope: JetScope, function: JetFunction, functionDescriptor: SimpleFunctionDescriptorImpl, - trace: BindingTrace + trace: BindingTrace, + expectedFunctionType: JetType? ) { val innerScope = WritableScopeImpl(scope, functionDescriptor, TraceBasedRedeclarationHandler(trace), "Function descriptor header scope") innerScope.addLabeledDeclaration(functionDescriptor) @@ -133,18 +139,18 @@ class FunctionDescriptorResolver( descriptorResolver.resolveGenericBounds(function, functionDescriptor, innerScope, typeParameterDescriptors, trace) val receiverTypeRef = function.getReceiverTypeReference() - val receiverType = if (receiverTypeRef != null) { - typeResolver.resolveType(innerScope, receiverTypeRef, trace, true) - } else null + val receiverType = + if (receiverTypeRef != null) + typeResolver.resolveType(innerScope, receiverTypeRef, trace, true) + else + expectedFunctionType.getReceiverType() - val valueParameterDescriptors = resolveValueParameters(functionDescriptor, innerScope, function.getValueParameters(), trace) + + val valueParameterDescriptors = createValueParameterDescriptors(function, functionDescriptor, innerScope, trace, expectedFunctionType) innerScope.changeLockLevel(WritableScope.LockLevel.READING) - val returnTypeRef = function.getTypeReference() - val returnType = if (returnTypeRef != null) { - typeResolver.resolveType(innerScope, returnTypeRef, trace, true) - } else null + val returnType = function.getTypeReference()?.let { typeResolver.resolveType(innerScope, it, trace, true) } val modality = resolveModalityFromModifiers(function, getDefaultModality(containingDescriptor, function.hasBody())) val visibility = resolveVisibilityFromModifiers(function, getDefaultVisibility(function, containingDescriptor)) @@ -159,6 +165,45 @@ class FunctionDescriptorResolver( ) } + private fun createValueParameterDescriptors( + function: JetFunction, + functionDescriptor: SimpleFunctionDescriptorImpl, + innerScope: WritableScopeImpl, + trace: BindingTrace, + expectedFunctionType: JetType? + ): List { + val expectedValueParameters = expectedFunctionType.getValueParameters(functionDescriptor) + if (expectedValueParameters != null) { + if (expectedValueParameters.size() == 1 && function is JetFunctionLiteral && function.getValueParameterList() == null) { + // it parameter for lambda + val valueParameterDescriptor = expectedValueParameters.first() + val it = ValueParameterDescriptorImpl(functionDescriptor, null, 0, Annotations.EMPTY, Name.identifier("it"), + valueParameterDescriptor.getType(), valueParameterDescriptor.hasDefaultValue(), + valueParameterDescriptor.getVarargElementType(), SourceElement.NO_SOURCE) + trace.record(BindingContext.AUTO_CREATED_IT, it) + return listOf(it) + } + if (function.getValueParameters().size() != expectedValueParameters.size()) { + val expectedParameterTypes = ExpressionTypingUtils.getValueParametersTypes(expectedValueParameters) + trace.report(EXPECTED_PARAMETERS_NUMBER_MISMATCH.on(function, expectedParameterTypes.size(), expectedParameterTypes)) + } + } + return resolveValueParameters( + functionDescriptor, + innerScope, + function.getValueParameters(), + trace, + expectedValueParameters + ) + } + + private fun JetType.functionTypeExpected() = !TypeUtils.noExpectedType(this) && KotlinBuiltIns.isFunctionOrExtensionFunctionType(this) + private fun JetType?.getReceiverType(): JetType? = + if (this != null && functionTypeExpected()) getReceiverType(this) else null + + private fun JetType?.getValueParameters(owner: FunctionDescriptor): List? = + if (this != null && functionTypeExpected()) getValueParameters(owner, this) else null + public fun resolvePrimaryConstructorDescriptor( scope: JetScope, classDescriptor: ClassDescriptor, @@ -222,7 +267,7 @@ class FunctionDescriptorResolver( parameterScope.changeLockLevel(WritableScope.LockLevel.BOTH) val constructor = constructorDescriptor.initialize( typeParameters, - resolveValueParameters(constructorDescriptor, parameterScope, valueParameters, trace), + resolveValueParameters(constructorDescriptor, parameterScope, valueParameters, trace, null), resolveVisibilityFromModifiers( modifierList, DescriptorUtils.getDefaultConstructorVisibility(classDescriptor) @@ -238,20 +283,43 @@ class FunctionDescriptorResolver( functionDescriptor: FunctionDescriptor, parameterScope: WritableScope, valueParameters: List, - trace: BindingTrace + trace: BindingTrace, + expectedValueParameters: List? ): List { val result = ArrayList() + for (i in valueParameters.indices) { val valueParameter = valueParameters.get(i) val typeReference = valueParameter.getTypeReference() + val expectedType = expectedValueParameters?.let { if (i < it.size()) it[i].getType() else null } val type: JetType - if (typeReference == null) { - trace.report(VALUE_PARAMETER_WITH_NO_TYPE_ANNOTATION.on(valueParameter)) - type = ErrorUtils.createErrorType("Type annotation was missing") + if (typeReference != null) { + type = typeResolver.resolveType(parameterScope, typeReference, trace, true) + if (expectedType != null) { + if (!JetTypeChecker.DEFAULT.isSubtypeOf(expectedType, type)) { + trace.report(EXPECTED_PARAMETER_TYPE_MISMATCH.on(valueParameter, expectedType)) + } + } } else { - type = typeResolver.resolveType(parameterScope, typeReference, trace, true) + if (isFunctionLiteral(functionDescriptor) || isFunctionExpression(functionDescriptor)) { + val containsUninferredParameter = TypeUtils.containsSpecialType(expectedType) { + TypeUtils.isDontCarePlaceholder(it) || ErrorUtils.isUninferredParameter(it) + } + if (expectedType == null || containsUninferredParameter) { + trace.report(CANNOT_INFER_PARAMETER_TYPE.on(valueParameter)) + } + if (expectedType != null) { + type = expectedType + } + else { + type = TypeUtils.CANT_INFER_FUNCTION_PARAM_TYPE + } + } else { + trace.report(VALUE_PARAMETER_WITH_NO_TYPE_ANNOTATION.on(valueParameter)) + type = ErrorUtils.createErrorType("Type annotation was missing for parameter ${valueParameter.getNameAsSafeName()}") + } } if (functionDescriptor !is ConstructorDescriptor) { @@ -262,7 +330,7 @@ class FunctionDescriptorResolver( checkConstructorParameterHasNoModifier(trace, valueParameter) } - val valueParameterDescriptor = descriptorResolver.resolveValueParameterDescriptor(parameterScope, functionDescriptor, + val valueParameterDescriptor = descriptorResolver.resolveValueParameterDescriptorWithAnnotationArguments(parameterScope, functionDescriptor, valueParameter, i, type, trace) parameterScope.addVariableDescriptor(valueParameterDescriptor) result.add(valueParameterDescriptor) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/FunctionsTypingVisitor.kt b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/FunctionsTypingVisitor.kt index 7fe019742b1..d7603fd5b52 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/FunctionsTypingVisitor.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/FunctionsTypingVisitor.kt @@ -36,7 +36,7 @@ import org.jetbrains.kotlin.resolve.calls.context.ResolutionContext import org.jetbrains.kotlin.resolve.scopes.WritableScope import org.jetbrains.kotlin.resolve.source.toSourceElement import org.jetbrains.kotlin.types.* -import org.jetbrains.kotlin.types.TypeUtils.CANT_INFER_LAMBDA_PARAM_TYPE +import org.jetbrains.kotlin.types.TypeUtils.CANT_INFER_FUNCTION_PARAM_TYPE import org.jetbrains.kotlin.types.TypeUtils.NO_EXPECTED_TYPE import org.jetbrains.kotlin.types.TypeUtils.noExpectedType import org.jetbrains.kotlin.types.checker.JetTypeChecker @@ -127,12 +127,12 @@ public class FunctionsTypingVisitor(facade: ExpressionTypingInternals) : Express val expectedType = context.expectedType val functionTypeExpected = !noExpectedType(expectedType) && KotlinBuiltIns.isFunctionOrExtensionFunctionType(expectedType) - val functionDescriptor = createFunctionDescriptor(expression, context, functionTypeExpected) + val functionDescriptor = createFunctionDescriptor(expression, context) val safeReturnType = computeReturnType(expression, context, functionDescriptor, functionTypeExpected) functionDescriptor.setReturnType(safeReturnType) val resultType = createFunctionType(functionDescriptor)!! - if (!noExpectedType(expectedType) && KotlinBuiltIns.isFunctionOrExtensionFunctionType(expectedType)) { + if (functionTypeExpected) { // all checks were done before return JetTypeInfo.create(resultType, context.dataFlowInfo) } @@ -142,115 +142,18 @@ public class FunctionsTypingVisitor(facade: ExpressionTypingInternals) : Express private fun createFunctionDescriptor( expression: JetFunctionLiteralExpression, - context: ExpressionTypingContext, - functionTypeExpected: Boolean + context: ExpressionTypingContext ): AnonymousFunctionDescriptor { val functionLiteral = expression.getFunctionLiteral() - val receiverTypeRef = functionLiteral.getReceiverTypeReference() val functionDescriptor = AnonymousFunctionDescriptor(context.scope.getContainingDeclaration(), Annotations.EMPTY, CallableMemberDescriptor.Kind.DECLARATION, functionLiteral.toSourceElement()) - - val valueParameterDescriptors = createValueParameterDescriptors(context, functionLiteral, functionDescriptor, functionTypeExpected) - - val effectiveReceiverType: JetType? - if (receiverTypeRef == null) { - if (functionTypeExpected) { - effectiveReceiverType = KotlinBuiltIns.getReceiverType(context.expectedType) - } - else { - effectiveReceiverType = null - } - } - else { - effectiveReceiverType = components.expressionTypingServices.getTypeResolver().resolveType(context.scope, receiverTypeRef, - context.trace, true) - } - functionDescriptor.initialize(effectiveReceiverType, ReceiverParameterDescriptor.NO_RECEIVER_PARAMETER, listOf(), - valueParameterDescriptors, /*unsubstitutedReturnType = */ null, Modality.FINAL, Visibilities.LOCAL) + components.expressionTypingServices.getFunctionDescriptorResolver(). + initializeFunctionDescriptorAndExplicitReturnType(context.scope.getContainingDeclaration(), context.scope, functionLiteral, + functionDescriptor, context.trace, context.expectedType) BindingContextUtils.recordFunctionDeclarationToDescriptor(context.trace, functionLiteral, functionDescriptor) return functionDescriptor } - private fun createValueParameterDescriptors( - context: ExpressionTypingContext, - functionLiteral: JetFunctionLiteral, - functionDescriptor: FunctionDescriptorImpl, - functionTypeExpected: Boolean - ): List { - val valueParameterDescriptors = Lists.newArrayList() - val declaredValueParameters = functionLiteral.getValueParameters() - - val expectedValueParameters = if (functionTypeExpected) KotlinBuiltIns.getValueParameters(functionDescriptor, context.expectedType) - else null - - val valueParameterList = functionLiteral.getValueParameterList() - val hasDeclaredValueParameters = valueParameterList != null - if (functionTypeExpected && !hasDeclaredValueParameters && expectedValueParameters!!.size() == 1) { - val valueParameterDescriptor = expectedValueParameters!!.get(0) - val it = ValueParameterDescriptorImpl(functionDescriptor, null, 0, Annotations.EMPTY, Name.identifier("it"), - valueParameterDescriptor.getType(), valueParameterDescriptor.hasDefaultValue(), - valueParameterDescriptor.getVarargElementType(), SourceElement.NO_SOURCE) - valueParameterDescriptors.add(it) - context.trace.record(AUTO_CREATED_IT, it) - } - else { - if (expectedValueParameters != null && declaredValueParameters.size() != expectedValueParameters.size()) { - val expectedParameterTypes = ExpressionTypingUtils.getValueParametersTypes(expectedValueParameters) - context.trace.report(EXPECTED_PARAMETERS_NUMBER_MISMATCH.on(functionLiteral, expectedParameterTypes.size(), expectedParameterTypes)) - } - for (i in declaredValueParameters.indices) { - val valueParameterDescriptor = createValueParameterDescriptor(context, functionDescriptor, declaredValueParameters, expectedValueParameters, i) - valueParameterDescriptors.add(valueParameterDescriptor) - } - } - return valueParameterDescriptors - } - - private fun createValueParameterDescriptor( - context: ExpressionTypingContext, - functionDescriptor: FunctionDescriptorImpl, - declaredValueParameters: List, - expectedValueParameters: List?, - index: Int - ): ValueParameterDescriptor { - val declaredParameter = declaredValueParameters.get(index) - val typeReference = declaredParameter.getTypeReference() - - val expectedType: JetType? - if (expectedValueParameters != null && index < expectedValueParameters.size()) { - expectedType = expectedValueParameters.get(index).getType() - } - else { - expectedType = null - } - val type: JetType - if (typeReference != null) { - type = components.expressionTypingServices.getTypeResolver().resolveType(context.scope, typeReference, context.trace, true) - if (expectedType != null) { - if (!JetTypeChecker.DEFAULT.isSubtypeOf(expectedType, type)) { - context.trace.report(EXPECTED_PARAMETER_TYPE_MISMATCH.on(declaredParameter, expectedType)) - } - } - } - else { - val containsUninferredParameter = TypeUtils.containsSpecialType(expectedType) { - TypeUtils.isDontCarePlaceholder(it) || ErrorUtils.isUninferredParameter(it) - } - if (expectedType == null || containsUninferredParameter) { - context.trace.report(CANNOT_INFER_PARAMETER_TYPE.on(declaredParameter)) - } - if (expectedType != null) { - type = expectedType - } - else { - type = CANT_INFER_LAMBDA_PARAM_TYPE - } - } - return components.expressionTypingServices.getDescriptorResolver() - .resolveValueParameterDescriptorWithAnnotationArguments(context.scope, functionDescriptor, declaredParameter, - index, type, context.trace) - } - private fun computeReturnType( expression: JetFunctionLiteralExpression, context: ExpressionTypingContext, @@ -265,10 +168,9 @@ public class FunctionsTypingVisitor(facade: ExpressionTypingInternals) : Express return components.builtIns.getUnitType() } } - return returnType ?: CANT_INFER_LAMBDA_PARAM_TYPE + return returnType ?: CANT_INFER_FUNCTION_PARAM_TYPE } - private fun computeUnsafeReturnType( expression: JetFunctionLiteralExpression, context: ExpressionTypingContext, diff --git a/compiler/testData/cfg/expressions/chainedQualifiedExpression.values b/compiler/testData/cfg/expressions/chainedQualifiedExpression.values index 41efe038e92..230c48e7f42 100644 --- a/compiler/testData/cfg/expressions/chainedQualifiedExpression.values +++ b/compiler/testData/cfg/expressions/chainedQualifiedExpression.values @@ -50,137 +50,137 @@ public open class JetKeywordCompletionContributor() { } } --------------------- - : {<: JetKeywordCompletionContributor} NEW: magic[IMPLICIT_RECEIVER](BunchKeywordRegister()) -> -1.0 : Double NEW: r(1.0) -> -BunchKeywordRegister() : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(BunchKeywordRegister(), |) -> -ABSTRACT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(ABSTRACT_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -FINAL_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(FINAL_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -OPEN_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(OPEN_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -INTERNAL_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(INTERNAL_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel), add|, , , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -PRIVATE_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(PRIVATE_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel), add|, , , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -PROTECTED_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(PROTECTED_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel), add|, , , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -PUBLIC_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(PUBLIC_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel), add|, , , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -CLASS_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(CLASS_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -ENUM_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(ENUM_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -FUN_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(FUN_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -GET_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(GET_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -SET_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(SET_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -TRAIT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(TRAIT_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -VAL_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(VAL_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -VAR_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(VAR_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -TYPE_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(TYPE_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -IMPORT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(IMPORT_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(IMPORT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(IMPORT_KEYWORD, inTopLevel), add|, , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -PACKAGE_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(PACKAGE_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(PACKAGE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(PACKAGE_KEYWORD, inTopLevel), add|, , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -OVERRIDE_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(OVERRIDE_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(OVERRIDE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(OVERRIDE_KEYWORD, inTopLevel), add|, , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -IN_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(IN_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(IN_KEYWORD, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(IN_KEYWORD, inTopLevel, inTopLevel), add|, , , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -OUT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(OUT_KEYWORD) -> -inTopLevel : Double NEW: r(inTopLevel) -> -add(OUT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(OUT_KEYWORD, inTopLevel), add|, , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -OBJECT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(OBJECT_KEYWORD) -> -unresolvedCode : Double NEW: magic[UNRESOLVED_CALL](unresolvedCode) -> -add(OBJECT_KEYWORD, unresolvedCode) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(OBJECT_KEYWORD, unresolvedCode), add|, , ) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) .add(OBJECT_KEYWORD, unresolvedCode) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -registerAll() : * NEW: call(registerAll(), registerAll|) -> -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) .add(OBJECT_KEYWORD, unresolvedCode) .registerAll() : * COPY -{ val inTopLevel = 1.0 BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) .add(OBJECT_KEYWORD, unresolvedCode) .registerAll() } : * COPY + : {<: JetKeywordCompletionContributor} NEW: magic[IMPLICIT_RECEIVER](BunchKeywordRegister()) -> +1.0 : Double NEW: r(1.0) -> +BunchKeywordRegister() : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(BunchKeywordRegister(), |) -> +ABSTRACT_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(ABSTRACT_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +FINAL_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(FINAL_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +OPEN_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(OPEN_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +INTERNAL_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(INTERNAL_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel), add|, , , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +PRIVATE_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(PRIVATE_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel), add|, , , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +PROTECTED_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(PROTECTED_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel), add|, , , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +PUBLIC_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(PUBLIC_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel), add|, , , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +CLASS_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(CLASS_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +ENUM_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(ENUM_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +FUN_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(FUN_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +GET_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(GET_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +SET_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(SET_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +TRAIT_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(TRAIT_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +VAL_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(VAL_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +VAR_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(VAR_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +TYPE_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(TYPE_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel), add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +IMPORT_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(IMPORT_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(IMPORT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(IMPORT_KEYWORD, inTopLevel), add|, , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +PACKAGE_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(PACKAGE_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(PACKAGE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(PACKAGE_KEYWORD, inTopLevel), add|, , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +OVERRIDE_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(OVERRIDE_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(OVERRIDE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(OVERRIDE_KEYWORD, inTopLevel), add|, , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +IN_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(IN_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(IN_KEYWORD, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(IN_KEYWORD, inTopLevel, inTopLevel), add|, , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +OUT_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(OUT_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(OUT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(OUT_KEYWORD, inTopLevel), add|, , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +OBJECT_KEYWORD : {<: [ERROR : Type annotation was missing for parameter ]} NEW: r(OBJECT_KEYWORD) -> +unresolvedCode : Double NEW: magic[UNRESOLVED_CALL](unresolvedCode) -> +add(OBJECT_KEYWORD, unresolvedCode) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add(OBJECT_KEYWORD, unresolvedCode), add|, , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) .add(OBJECT_KEYWORD, unresolvedCode) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +registerAll() : * NEW: call(registerAll(), registerAll|) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) .add(OBJECT_KEYWORD, unresolvedCode) .registerAll() : * COPY +{ val inTopLevel = 1.0 BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) .add(OBJECT_KEYWORD, unresolvedCode) .registerAll() } : * COPY ===================== == ABSTRACT_KEYWORD == val ABSTRACT_KEYWORD = JetToken() diff --git a/compiler/testData/diagnostics/tests/FunctionParameterWithoutType.kt b/compiler/testData/diagnostics/tests/FunctionParameterWithoutType.kt new file mode 100644 index 00000000000..64f966f1d20 --- /dev/null +++ b/compiler/testData/diagnostics/tests/FunctionParameterWithoutType.kt @@ -0,0 +1,12 @@ +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE + +fun test(a) { + +} + +class A(a) + +val bar = fun test(a){} + +val la = { (a) -> } +val las = { (a: Int) -> } \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/FunctionParameterWithoutType.txt b/compiler/testData/diagnostics/tests/FunctionParameterWithoutType.txt new file mode 100644 index 00000000000..1e87a4d75c3 --- /dev/null +++ b/compiler/testData/diagnostics/tests/FunctionParameterWithoutType.txt @@ -0,0 +1,13 @@ +package + +internal val bar: (???) -> kotlin.Unit +internal val la: (???) -> kotlin.Unit +internal val las: (kotlin.Int) -> kotlin.Unit +internal fun test(/*0*/ a: [ERROR : Type annotation was missing for parameter a]): kotlin.Unit + +internal final class A { + public constructor A(/*0*/ a: [ERROR : Type annotation was missing for parameter a]) + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} diff --git a/compiler/testData/diagnostics/tests/annotations/onFunctionParameter.kt b/compiler/testData/diagnostics/tests/annotations/onFunctionParameter.kt new file mode 100644 index 00000000000..9fe7e7c5f76 --- /dev/null +++ b/compiler/testData/diagnostics/tests/annotations/onFunctionParameter.kt @@ -0,0 +1,9 @@ +annotation class ann + +fun test([ann] p: Int) { + +} + +val bar = fun test([ann] g: Int) {} + +val bas = { ([ann] t: Int) -> } \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/annotations/onFunctionParameter.txt b/compiler/testData/diagnostics/tests/annotations/onFunctionParameter.txt new file mode 100644 index 00000000000..bceef25b890 --- /dev/null +++ b/compiler/testData/diagnostics/tests/annotations/onFunctionParameter.txt @@ -0,0 +1,12 @@ +package + +internal val bar: (kotlin.Int) -> kotlin.Unit +internal val bas: (kotlin.Int) -> kotlin.Unit +internal fun test(/*0*/ ann() p: kotlin.Int): kotlin.Unit + +internal final annotation class ann : kotlin.Annotation { + public constructor ann() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} diff --git a/compiler/testData/diagnostics/tests/recovery/namelessMembers.txt b/compiler/testData/diagnostics/tests/recovery/namelessMembers.txt index 13f61976e0a..289608268b6 100644 --- a/compiler/testData/diagnostics/tests/recovery/namelessMembers.txt +++ b/compiler/testData/diagnostics/tests/recovery/namelessMembers.txt @@ -38,7 +38,7 @@ internal final class C1> { } internal final class C2 { - public constructor C2(/*0*/ : [ERROR : Type annotation was missing]) + public constructor C2(/*0*/ : [ERROR : Type annotation was missing for parameter ]) internal final val : [ERROR : Annotation is absent] public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java index 95b0e404e73..138f8935230 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java @@ -288,6 +288,12 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest { doTest(fileName); } + @TestMetadata("FunctionParameterWithoutType.kt") + public void testFunctionParameterWithoutType() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/FunctionParameterWithoutType.kt"); + doTest(fileName); + } + @TestMetadata("FunctionReturnTypes.kt") public void testFunctionReturnTypes() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/FunctionReturnTypes.kt"); @@ -791,6 +797,12 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest { doTest(fileName); } + @TestMetadata("onFunctionParameter.kt") + public void testOnFunctionParameter() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/annotations/onFunctionParameter.kt"); + doTest(fileName); + } + @TestMetadata("onInitializer.kt") public void testOnInitializer() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/annotations/onInitializer.kt"); diff --git a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.java b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.java index 3e3037a2cec..8d42bdecd3f 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.java @@ -43,7 +43,7 @@ import org.jetbrains.kotlin.utils.UtilsPackage; import java.util.*; import static org.jetbrains.kotlin.resolve.DescriptorUtils.isDefaultObject; -import static org.jetbrains.kotlin.types.TypeUtils.CANT_INFER_LAMBDA_PARAM_TYPE; +import static org.jetbrains.kotlin.types.TypeUtils.CANT_INFER_FUNCTION_PARAM_TYPE; public class DescriptorRendererImpl implements DescriptorRenderer { @@ -350,7 +350,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer { private String renderInflexibleType(@NotNull JetType type) { assert !TypesPackage.isFlexible(type) : "Flexible types not allowed here: " + renderNormalizedType(type); - if (type == CANT_INFER_LAMBDA_PARAM_TYPE || TypeUtils.isDontCarePlaceholder(type)) { + if (type == CANT_INFER_FUNCTION_PARAM_TYPE || TypeUtils.isDontCarePlaceholder(type)) { return "???"; } if (ErrorUtils.isUninferredParameter(type)) { diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/TypeUtils.java b/core/descriptors/src/org/jetbrains/kotlin/types/TypeUtils.java index 77cba673cef..d1de698e6c0 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/TypeUtils.java +++ b/core/descriptors/src/org/jetbrains/kotlin/types/TypeUtils.java @@ -43,7 +43,7 @@ public class TypeUtils { public static final JetType DONT_CARE = ErrorUtils.createErrorTypeWithCustomDebugName("DONT_CARE"); public static final JetType PLACEHOLDER_FUNCTION_TYPE = ErrorUtils.createErrorTypeWithCustomDebugName("PLACEHOLDER_FUNCTION_TYPE"); - public static final JetType CANT_INFER_LAMBDA_PARAM_TYPE = ErrorUtils.createErrorType("Cannot be inferred"); + public static final JetType CANT_INFER_FUNCTION_PARAM_TYPE = ErrorUtils.createErrorType("Cannot be inferred"); public static class SpecialType implements JetType { private final String name; diff --git a/idea/testData/intentions/makeTypeExplicitInLambda/typesNotInferable.kt b/idea/testData/intentions/makeTypeExplicitInLambda/typesNotInferable.kt index 95bfc2e074e..85ae3415552 100644 --- a/idea/testData/intentions/makeTypeExplicitInLambda/typesNotInferable.kt +++ b/idea/testData/intentions/makeTypeExplicitInLambda/typesNotInferable.kt @@ -1,6 +1,6 @@ // IS_APPLICABLE: false -// ERROR: Cannot infer a type for this parameter. To specify it explicitly use the {(p : Type) -> ...} notation -// ERROR: Cannot infer a type for this parameter. To specify it explicitly use the {(p : Type) -> ...} notation +// ERROR: Cannot infer a type for this parameter. Please specify it explicitly. +// ERROR: Cannot infer a type for this parameter. Please specify it explicitly. fun main() { val sum = { (x, y) -> x + y // Type of x and y cannot be inferred, so intention can't be used }