From d311fe21f8db2c683cab29c19ec97d7c09f13810 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Fri, 5 Mar 2021 18:24:57 +0100 Subject: [PATCH] FIR IDE: add additional tests for expression types --- .../expressionType/binaryExpression.kt | 6 +++ .../expressionType/breakExpression.kt | 10 +++++ .../components/expressionType/functionCall.kt | 7 +++ .../components/expressionType/inParens.kt | 6 +++ .../expressionType/insideStringTemplate.kt | 7 +++ .../insideStringTemplateWithBinrary.kt | 7 +++ .../components/expressionType/intLiteral.kt | 6 +++ .../expressionType/returnExpression.kt | 8 ++++ .../expressionType/stringLiteral.kt | 6 +++ .../HLExpressionTypeTestGenerated.java | 44 +++++++++++++++++++ 10 files changed, 107 insertions(+) create mode 100644 idea/idea-frontend-fir/testData/components/expressionType/binaryExpression.kt create mode 100644 idea/idea-frontend-fir/testData/components/expressionType/breakExpression.kt create mode 100644 idea/idea-frontend-fir/testData/components/expressionType/functionCall.kt create mode 100644 idea/idea-frontend-fir/testData/components/expressionType/inParens.kt create mode 100644 idea/idea-frontend-fir/testData/components/expressionType/insideStringTemplate.kt create mode 100644 idea/idea-frontend-fir/testData/components/expressionType/insideStringTemplateWithBinrary.kt create mode 100644 idea/idea-frontend-fir/testData/components/expressionType/intLiteral.kt create mode 100644 idea/idea-frontend-fir/testData/components/expressionType/returnExpression.kt create mode 100644 idea/idea-frontend-fir/testData/components/expressionType/stringLiteral.kt diff --git a/idea/idea-frontend-fir/testData/components/expressionType/binaryExpression.kt b/idea/idea-frontend-fir/testData/components/expressionType/binaryExpression.kt new file mode 100644 index 00000000000..fa89fbff8f9 --- /dev/null +++ b/idea/idea-frontend-fir/testData/components/expressionType/binaryExpression.kt @@ -0,0 +1,6 @@ +val x = 1 + 2 +// RESULT + +// expression: 1 + 2 +// type: kotlin.Int + diff --git a/idea/idea-frontend-fir/testData/components/expressionType/breakExpression.kt b/idea/idea-frontend-fir/testData/components/expressionType/breakExpression.kt new file mode 100644 index 00000000000..bb19092e2bb --- /dev/null +++ b/idea/idea-frontend-fir/testData/components/expressionType/breakExpression.kt @@ -0,0 +1,10 @@ +fun x(): Int { + for(i in 1..2) { + break + } +} +// RESULT + +// expression: break +// type: kotlin.Nothing + diff --git a/idea/idea-frontend-fir/testData/components/expressionType/functionCall.kt b/idea/idea-frontend-fir/testData/components/expressionType/functionCall.kt new file mode 100644 index 00000000000..04c50d16756 --- /dev/null +++ b/idea/idea-frontend-fir/testData/components/expressionType/functionCall.kt @@ -0,0 +1,7 @@ +val a = 12 +val x = 12.toByte() +// RESULT + +// expression: 12.toByte() +// type: kotlin.Byte + diff --git a/idea/idea-frontend-fir/testData/components/expressionType/inParens.kt b/idea/idea-frontend-fir/testData/components/expressionType/inParens.kt new file mode 100644 index 00000000000..4ac23c00ca2 --- /dev/null +++ b/idea/idea-frontend-fir/testData/components/expressionType/inParens.kt @@ -0,0 +1,6 @@ +val x = (1 + 2) + 3 +// RESULT + +// expression: (1 + 2) +// type: kotlin.Int + diff --git a/idea/idea-frontend-fir/testData/components/expressionType/insideStringTemplate.kt b/idea/idea-frontend-fir/testData/components/expressionType/insideStringTemplate.kt new file mode 100644 index 00000000000..004ce964ce5 --- /dev/null +++ b/idea/idea-frontend-fir/testData/components/expressionType/insideStringTemplate.kt @@ -0,0 +1,7 @@ +val a = 10 +val x = "abc${a}defg" +// RESULT + +// expression: a +// type: kotlin.Int + diff --git a/idea/idea-frontend-fir/testData/components/expressionType/insideStringTemplateWithBinrary.kt b/idea/idea-frontend-fir/testData/components/expressionType/insideStringTemplateWithBinrary.kt new file mode 100644 index 00000000000..5be24f40895 --- /dev/null +++ b/idea/idea-frontend-fir/testData/components/expressionType/insideStringTemplateWithBinrary.kt @@ -0,0 +1,7 @@ +val a = 10 +val x = "abc${a + 20}defg" +// RESULT + +// expression: a +// type: kotlin.Int + diff --git a/idea/idea-frontend-fir/testData/components/expressionType/intLiteral.kt b/idea/idea-frontend-fir/testData/components/expressionType/intLiteral.kt new file mode 100644 index 00000000000..cc9cdd9cccf --- /dev/null +++ b/idea/idea-frontend-fir/testData/components/expressionType/intLiteral.kt @@ -0,0 +1,6 @@ +val x = 1 +// RESULT + +// expression: 1 +// type: kotlin.Int + diff --git a/idea/idea-frontend-fir/testData/components/expressionType/returnExpression.kt b/idea/idea-frontend-fir/testData/components/expressionType/returnExpression.kt new file mode 100644 index 00000000000..158272facd3 --- /dev/null +++ b/idea/idea-frontend-fir/testData/components/expressionType/returnExpression.kt @@ -0,0 +1,8 @@ +fun x(): Int { + return 1 +} +// RESULT + +// expression: return 1 +// type: kotlin.Nothing + diff --git a/idea/idea-frontend-fir/testData/components/expressionType/stringLiteral.kt b/idea/idea-frontend-fir/testData/components/expressionType/stringLiteral.kt new file mode 100644 index 00000000000..a8239a8098c --- /dev/null +++ b/idea/idea-frontend-fir/testData/components/expressionType/stringLiteral.kt @@ -0,0 +1,6 @@ +val x = "abc" +// RESULT + +// expression: "abc" +// type: kotlin.String + diff --git a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/components/HLExpressionTypeTestGenerated.java b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/components/HLExpressionTypeTestGenerated.java index f4a24990067..23d9c2e0621 100644 --- a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/components/HLExpressionTypeTestGenerated.java +++ b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/components/HLExpressionTypeTestGenerated.java @@ -34,11 +34,55 @@ public class HLExpressionTypeTestGenerated extends AbstractHLExpressionTypeTest runTest("idea/idea-frontend-fir/testData/components/expressionType/assignmentExpressionTarget.kt"); } + @TestMetadata("binaryExpression.kt") + public void testBinaryExpression() throws Exception { + runTest("idea/idea-frontend-fir/testData/components/expressionType/binaryExpression.kt"); + } + + @TestMetadata("breakExpression.kt") + public void testBreakExpression() throws Exception { + runTest("idea/idea-frontend-fir/testData/components/expressionType/breakExpression.kt"); + } + @TestMetadata("forExpression.kt") public void testForExpression() throws Exception { runTest("idea/idea-frontend-fir/testData/components/expressionType/forExpression.kt"); } + @TestMetadata("functionCall.kt") + public void testFunctionCall() throws Exception { + runTest("idea/idea-frontend-fir/testData/components/expressionType/functionCall.kt"); + } + + @TestMetadata("inParens.kt") + public void testInParens() throws Exception { + runTest("idea/idea-frontend-fir/testData/components/expressionType/inParens.kt"); + } + + @TestMetadata("insideStringTemplate.kt") + public void testInsideStringTemplate() throws Exception { + runTest("idea/idea-frontend-fir/testData/components/expressionType/insideStringTemplate.kt"); + } + + @TestMetadata("insideStringTemplateWithBinrary.kt") + public void testInsideStringTemplateWithBinrary() throws Exception { + runTest("idea/idea-frontend-fir/testData/components/expressionType/insideStringTemplateWithBinrary.kt"); + } + + @TestMetadata("intLiteral.kt") + public void testIntLiteral() throws Exception { + runTest("idea/idea-frontend-fir/testData/components/expressionType/intLiteral.kt"); + } + + @TestMetadata("returnExpression.kt") + public void testReturnExpression() throws Exception { + runTest("idea/idea-frontend-fir/testData/components/expressionType/returnExpression.kt"); + } + + @TestMetadata("stringLiteral.kt") + public void testStringLiteral() throws Exception { + runTest("idea/idea-frontend-fir/testData/components/expressionType/stringLiteral.kt"); + } @TestMetadata("whileExpression.kt") public void testWhileExpression() throws Exception {