rlox/interpreter/tests/lox/field/get_and_set_method.lox

25 lines
424 B
Lox
Raw Normal View History

2024-09-01 19:15:55 +02:00
// Bound methods have identity equality.
class Foo {
method(a) {
print "method";
print a;
}
other(a) {
print "other";
print a;
}
}
var foo = Foo();
var method = foo.method;
// Setting a property shadows the instance method.
foo.method = foo.other;
foo.method(1);
// expect: other
// expect: 1
// The old method handle still points to the original method.
method(2);
// expect: method
// expect: 2