KT element: KtNamedFunction FIR element: FirSimpleFunctionImpl FIR source kind: KtRealSourceElementKind FIR element rendered: public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| { R|foo/testMe|( = SAM([ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@R|foo/Anno|((String(testMe param type ), constant#)) foo/Foo] testMe@fun ([ResolvedTo(BODY_RESOLVE)] b: R|@R|foo/Anno|(position = (String(foo param type ), R|foo/constant|)) foo/Arg|): R|@R|foo/Anno|(position = (String(foo return type ), R|foo/constant|)) foo/Arg| { ^ R|/b| } )) } FIR FILE: FILE: [ResolvedTo(IMPORTS)] lambdaAsSAMInterfaceWithAnnotation.kt package foo public final? [ResolvedTo(RAW_FIR)] class Arg : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { LAZY_super } } @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=foo/Anno.position] position: R|kotlin/String|): R|foo/Anno| { LAZY_super } public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val position: R|kotlin/String| = R|/position| public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| } public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val constant: R|kotlin/Int| = Int(0) public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int| public abstract fun [ResolvedTo(STATUS)] interface Foo : R|kotlin/Any| { public abstract [ResolvedTo(ANNOTATION_ARGUMENTS)] fun foo([ResolvedTo(ANNOTATION_ARGUMENTS)] a: R|@R|foo/Anno|(position = (String(foo param type ), R|foo/constant|)) foo/Arg|): R|@R|foo/Anno|(position = (String(foo return type ), R|foo/constant|)) foo/Arg| } public final [ResolvedTo(CONTRACTS)] fun testMe([ResolvedTo(CONTRACTS)] f: R|@R|foo/Anno|((String(testMe param type ), constant#)) foo/Foo|): R|kotlin/Unit| { } public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| { R|foo/testMe|( = SAM([ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@R|foo/Anno|((String(testMe param type ), constant#)) foo/Foo] testMe@fun ([ResolvedTo(BODY_RESOLVE)] b: R|@R|foo/Anno|(position = (String(foo param type ), R|foo/constant|)) foo/Arg|): R|@R|foo/Anno|(position = (String(foo return type ), R|foo/constant|)) foo/Arg| { ^ R|/b| } )) }