package test class NestedClasses { fun f() { } val c: Int = 0 private class Nested { fun f(p1: TN) { } val c = 1 public class NN { fun f(p1: TNN) { } val c = 1 } inner class NI { fun f(p1: TN, p2: TNI) { } } } public inner class Inner { fun f(p1: TI) { } private inner class II { fun f(p1: TII, p2: II>, p3: TOuter) { } } } }