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,34 +1,46 @@
|
||||
GDTEST_OK
|
||||
>> WARNING
|
||||
>> Line: 5
|
||||
>> Line: 6
|
||||
>> SHADOWED_GLOBAL_IDENTIFIER
|
||||
>> The variable "print_debug" has the same name as a built-in function.
|
||||
>> WARNING
|
||||
>> Line: 11
|
||||
>> Line: 13
|
||||
>> SHADOWED_GLOBAL_IDENTIFIER
|
||||
>> The variable "Array" has the same name as a built-in type.
|
||||
>> WARNING
|
||||
>> Line: 12
|
||||
>> Line: 14
|
||||
>> SHADOWED_GLOBAL_IDENTIFIER
|
||||
>> The variable "Node" has the same name as a native class.
|
||||
>> WARNING
|
||||
>> Line: 13
|
||||
>> Line: 15
|
||||
>> SHADOWED_GLOBAL_IDENTIFIER
|
||||
>> The variable "is_same" has the same name as a built-in function.
|
||||
>> WARNING
|
||||
>> Line: 14
|
||||
>> Line: 16
|
||||
>> SHADOWED_GLOBAL_IDENTIFIER
|
||||
>> The variable "sqrt" has the same name as a built-in function.
|
||||
>> WARNING
|
||||
>> Line: 15
|
||||
>> SHADOWED_VARIABLE
|
||||
>> The local variable "member" is shadowing an already-declared variable at line 3.
|
||||
>> WARNING
|
||||
>> Line: 16
|
||||
>> SHADOWED_VARIABLE_BASE_CLASS
|
||||
>> The local variable "reference" is shadowing an already-declared method at the base class "RefCounted".
|
||||
>> WARNING
|
||||
>> Line: 17
|
||||
>> SHADOWED_VARIABLE
|
||||
>> The local variable "member" is shadowing an already-declared variable at line 4 in the current class.
|
||||
>> WARNING
|
||||
>> Line: 18
|
||||
>> SHADOWED_VARIABLE_BASE_CLASS
|
||||
>> The local variable "reference" is shadowing an already-declared method in the base class "RefCounted".
|
||||
>> WARNING
|
||||
>> Line: 19
|
||||
>> SHADOWED_GLOBAL_IDENTIFIER
|
||||
>> The variable "ShadowedClass" has the same name as a global class defined in "shadowning.gd".
|
||||
>> WARNING
|
||||
>> Line: 20
|
||||
>> SHADOWED_VARIABLE_BASE_CLASS
|
||||
>> The local variable "base_variable_member" is shadowing an already-declared variable at line 4 in the base class "ShadowingBase".
|
||||
>> WARNING
|
||||
>> Line: 21
|
||||
>> SHADOWED_VARIABLE_BASE_CLASS
|
||||
>> The local constant "base_function_member" is shadowing an already-declared function at line 6 in the base class "ShadowingBase".
|
||||
>> WARNING
|
||||
>> Line: 22
|
||||
>> SHADOWED_VARIABLE_BASE_CLASS
|
||||
>> The local variable "base_const_member" is shadowing an already-declared constant at line 3 in the base class "ShadowingBase".
|
||||
warn
|
||||
|
||||
Reference in New Issue
Block a user