mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-04 07:31:16 +00:00 
			
		
		
		
	* Add missing `UNSAFE_CALL_ARGUMENT` warning. * Fix `Object` constructor. * Display an error for non-existent static methods.
		
			
				
	
	
		
			61 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
class Say:
 | 
						|
	var prefix = "S"
 | 
						|
 | 
						|
	func greet():
 | 
						|
		prefix = "S Greeted"
 | 
						|
		print("hello")
 | 
						|
 | 
						|
	func say(name):
 | 
						|
		print(prefix, " say something ", name)
 | 
						|
 | 
						|
 | 
						|
class SayAnotherThing extends Say:
 | 
						|
	# This currently crashes the engine.
 | 
						|
	#var prefix = "SAT"
 | 
						|
 | 
						|
	func greet():
 | 
						|
		prefix = "SAT Greeted"
 | 
						|
		print("hi")
 | 
						|
 | 
						|
	func say(name):
 | 
						|
		print(prefix, " say another thing ", name)
 | 
						|
 | 
						|
 | 
						|
class SayNothing extends Say:
 | 
						|
	# This currently crashes the engine.
 | 
						|
	#var prefix = "SN"
 | 
						|
 | 
						|
	func greet():
 | 
						|
		super()
 | 
						|
		prefix = "SN Greeted"
 | 
						|
		print("howdy, see above")
 | 
						|
 | 
						|
	func greet_prefix_before_super():
 | 
						|
		prefix = "SN Greeted"
 | 
						|
		super.greet()
 | 
						|
		print("howdy, see above")
 | 
						|
 | 
						|
	func say(name):
 | 
						|
		@warning_ignore("unsafe_call_argument")
 | 
						|
		super(name + " super'd")
 | 
						|
		print(prefix, " say nothing... or not? ", name)
 | 
						|
 | 
						|
 | 
						|
func test():
 | 
						|
	var say = Say.new()
 | 
						|
	say.greet()
 | 
						|
	say.say("foo")
 | 
						|
	print()
 | 
						|
 | 
						|
	var say_another_thing = SayAnotherThing.new()
 | 
						|
	say_another_thing.greet()
 | 
						|
	say_another_thing.say("bar")
 | 
						|
	print()
 | 
						|
 | 
						|
	var say_nothing = SayNothing.new()
 | 
						|
	say_nothing.greet()
 | 
						|
	print(say_nothing.prefix)
 | 
						|
	say_nothing.greet_prefix_before_super()
 | 
						|
	print(say_nothing.prefix)
 | 
						|
	# This currently triggers a compiler bug: "compiler bug, function name not found"
 | 
						|
	#say_nothing.say("baz")
 |