Support access to companion private members from nested classes

#KT-5363 Fixed
  #KT-6804 Fixed
This commit is contained in:
Michael Bogdanov
2015-10-19 13:15:48 +03:00
committed by Max Kammerer
parent 3d88df73e0
commit d977d29ec4
5 changed files with 59 additions and 2 deletions
@@ -43,7 +43,7 @@ public class NeedSyntheticChecker implements CallChecker {
//Necessary synthetic accessors in outer classes generated via old logic: CodegenContext.getAccessor
//Generation of accessors in nested classes (to invoke from outer,
// e.g.: from class to companion object) controlled via NEED_SYNTHETIC_ACCESSOR slice
private boolean needSyntheticAccessor(LexicalScope invokationScope, CallableDescriptor targetDescriptor) {
private static boolean needSyntheticAccessor(LexicalScope invokationScope, CallableDescriptor targetDescriptor) {
return targetDescriptor instanceof CallableMemberDescriptor &&
Visibilities.isPrivate(targetDescriptor.getVisibility()) &&
targetDescriptor.getContainingDeclaration() != invokationScope.getOwnerDescriptor().getContainingDeclaration();