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);
|
||||
}
|
||||
|
||||
@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
|
||||
@TestMetadata("objectLiteralExpression.kt")
|
||||
public void testObjectLiteralExpression() throws Exception {
|
||||
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
|
||||
@TestMetadata("stringTemplateExpressionEntry.kt")
|
||||
public void testStringTemplateExpressionEntry() throws Exception {
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user