[LL FIR] add lazy resolve tests on function with raw contract and implicit type

^KT-56551
This commit is contained in:
Dmitrii Gridin
2023-09-20 13:47:22 +02:00
committed by Space Team
parent c0b147e31c
commit 3c865bdddd
10 changed files with 651 additions and 0 deletions
@@ -0,0 +1,6 @@
// LANGUAGE: +ContractSyntaxV2
import kotlin.contracts.*
fun <caret>foo(bool: Boolean) contract [
returns() implies bool
] = bool
@@ -0,0 +1,117 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] implicitTypeOnFunctionWithRawContract.kt
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun foo([ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public? final? [ResolvedTo(COMPANION_GENERATION)] fun foo([ResolvedTo(COMPANION_GENERATION)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public? final? [ResolvedTo(SUPER_TYPES)] fun foo([ResolvedTo(SUPER_TYPES)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
TYPES:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public? final? [ResolvedTo(TYPES)] fun foo([ResolvedTo(TYPES)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
STATUS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun foo([ResolvedTo(EXPECT_ACTUAL_MATCHING)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] fun foo([ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(CONTRACTS)] fun foo([ResolvedTo(CONTRACTS)] bool: R|kotlin/Boolean|): <implicit> {
^foo bool#
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun foo([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[Contract description] <
<Unresolved name: returns>#().<Unresolved name: implies>#(R|<local>/bool|)
>
{
^foo R|<local>/bool|
}
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun foo([ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[Contract description] <
<Unresolved name: returns>#().<Unresolved name: implies>#(R|<local>/bool|)
>
{
^foo R|<local>/bool|
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[Contract description] <
<Unresolved name: returns>#().<Unresolved name: implies>#(R|<local>/bool|)
>
{
^foo R|<local>/bool|
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[Contract description] <
<Unresolved name: returns>#().<Unresolved name: implies>#(R|<local>/bool|)
>
{
^foo R|<local>/bool|
}
@@ -0,0 +1,126 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] implicitTypeOnFunctionWithRawContract.kt
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun foo([ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public? final? [ResolvedTo(COMPANION_GENERATION)] fun foo([ResolvedTo(COMPANION_GENERATION)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public? final? [ResolvedTo(SUPER_TYPES)] fun foo([ResolvedTo(SUPER_TYPES)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
TYPES:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public? final? [ResolvedTo(TYPES)] fun foo([ResolvedTo(TYPES)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
STATUS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun foo([ResolvedTo(EXPECT_ACTUAL_MATCHING)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] fun foo([ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(CONTRACTS)] fun foo([ResolvedTo(CONTRACTS)] bool: R|kotlin/Boolean|): <implicit>
[R|Contract description]
<
Returns(WILDCARD) -> bool
>
{
^foo bool#
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun foo([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[R|Contract description]
<
Returns(WILDCARD) -> bool
>
{
^foo R|<local>/bool|
}
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun foo([ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[R|Contract description]
<
Returns(WILDCARD) -> bool
>
{
^foo R|<local>/bool|
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[R|Contract description]
<
Returns(WILDCARD) -> bool
>
{
^foo R|<local>/bool|
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] implicitTypeOnFunctionWithRawContract.kt
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[R|Contract description]
<
Returns(WILDCARD) -> bool
>
{
^foo R|<local>/bool|
}
@@ -0,0 +1,5 @@
// LANGUAGE: +ContractSyntaxV2
fun <caret>foo(bool: Boolean) contract [
returns() implies bool
] = bool
@@ -0,0 +1,117 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] implicitTypeOnFunctionWithUnresolvedRawContract.kt
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithUnresolvedRawContract.kt
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithUnresolvedRawContract.kt
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun foo([ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithUnresolvedRawContract.kt
public? final? [ResolvedTo(COMPANION_GENERATION)] fun foo([ResolvedTo(COMPANION_GENERATION)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithUnresolvedRawContract.kt
public? final? [ResolvedTo(SUPER_TYPES)] fun foo([ResolvedTo(SUPER_TYPES)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
TYPES:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithUnresolvedRawContract.kt
public? final? [ResolvedTo(TYPES)] fun foo([ResolvedTo(TYPES)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
STATUS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithUnresolvedRawContract.kt
public final [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithUnresolvedRawContract.kt
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun foo([ResolvedTo(EXPECT_ACTUAL_MATCHING)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithUnresolvedRawContract.kt
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] fun foo([ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithUnresolvedRawContract.kt
public final [ResolvedTo(CONTRACTS)] fun foo([ResolvedTo(CONTRACTS)] bool: R|kotlin/Boolean|): <implicit> {
^foo bool#
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithUnresolvedRawContract.kt
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun foo([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[Contract description] <
<Unresolved name: returns>#().<Unresolved name: implies>#(R|<local>/bool|)
>
{
^foo R|<local>/bool|
}
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithUnresolvedRawContract.kt
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun foo([ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[Contract description] <
<Unresolved name: returns>#().<Unresolved name: implies>#(R|<local>/bool|)
>
{
^foo R|<local>/bool|
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithUnresolvedRawContract.kt
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[Contract description] <
<Unresolved name: returns>#().<Unresolved name: implies>#(R|<local>/bool|)
>
{
^foo R|<local>/bool|
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] implicitTypeOnFunctionWithUnresolvedRawContract.kt
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[Contract description] <
<Unresolved name: returns>#().<Unresolved name: implies>#(R|<local>/bool|)
>
{
^foo R|<local>/bool|
}
@@ -0,0 +1,6 @@
// LANGUAGE: +ContractSyntaxV2
import kotlin.contracts.*
fun <caret>foo(bool: Boolean) contract [
abc
] = bool
@@ -0,0 +1,117 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] implicitTypeOnFunctionWithWrongRawContract.kt
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun foo([ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public? final? [ResolvedTo(COMPANION_GENERATION)] fun foo([ResolvedTo(COMPANION_GENERATION)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public? final? [ResolvedTo(SUPER_TYPES)] fun foo([ResolvedTo(SUPER_TYPES)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
TYPES:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public? final? [ResolvedTo(TYPES)] fun foo([ResolvedTo(TYPES)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
STATUS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun foo([ResolvedTo(EXPECT_ACTUAL_MATCHING)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] fun foo([ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(CONTRACTS)] fun foo([ResolvedTo(CONTRACTS)] bool: R|kotlin/Boolean|): <implicit> {
^foo bool#
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun foo([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[Contract description] <
<Unresolved name: abc>#
>
{
^foo R|<local>/bool|
}
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun foo([ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[Contract description] <
<Unresolved name: abc>#
>
{
^foo R|<local>/bool|
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[Contract description] <
<Unresolved name: abc>#
>
{
^foo R|<local>/bool|
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[Contract description] <
<Unresolved name: abc>#
>
{
^foo R|<local>/bool|
}
@@ -0,0 +1,121 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] implicitTypeOnFunctionWithWrongRawContract.kt
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun foo([ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public? final? [ResolvedTo(COMPANION_GENERATION)] fun foo([ResolvedTo(COMPANION_GENERATION)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public? final? [ResolvedTo(SUPER_TYPES)] fun foo([ResolvedTo(SUPER_TYPES)] bool: Boolean): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
TYPES:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public? final? [ResolvedTo(TYPES)] fun foo([ResolvedTo(TYPES)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
STATUS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun foo([ResolvedTo(EXPECT_ACTUAL_MATCHING)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] fun foo([ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] bool: R|kotlin/Boolean|): <implicit>
[Contract description] <
LAZY_EXPRESSION
>
{ LAZY_BLOCK }
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(CONTRACTS)] fun foo([ResolvedTo(CONTRACTS)] bool: R|kotlin/Boolean|): <implicit>
[R|Contract description]
<
>
{
^foo bool#
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun foo([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[R|Contract description]
<
>
{
^foo R|<local>/bool|
}
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun foo([ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[R|Contract description]
<
>
{
^foo R|<local>/bool|
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[R|Contract description]
<
>
{
^foo R|<local>/bool|
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] implicitTypeOnFunctionWithWrongRawContract.kt
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] bool: R|kotlin/Boolean|): R|kotlin/Boolean|
[R|Contract description]
<
>
{
^foo R|<local>/bool|
}
@@ -276,6 +276,24 @@ public class FirOutOfContentRootLazyDeclarationResolveTestGenerated extends Abst
runTest("analysis/low-level-api-fir/testData/lazyResolve/functionWithParameter.kt");
}
@Test
@TestMetadata("implicitTypeOnFunctionWithRawContract.kt")
public void testImplicitTypeOnFunctionWithRawContract() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/implicitTypeOnFunctionWithRawContract.kt");
}
@Test
@TestMetadata("implicitTypeOnFunctionWithUnresolvedRawContract.kt")
public void testImplicitTypeOnFunctionWithUnresolvedRawContract() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/implicitTypeOnFunctionWithUnresolvedRawContract.kt");
}
@Test
@TestMetadata("implicitTypeOnFunctionWithWrongRawContract.kt")
public void testImplicitTypeOnFunctionWithWrongRawContract() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/implicitTypeOnFunctionWithWrongRawContract.kt");
}
@Test
@TestMetadata("lambdaAsSAMInterface.kt")
public void testLambdaAsSAMInterface() throws Exception {
@@ -276,6 +276,24 @@ public class FirSourceLazyDeclarationResolveTestGenerated extends AbstractFirSou
runTest("analysis/low-level-api-fir/testData/lazyResolve/functionWithParameter.kt");
}
@Test
@TestMetadata("implicitTypeOnFunctionWithRawContract.kt")
public void testImplicitTypeOnFunctionWithRawContract() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/implicitTypeOnFunctionWithRawContract.kt");
}
@Test
@TestMetadata("implicitTypeOnFunctionWithUnresolvedRawContract.kt")
public void testImplicitTypeOnFunctionWithUnresolvedRawContract() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/implicitTypeOnFunctionWithUnresolvedRawContract.kt");
}
@Test
@TestMetadata("implicitTypeOnFunctionWithWrongRawContract.kt")
public void testImplicitTypeOnFunctionWithWrongRawContract() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/implicitTypeOnFunctionWithWrongRawContract.kt");
}
@Test
@TestMetadata("lambdaAsSAMInterface.kt")
public void testLambdaAsSAMInterface() throws Exception {