[FIR] Save mapping from supertype to delegated field in class attribute

This is needed to let checkers know which specific interface was
  implemented by delegation
This commit is contained in:
Dmitriy Novozhilov
2021-10-26 15:38:47 +03:00
committed by teamcityserver
parent e25fff701b
commit b0f38bd996
3 changed files with 65 additions and 23 deletions
@@ -0,0 +1,17 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.declarations
import org.jetbrains.kotlin.fir.symbols.impl.FirFieldSymbol
private object DelegateFieldsMapKey : FirDeclarationDataKey()
/*
* If class implements some interfaces using delegation then this attribute contains mapping
* from index of supertype to symbol of deelgated field
*/
var FirClass.delegateFieldsMap: Map<Int, FirFieldSymbol>? by FirDeclarationDataRegistry.data(DelegateFieldsMapKey)