From bf28ce155d130ad12255dadc67b15ebd5823545b Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Mon, 18 Mar 2013 21:11:50 +0400 Subject: [PATCH] Removed "tuples not supported" diagnostic. --- .../jet/lang/diagnostics/Errors.java | 6 ------ .../rendering/DefaultErrorMessages.java | 5 ----- .../jet/lang/resolve/TypeResolver.java | 10 +-------- .../BasicExpressionTypingVisitor.java | 21 +------------------ .../plugin/highlighter/IdeErrorMessages.java | 8 ------- 5 files changed, 2 insertions(+), 48 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/Errors.java b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/Errors.java index 253f6ff5975..1a5d215f632 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/Errors.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/Errors.java @@ -54,12 +54,6 @@ public interface Errors { DiagnosticFactory1 UNSUPPORTED = DiagnosticFactory1.create(ERROR); - // TODO: Temporary error message: to deprecate tuples we report this error and provide a quick fix - @Deprecated // Tuples will be dropped in Kotlin M4 - DiagnosticFactory0 TUPLES_ARE_NOT_SUPPORTED = DiagnosticFactory0.create(ERROR); - @Deprecated // Tuples will be dropped in Kotlin M4 - DiagnosticFactory0 TUPLES_ARE_NOT_SUPPORTED_BIG = DiagnosticFactory0.create(ERROR); - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Generic errors/warnings: applicable in many contexts diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/rendering/DefaultErrorMessages.java b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/rendering/DefaultErrorMessages.java index 5bda932b13e..5575185cbf6 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/rendering/DefaultErrorMessages.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/rendering/DefaultErrorMessages.java @@ -40,11 +40,6 @@ public class DefaultErrorMessages { public static final DiagnosticRenderer RENDERER = new DispatchingDiagnosticRenderer(MAP); static { - - // TODO: remove when tuples are completely dropped - MAP.put(TUPLES_ARE_NOT_SUPPORTED, "Tuples are not supported. In the IDE you can use Alt+Enter to replace tuples with library classes"); - MAP.put(TUPLES_ARE_NOT_SUPPORTED_BIG, "Tuples are not supported. Use data classes instead"); - MAP.put(EXCEPTION_WHILE_ANALYZING, "{0}", new Renderer() { @NotNull @Override diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeResolver.java index 130d0081505..ebe8d23779f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeResolver.java @@ -195,15 +195,7 @@ public class TypeResolver { @Override public void visitTupleType(JetTupleType type) { // TODO: remove this method completely when tuples are droppped - if (type.getComponentTypeRefs().size() <= 3) { - trace.report(TUPLES_ARE_NOT_SUPPORTED.on(type)); - } - else { - trace.report(TUPLES_ARE_NOT_SUPPORTED_BIG.on(type)); - } - - // TODO labels - result[0] = KotlinBuiltIns.getInstance().getTupleType(resolveTypes(scope, type.getComponentTypeRefs(), trace, checkBounds)); + throw new IllegalStateException("Tuples are not supported: " + type.getText()); } @Override diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/BasicExpressionTypingVisitor.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/BasicExpressionTypingVisitor.java index d17e9f88a4a..a13fa26f35a 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/BasicExpressionTypingVisitor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/BasicExpressionTypingVisitor.java @@ -365,26 +365,7 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor { @Override public JetTypeInfo visitTupleExpression(JetTupleExpression expression, ExpressionTypingContext context) { // TODO: remove this method completely when tuples are droppped - if (expression.getEntries().size() <= 3) { - context.trace.report(TUPLES_ARE_NOT_SUPPORTED.on(expression)); - } - else { - context.trace.report(TUPLES_ARE_NOT_SUPPORTED_BIG.on(expression)); - } - - List entries = expression.getEntries(); - List types = new ArrayList(); - for (JetExpression entry : entries) { - types.add(context.expressionTypingServices.safeGetType(context.scope, entry, NO_EXPECTED_TYPE, context.dataFlowInfo, context.trace)); // TODO - } - if (context.expectedType != NO_EXPECTED_TYPE && KotlinBuiltIns.getInstance().isTupleType(context.expectedType)) { - List enrichedTypes = checkArgumentTypes(types, entries, context.expectedType.getArguments(), context); - if (enrichedTypes != types) { - return JetTypeInfo.create(KotlinBuiltIns.getInstance().getTupleType(enrichedTypes), context.dataFlowInfo); - } - } - // TODO : labels - return DataFlowUtils.checkType(KotlinBuiltIns.getInstance().getTupleType(types), expression, context, context.dataFlowInfo); + throw new IllegalStateException("Tuples are not supported: " + expression.getText()); } @NotNull diff --git a/idea/src/org/jetbrains/jet/plugin/highlighter/IdeErrorMessages.java b/idea/src/org/jetbrains/jet/plugin/highlighter/IdeErrorMessages.java index ed4f82b8d0b..e57f45228f2 100644 --- a/idea/src/org/jetbrains/jet/plugin/highlighter/IdeErrorMessages.java +++ b/idea/src/org/jetbrains/jet/plugin/highlighter/IdeErrorMessages.java @@ -39,14 +39,6 @@ public class IdeErrorMessages { public static final DiagnosticRenderer RENDERER = new DispatchingDiagnosticRenderer(MAP, DefaultErrorMessages.MAP); static { - // TODO: Remove when tuples are completely dropped - MAP.put(TUPLES_ARE_NOT_SUPPORTED, "Tuples are not supported. Press Alt+Enter to replace tuples with library classes"); - MAP.put(TUPLES_ARE_NOT_SUPPORTED_BIG, "" + - "Tuples are not supported.
" + - "Use data classes instead. For example:
" + - "data class FourThings(val a: A, val b: B, val c: C, val d: D)" + - ""); - MAP.put(TYPE_MISMATCH, "Type mismatch.
Required:{0}
Found:{1}
", HTML_RENDER_TYPE, HTML_RENDER_TYPE);