LL API: add kt -> fir mapping tests for expressions
This commit is contained in:
committed by
teamcityserver
parent
0554e2a083
commit
b380bcfd99
Vendored
+3
@@ -0,0 +1,3 @@
|
|||||||
|
fun foo(x: Any): String {
|
||||||
|
return <expr>x as String</expr>
|
||||||
|
}
|
||||||
Vendored
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KT element: KtBinaryExpressionWithTypeRHS
|
||||||
|
FIR element: FirTypeOperatorCallImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
(R|<local>/x| as R|kotlin/String|)
|
||||||
idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/binaryExpression.kt
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
val x = <expr>1 + 1</expr>
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KT element: KtBinaryExpression
|
||||||
|
FIR element: FirFunctionCallImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
Int(1).R|kotlin/Int.plus|(Int(1))
|
||||||
Vendored
+4
@@ -0,0 +1,4 @@
|
|||||||
|
fun x() <expr> {
|
||||||
|
|
||||||
|
}
|
||||||
|
</expr>
|
||||||
idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/blockExpression.txt
Vendored
+6
@@ -0,0 +1,6 @@
|
|||||||
|
KT element: KtBlockExpression
|
||||||
|
FIR element: FirBlockImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
{
|
||||||
|
}
|
||||||
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
val x = <expr>true</expr>
|
||||||
Vendored
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KT element: KtConstantExpression
|
||||||
|
FIR element: FirConstExpressionImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
Boolean(true)
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
val x = <expr>Int::class</expr>
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KT element: KtClassLiteralExpression
|
||||||
|
FIR element: FirGetClassCallImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
<getClass>(Q|kotlin/Int|)
|
||||||
Vendored
+3
@@ -0,0 +1,3 @@
|
|||||||
|
fun foo(x: Any): String {
|
||||||
|
return <expr>if (x is String) "1" else "2"</expr>
|
||||||
|
}
|
||||||
Vendored
+12
@@ -0,0 +1,12 @@
|
|||||||
|
KT element: KtIfExpression
|
||||||
|
FIR element: FirWhenExpressionImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
when () {
|
||||||
|
(R|<local>/x| is R|kotlin/String|) -> {
|
||||||
|
String(1)
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
String(2)
|
||||||
|
}
|
||||||
|
}
|
||||||
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
val x = <expr>1</expr>
|
||||||
Vendored
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KT element: KtConstantExpression
|
||||||
|
FIR element: FirConstExpressionImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
Int(1)
|
||||||
Vendored
+3
@@ -0,0 +1,3 @@
|
|||||||
|
fun foo(x: Any): Boolean {
|
||||||
|
return <expr>x is String</expr>
|
||||||
|
}
|
||||||
Vendored
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KT element: KtIsExpression
|
||||||
|
FIR element: FirTypeOperatorCallImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
(R|<local>/x| is R|kotlin/String|)
|
||||||
idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/lambdaExpression.kt
Vendored
+4
@@ -0,0 +1,4 @@
|
|||||||
|
// WITH_STDLIB
|
||||||
|
val x = run <expr>{
|
||||||
|
1
|
||||||
|
}</expr>
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
KT element: KtLambdaArgument
|
||||||
|
FIR element: FirAnonymousFunctionExpressionImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
run@fun <anonymous>(): R|kotlin/Int| <inline=Inline, kind=EXACTLY_ONCE> {
|
||||||
|
^ Int(1)
|
||||||
|
}
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
val x = <expr>(1 + 2)</expr>
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KT element: KtParenthesizedExpression
|
||||||
|
FIR element: FirFunctionCallImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
Int(1).R|kotlin/Int.plus|(Int(2))
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
class A {
|
||||||
|
fun foo(){}
|
||||||
|
}
|
||||||
|
val y: A = A()
|
||||||
|
val x = <expr>A::foo</expr>
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KT element: KtCallableReferenceExpression
|
||||||
|
FIR element: FirCallableReferenceAccessImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
Q|A|::R|/A.foo|
|
||||||
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
val x = <expr>"string"</expr>
|
||||||
Vendored
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KT element: KtStringTemplateExpression
|
||||||
|
FIR element: FirConstExpressionImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
String(string)
|
||||||
Vendored
+3
@@ -0,0 +1,3 @@
|
|||||||
|
fun x() {
|
||||||
|
<expr>throw IllegalStateException()</expr>
|
||||||
|
}
|
||||||
idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/throwExpression.txt
Vendored
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KT element: KtThrowExpression
|
||||||
|
FIR element: FirThrowExpressionImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
throw R|java/lang/IllegalStateException.IllegalStateException|()
|
||||||
Vendored
+3
@@ -0,0 +1,3 @@
|
|||||||
|
fun x() {
|
||||||
|
<expr>try { 1 } catch(e: Throwable) finally {}</expr>
|
||||||
|
}
|
||||||
Vendored
+11
@@ -0,0 +1,11 @@
|
|||||||
|
KT element: KtTryExpression
|
||||||
|
FIR element: FirTryExpressionImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
try {
|
||||||
|
Int(1)
|
||||||
|
}
|
||||||
|
catch (e: R|kotlin/Throwable|) {
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
}
|
||||||
idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/unraryExpression.kt
Vendored
+3
@@ -0,0 +1,3 @@
|
|||||||
|
fun foo(x: Boolean): Boolean {
|
||||||
|
return <expr>!x</expr>
|
||||||
|
}
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KT element: KtPrefixExpression
|
||||||
|
FIR element: FirFunctionCallImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
R|<local>/x|.R|kotlin/Boolean.not|()
|
||||||
Vendored
+6
@@ -0,0 +1,6 @@
|
|||||||
|
fun foo(x: Any): String {
|
||||||
|
return <expr>when (x) {
|
||||||
|
is String -> "1"
|
||||||
|
else -> "2"
|
||||||
|
}</expr>
|
||||||
|
}
|
||||||
Vendored
+12
@@ -0,0 +1,12 @@
|
|||||||
|
KT element: KtWhenExpression
|
||||||
|
FIR element: FirWhenExpressionImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
when (R|<local>/x|) {
|
||||||
|
($subj$ is R|kotlin/String|) -> {
|
||||||
|
String(1)
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
String(2)
|
||||||
|
}
|
||||||
|
}
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
val x = <expr>"string ${1 + 2} template"</expr>
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KT element: KtStringTemplateExpression
|
||||||
|
FIR element: FirStringConcatenationCallImpl
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
<strcat>(String(string ), Int(1).R|kotlin/Int.plus|(Int(2)), String( template))
|
||||||
+102
@@ -117,17 +117,119 @@ public class GetOrBuildFirTestGenerated extends AbstractGetOrBuildFirTest {
|
|||||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("asExpression.kt")
|
||||||
|
public void testAsExpression() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/asExpression.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("binaryExpression.kt")
|
||||||
|
public void testBinaryExpression() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/binaryExpression.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("blockExpression.kt")
|
||||||
|
public void testBlockExpression() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/blockExpression.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("boolLiteral.kt")
|
||||||
|
public void testBoolLiteral() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/boolLiteral.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("classAccessExpression.kt")
|
||||||
|
public void testClassAccessExpression() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/classAccessExpression.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("ifExpression.kt")
|
||||||
|
public void testIfExpression() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/ifExpression.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("intLiteral.kt")
|
||||||
|
public void testIntLiteral() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/intLiteral.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("isExpression.kt")
|
||||||
|
public void testIsExpression() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/isExpression.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("lambdaExpression.kt")
|
||||||
|
public void testLambdaExpression() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/lambdaExpression.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("objectLiteralExpression.kt")
|
@TestMetadata("objectLiteralExpression.kt")
|
||||||
public void testObjectLiteralExpression() throws Exception {
|
public void testObjectLiteralExpression() throws Exception {
|
||||||
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/objectLiteralExpression.kt");
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/objectLiteralExpression.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("parenthesizedExpression.kt")
|
||||||
|
public void testParenthesizedExpression() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/parenthesizedExpression.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("propertyReferenceExpression.kt")
|
||||||
|
public void testPropertyReferenceExpression() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/propertyReferenceExpression.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("stringLiteral.kt")
|
||||||
|
public void testStringLiteral() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/stringLiteral.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("stringTemplateExpressionEntry.kt")
|
@TestMetadata("stringTemplateExpressionEntry.kt")
|
||||||
public void testStringTemplateExpressionEntry() throws Exception {
|
public void testStringTemplateExpressionEntry() throws Exception {
|
||||||
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/stringTemplateExpressionEntry.kt");
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/stringTemplateExpressionEntry.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("throwExpression.kt")
|
||||||
|
public void testThrowExpression() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/throwExpression.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("tryExpression.kt")
|
||||||
|
public void testTryExpression() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/tryExpression.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("unraryExpression.kt")
|
||||||
|
public void testUnraryExpression() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/unraryExpression.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("whenExpression.kt")
|
||||||
|
public void testWhenExpression() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/whenExpression.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("wholeStringTemplate.kt")
|
||||||
|
public void testWholeStringTemplate() throws Exception {
|
||||||
|
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/expressions/wholeStringTemplate.kt");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
|
|||||||
Reference in New Issue
Block a user