mirror of
https://github.com/MorizzG/MLox.git
synced 2025-12-06 04:22:41 +00:00
25 lines
424 B
Lox
25 lines
424 B
Lox
|
|
// 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
|