Fix analyzer pushing SHADOWED_VARIABLE warning for members shadowed in subclasses
This fixes a bug in the analyzer where it did not push the SHADOWED_VARIABLE_BASE_CLASS warning for members shadowed by variable in subclass. It does this by comparing the class which contains the shadowed member with the class containing the variable, and pushing SHADOWED_VARIABLE only if the classes are the same. Additionally, SHADOWED_VARIABLE_BASE_CLASS can take an extra symbol which helps to specify the line for non native base class.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
class_name ShadowedClass
|
||||
extends ShadowingBase
|
||||
|
||||
var member: int = 0
|
||||
|
||||
@@ -7,6 +8,7 @@ var print_debug := 'print_debug'
|
||||
var print := 'print'
|
||||
|
||||
@warning_ignore("unused_variable")
|
||||
@warning_ignore("unused_local_constant")
|
||||
func test():
|
||||
var Array := 'Array'
|
||||
var Node := 'Node'
|
||||
@@ -15,5 +17,8 @@ func test():
|
||||
var member := 'member'
|
||||
var reference := 'reference'
|
||||
var ShadowedClass := 'ShadowedClass'
|
||||
var base_variable_member
|
||||
const base_function_member = 1
|
||||
var base_const_member
|
||||
|
||||
print('warn')
|
||||
|
||||
Reference in New Issue
Block a user