12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- 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")
|