GDScript: Add @warning_ignore_start and @warning_ignore_restore annotations
This commit is contained in:
@@ -13,7 +13,7 @@ func param_inferred(param := variant()) -> void: print(param)
|
||||
func return_untyped(): return variant()
|
||||
func return_typed() -> Variant: return variant()
|
||||
|
||||
@warning_ignore("unused_variable", "inference_on_variant")
|
||||
@warning_ignore_start("unused_variable", "inference_on_variant")
|
||||
func test() -> void:
|
||||
var weak = variant()
|
||||
var typed: Variant = variant()
|
||||
@@ -32,4 +32,4 @@ func test() -> void:
|
||||
if typed != null: pass
|
||||
if typed is Node: pass
|
||||
|
||||
print('ok')
|
||||
print("ok")
|
||||
|
||||
@@ -123,4 +123,4 @@ func test():
|
||||
Utils.check((const_null is A) == false)
|
||||
Utils.check(is_instance_of(const_null, A) == false)
|
||||
|
||||
print('ok')
|
||||
print("ok")
|
||||
|
||||
@@ -20,9 +20,7 @@ class Members:
|
||||
Utils.check(str(two) == '[486]')
|
||||
return true
|
||||
|
||||
|
||||
@warning_ignore("unsafe_method_access")
|
||||
@warning_ignore("return_value_discarded")
|
||||
@warning_ignore_start('unsafe_method_access', 'return_value_discarded')
|
||||
func test():
|
||||
var untyped_basic = [459]
|
||||
Utils.check(str(untyped_basic) == '[459]')
|
||||
@@ -207,7 +205,7 @@ func test():
|
||||
|
||||
var a := A.new()
|
||||
var typed_natives: Array[RefCounted] = [a]
|
||||
var typed_scripts = Array(typed_natives, TYPE_OBJECT, "RefCounted", A)
|
||||
var typed_scripts = Array(typed_natives, TYPE_OBJECT, 'RefCounted', A)
|
||||
Utils.check(typed_scripts[0] == a)
|
||||
|
||||
|
||||
|
||||
@@ -21,9 +21,7 @@ class Members:
|
||||
return true
|
||||
|
||||
|
||||
@warning_ignore("unsafe_method_access")
|
||||
@warning_ignore("assert_always_true")
|
||||
@warning_ignore("return_value_discarded")
|
||||
@warning_ignore_start("unsafe_method_access", "return_value_discarded")
|
||||
func test():
|
||||
var untyped_basic = { 459: 954 }
|
||||
Utils.check(str(untyped_basic) == '{ 459: 954 }')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
signal ok()
|
||||
|
||||
@warning_ignore("return_value_discarded")
|
||||
@warning_ignore_start("return_value_discarded")
|
||||
func test():
|
||||
ok.connect(func(): print('ok'))
|
||||
emit_signal(&'ok')
|
||||
ok.connect(func(): print("ok"))
|
||||
emit_signal(&"ok")
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
GDTEST_OK
|
||||
~~ WARNING at line 3: (CONFUSABLE_IDENTIFIER) The identifier "my_vАr" has misleading characters and might be confused with something else.
|
||||
~~ WARNING at line 8: (NARROWING_CONVERSION) Narrowing conversion (float is converted to int and loses precision).
|
||||
~~ WARNING at line 14: (NARROWING_CONVERSION) Narrowing conversion (float is converted to int and loses precision).
|
||||
~~ WARNING at line 19: (NARROWING_CONVERSION) Narrowing conversion (float is converted to int and loses precision).
|
||||
~~ WARNING at line 24: (NARROWING_CONVERSION) Narrowing conversion (float is converted to int and loses precision).
|
||||
~~ WARNING at line 27: (CONFUSABLE_IDENTIFIER) The identifier "_my_vАr" has misleading characters and might be confused with something else.
|
||||
|
||||
@@ -4,11 +4,10 @@ extends ShadowingBase
|
||||
var member: int = 0
|
||||
|
||||
var print_debug := 'print_debug'
|
||||
@warning_ignore("shadowed_global_identifier")
|
||||
@warning_ignore('shadowed_global_identifier')
|
||||
var print := 'print'
|
||||
|
||||
@warning_ignore("unused_variable")
|
||||
@warning_ignore("unused_local_constant")
|
||||
@warning_ignore_start('unused_variable', 'unused_local_constant')
|
||||
func test():
|
||||
var Array := 'Array'
|
||||
var Node := 'Node'
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
GDTEST_OK
|
||||
~~ WARNING at line 6: (SHADOWED_GLOBAL_IDENTIFIER) The variable "print_debug" has the same name as a built-in function.
|
||||
~~ WARNING at line 13: (SHADOWED_GLOBAL_IDENTIFIER) The variable "Array" has the same name as a built-in type.
|
||||
~~ WARNING at line 14: (SHADOWED_GLOBAL_IDENTIFIER) The variable "Node" has the same name as a native class.
|
||||
~~ WARNING at line 15: (SHADOWED_GLOBAL_IDENTIFIER) The variable "is_same" has the same name as a built-in function.
|
||||
~~ WARNING at line 16: (SHADOWED_GLOBAL_IDENTIFIER) The variable "sqrt" has the same name as a built-in function.
|
||||
~~ WARNING at line 17: (SHADOWED_VARIABLE) The local variable "member" is shadowing an already-declared variable at line 4 in the current class.
|
||||
~~ WARNING at line 18: (SHADOWED_VARIABLE_BASE_CLASS) The local variable "reference" is shadowing an already-declared method in the base class "RefCounted".
|
||||
~~ WARNING at line 19: (SHADOWED_GLOBAL_IDENTIFIER) The variable "ShadowedClass" has the same name as a global class defined in "shadowning.gd".
|
||||
~~ WARNING at 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 at 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 at 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".
|
||||
~~ WARNING at line 12: (SHADOWED_GLOBAL_IDENTIFIER) The variable "Array" has the same name as a built-in type.
|
||||
~~ WARNING at line 13: (SHADOWED_GLOBAL_IDENTIFIER) The variable "Node" has the same name as a native class.
|
||||
~~ WARNING at line 14: (SHADOWED_GLOBAL_IDENTIFIER) The variable "is_same" has the same name as a built-in function.
|
||||
~~ WARNING at line 15: (SHADOWED_GLOBAL_IDENTIFIER) The variable "sqrt" has the same name as a built-in function.
|
||||
~~ WARNING at line 16: (SHADOWED_VARIABLE) The local variable "member" is shadowing an already-declared variable at line 4 in the current class.
|
||||
~~ WARNING at line 17: (SHADOWED_VARIABLE_BASE_CLASS) The local variable "reference" is shadowing an already-declared method in the base class "RefCounted".
|
||||
~~ WARNING at line 18: (SHADOWED_GLOBAL_IDENTIFIER) The variable "ShadowedClass" has the same name as a global class defined in "shadowning.gd".
|
||||
~~ WARNING at line 19: (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 at line 20: (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 at line 21: (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
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
@warning_ignore_start("unreachable_code")
|
||||
@warning_ignore_start("unreachable_code")
|
||||
|
||||
func test():
|
||||
pass
|
||||
@@ -0,0 +1,2 @@
|
||||
GDTEST_PARSER_ERROR
|
||||
Warning "UNREACHABLE_CODE" is already being ignored by "@warning_ignore_start" at line 1.
|
||||
@@ -0,0 +1,4 @@
|
||||
@warning_ignore_restore("unreachable_code")
|
||||
|
||||
func test():
|
||||
pass
|
||||
@@ -0,0 +1,2 @@
|
||||
GDTEST_PARSER_ERROR
|
||||
Warning "UNREACHABLE_CODE" is not being ignored by "@warning_ignore_start".
|
||||
@@ -1,6 +1,6 @@
|
||||
# https://github.com/godotengine/godot/issues/50285
|
||||
|
||||
@warning_ignore("unused_local_constant")
|
||||
@warning_ignore_start("unused_local_constant")
|
||||
func test():
|
||||
const CONST_INNER_DICTIONARY = { "key": true }
|
||||
const CONST_NESTED_DICTIONARY_OLD_WORKAROUND = {
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
@warning_ignore_start("unused_signal")
|
||||
|
||||
# No parentheses.
|
||||
signal a
|
||||
|
||||
@@ -17,12 +19,5 @@ signal d(
|
||||
# With type hints.
|
||||
signal e(a: int, b: Variant, c: Node)
|
||||
|
||||
func no_exec():
|
||||
a.emit()
|
||||
b.emit()
|
||||
c.emit()
|
||||
d.emit()
|
||||
e.emit()
|
||||
|
||||
func test():
|
||||
print("Ok")
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
@warning_ignore_start("unreachable_code", "narrowing_conversion")
|
||||
|
||||
var _a = 1
|
||||
@warning_ignore_start("unused_private_class_variable")
|
||||
var _b = 2
|
||||
var _c = 3
|
||||
@warning_ignore_restore("unused_private_class_variable")
|
||||
var _d = 4
|
||||
|
||||
func test():
|
||||
return
|
||||
|
||||
var a = 1
|
||||
@warning_ignore_start("unused_variable")
|
||||
var b = 2
|
||||
var c = 3
|
||||
@warning_ignore_restore("unused_variable")
|
||||
var d = 4
|
||||
|
||||
var _x: int = 1.0
|
||||
@warning_ignore_restore("narrowing_conversion")
|
||||
var _y: int = 1.0
|
||||
|
||||
func test_2():
|
||||
return
|
||||
print(42)
|
||||
@@ -0,0 +1,6 @@
|
||||
GDTEST_OK
|
||||
~~ WARNING at line 3: (UNUSED_PRIVATE_CLASS_VARIABLE) The class variable "_a" is declared but never used in the class.
|
||||
~~ WARNING at line 8: (UNUSED_PRIVATE_CLASS_VARIABLE) The class variable "_d" is declared but never used in the class.
|
||||
~~ WARNING at line 13: (UNUSED_VARIABLE) The local variable "a" is declared but never used in the block. If this is intended, prefix it with an underscore: "_a".
|
||||
~~ WARNING at line 18: (UNUSED_VARIABLE) The local variable "d" is declared but never used in the block. If this is intended, prefix it with an underscore: "_d".
|
||||
~~ WARNING at line 22: (NARROWING_CONVERSION) Narrowing conversion (float is converted to int and loses precision).
|
||||
@@ -1,6 +1,6 @@
|
||||
# https://github.com/godotengine/godot/issues/75832
|
||||
|
||||
@warning_ignore("narrowing_conversion")
|
||||
@warning_ignore_start("narrowing_conversion")
|
||||
func test():
|
||||
var hf := 2.0
|
||||
var sf = 2.0
|
||||
|
||||
@@ -56,6 +56,7 @@ func test_func_hard_int() -> int: return 1
|
||||
func test_func_args_1(_a: int, _b: Array[int], _c: Dictionary[int, int], _d: int = 1, _e = 2): pass
|
||||
func test_func_args_2(_a = 1, _b = _a, _c = [2], _d = 3): pass
|
||||
|
||||
@warning_ignore_start("unused_signal")
|
||||
signal test_signal_1()
|
||||
signal test_signal_2(a: Variant, b)
|
||||
signal test_signal_3(a: int, b: Array[int], c: Dictionary[int, int])
|
||||
@@ -64,16 +65,7 @@ signal test_signal_5(a: MyEnum, b: Array[MyEnum], c: Dictionary[MyEnum, MyEnum])
|
||||
signal test_signal_6(a: Resource, b: Array[Resource], c: Dictionary[Resource, Resource])
|
||||
signal test_signal_7(a: TestMemberInfo, b: Array[TestMemberInfo], c: Dictionary[TestMemberInfo, TestMemberInfo])
|
||||
signal test_signal_8(a: MyClass, b: Array[MyClass], c: Dictionary[MyClass, MyClass])
|
||||
|
||||
func no_exec():
|
||||
test_signal_1.emit()
|
||||
test_signal_2.emit()
|
||||
test_signal_3.emit()
|
||||
test_signal_4.emit()
|
||||
test_signal_5.emit()
|
||||
test_signal_6.emit()
|
||||
test_signal_7.emit()
|
||||
test_signal_8.emit()
|
||||
@warning_ignore_restore("unused_signal")
|
||||
|
||||
func test():
|
||||
var script: Script = get_script()
|
||||
|
||||
Reference in New Issue
Block a user