@@ -29,7 +29,10 @@ interface ITyClass : ITy {
2929 var superClassName: String?
3030 var aliasName: String?
3131 fun lazyInit (searchContext : SearchContext )
32- fun processMembers (context : SearchContext , processor : (ITyClass , LuaClassMember ) -> Unit )
32+ fun processMembers (context : SearchContext , processor : (ITyClass , LuaClassMember ) -> Unit , deep : Boolean = true)
33+ fun processMembers (context : SearchContext , processor : (ITyClass , LuaClassMember ) -> Unit ) {
34+ processMembers(context, processor, true )
35+ }
3336 fun findMember (name : String , searchContext : SearchContext ): LuaClassMember ?
3437 fun getSuperClass (context : SearchContext ): ITyClass ?
3538}
@@ -48,7 +51,7 @@ abstract class TyClass(override val className: String, override var superClassNa
4851 return className.hashCode()
4952 }
5053
51- override fun processMembers (context : SearchContext , processor : (ITyClass , LuaClassMember ) -> Unit ) {
54+ override fun processMembers (context : SearchContext , processor : (ITyClass , LuaClassMember ) -> Unit , deep : Boolean ) {
5255 val clazzName = className
5356 val project = context.project
5457
@@ -66,8 +69,10 @@ abstract class TyClass(override val className: String, override var superClassNa
6669 }
6770
6871 // super
69- val superType = getSuperClass(context)
70- superType?.processMembers(context, processor)
72+ if (deep) {
73+ val superType = getSuperClass(context)
74+ superType?.processMembers(context, processor, deep)
75+ }
7176 }
7277
7378 override fun findMember (name : String , searchContext : SearchContext ): LuaClassMember ? {
@@ -151,11 +156,11 @@ class TyTable(val table: LuaTableExpr) : TyClass(getTableTypeName(table)) {
151156 this .flags = TyFlags .ANONYMOUS
152157 }
153158
154- override fun processMembers (context : SearchContext , processor : (ITyClass , LuaClassMember ) -> Unit ) {
159+ override fun processMembers (context : SearchContext , processor : (ITyClass , LuaClassMember ) -> Unit , deep : Boolean ) {
155160 for (field in table.tableFieldList) {
156161 processor(this , field)
157162 }
158- super .processMembers(context, processor)
163+ super .processMembers(context, processor, deep )
159164 }
160165
161166 override val displayName: String
0 commit comments