@Target(AnnotationTarget#.CLASS#, AnnotationTarget#.PROPERTY#, AnnotationTarget#.LOCAL_VARIABLE#, AnnotationTarget#.VALUE_PARAMETER#, AnnotationTarget#.CONSTRUCTOR#, AnnotationTarget#.FUNCTION#, AnnotationTarget#.TYPE#)
owner -> FirRegularClassSymbol base
context -> FirRegularClassSymbol base

@base()
owner -> FirConstructorSymbol /correct.correct
context -> FirValueParameterSymbol <local>/x from FirConstructorSymbol /correct.correct

@base()
owner -> FirRegularPropertySymbol /correct.x
context -> FirRegularPropertySymbol /correct.x

@base()
owner -> FirConstructorSymbol /correct.correct
context -> FirConstructorSymbol /correct.correct

@base()
owner -> FirAnonymousInitializerSymbol <init>
context -> FirAnonymousInitializerSymbol <init> from FirRegularClassSymbol correct

@base()
owner -> FirRegularClassSymbol correct
context -> FirRegularClassSymbol correct

@base()
owner -> FirEnumEntrySymbol /My.FIRST
context -> FirEnumEntrySymbol /My.FIRST

@base()
owner -> FirEnumEntrySymbol /My.SECOND
context -> FirEnumEntrySymbol /My.SECOND

@base()
owner -> FirRegularClassSymbol My
context -> FirRegularClassSymbol My

@base()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol /foo

@base()
owner -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /foo

@base()
owner -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /foo

@base()
owner -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar
context -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /foo

@base()
owner -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar
context -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /foo

@base()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /foo

@base()
owner -> FirNamedFunctionSymbol /foo
context -> FirLocalPropertySymbol <local>/local from FirNamedFunctionSymbol /foo

@base()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol /foo

@base()
owner -> FirRegularPropertySymbol /z
context -> FirRegularPropertySymbol /z

@base()
owner -> FirRegularPropertySymbol /x
context -> FirRegularPropertySymbol /x
context -> FirPropertyAccessorSymbol special/accessor from FirRegularPropertySymbol /x
context -> FirBackingFieldSymbol <local>/field from FirRegularPropertySymbol /x

@base()
owner -> FirRegularPropertySymbol /x
context -> FirRegularPropertySymbol /x
context -> FirPropertyAccessorSymbol special/accessor from FirRegularPropertySymbol /x
context -> FirBackingFieldSymbol <local>/field from FirRegularPropertySymbol /x

@base()
owner -> FirRegularPropertySymbol /x
context -> FirRegularPropertySymbol /x

@Target(AnnotationTarget#.CLASS#, AnnotationTarget#.PROPERTY#, AnnotationTarget#.LOCAL_VARIABLE#, AnnotationTarget#.VALUE_PARAMETER#, AnnotationTarget#.CONSTRUCTOR#, AnnotationTarget#.FUNCTION#, AnnotationTarget#.TYPE#)
owner -> FirRegularClassSymbol derived
context -> FirRegularClassSymbol derived

@base()
owner -> FirRegularClassSymbol derived
context -> FirRegularClassSymbol derived

@derived(IntegerLiteral(1))
owner -> FirConstructorSymbol /correctDerived.correctDerived
context -> FirValueParameterSymbol <local>/x from FirConstructorSymbol /correctDerived.correctDerived
context -> FirRegularPropertySymbol /correctDerived.x
context -> FirPropertyAccessorSymbol special/accessor from FirRegularPropertySymbol /correctDerived.x
context -> FirBackingFieldSymbol <local>/field from FirRegularPropertySymbol /correctDerived.x

@derived(IntegerLiteral(1))
owner -> FirConstructorSymbol /correctDerived.correctDerived
context -> FirValueParameterSymbol <local>/x from FirConstructorSymbol /correctDerived.correctDerived

@derived(IntegerLiteral(1))
owner -> FirRegularPropertySymbol /correctDerived.x
context -> FirRegularPropertySymbol /correctDerived.x

@base()
owner -> FirConstructorSymbol /correctDerived.correctDerived
context -> FirConstructorSymbol /correctDerived.correctDerived

@derived(IntegerLiteral(1))
owner -> FirRegularClassSymbol correctDerived
context -> FirRegularClassSymbol correctDerived

@derived(IntegerLiteral(1))
owner -> FirEnumEntrySymbol /MyDerived.FIRST
context -> FirEnumEntrySymbol /MyDerived.FIRST

@derived(IntegerLiteral(1))
owner -> FirEnumEntrySymbol /MyDerived.SECOND
context -> FirEnumEntrySymbol /MyDerived.SECOND

@derived(IntegerLiteral(1))
owner -> FirRegularClassSymbol MyDerived
context -> FirRegularClassSymbol MyDerived

@derived(IntegerLiteral(1))
owner -> FirNamedFunctionSymbol /fooDerived
context -> FirNamedFunctionSymbol /fooDerived

@derived(IntegerLiteral(1))
owner -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /fooDerived
context -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /fooDerived

@derived(IntegerLiteral(1))
owner -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /fooDerived
context -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /fooDerived

@derived(IntegerLiteral(1))
owner -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar
context -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /fooDerived

@derived(IntegerLiteral(1))
owner -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar
context -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /fooDerived

@derived(IntegerLiteral(1))
owner -> FirNamedFunctionSymbol /fooDerived
context -> FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /fooDerived

@derived(IntegerLiteral(1))
owner -> FirNamedFunctionSymbol /fooDerived
context -> FirLocalPropertySymbol <local>/local from FirNamedFunctionSymbol /fooDerived

@derived(IntegerLiteral(1))
owner -> FirNamedFunctionSymbol /fooDerived
context -> FirNamedFunctionSymbol /fooDerived

@derived(IntegerLiteral(1))
owner -> FirRegularPropertySymbol /zDerived
context -> FirRegularPropertySymbol /zDerived

@derived(IntegerLiteral(1))
owner -> FirRegularPropertySymbol /xDerived
context -> FirRegularPropertySymbol /xDerived
context -> FirPropertyAccessorSymbol special/accessor from FirRegularPropertySymbol /xDerived
context -> FirBackingFieldSymbol <local>/field from FirRegularPropertySymbol /xDerived

@derived(IntegerLiteral(1))
owner -> FirRegularPropertySymbol /xDerived
context -> FirRegularPropertySymbol /xDerived
context -> FirPropertyAccessorSymbol special/accessor from FirRegularPropertySymbol /xDerived
context -> FirBackingFieldSymbol <local>/field from FirRegularPropertySymbol /xDerived

@derived(IntegerLiteral(1))
owner -> FirRegularPropertySymbol /xDerived
context -> FirRegularPropertySymbol /xDerived
