class Foo {
Foo operator >>>(_) => this;
}

main() {
Foo foo = new Foo();
foo >>> 42;
print(foo >>> 42);
print(foo >>>= 42);
if ((foo >>>= 42) == foo) {
print("same");
}
}


class[KeywordToken] Foo[StringToken] {[BeginToken]
Foo[StringToken] operator[KeywordToken] >>[SimpleToken]>[SimpleToken]([BeginToken]_[StringToken])[SimpleToken] =>[SimpleToken] this[KeywordToken];[SimpleToken]
}[SimpleToken]

main[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
Foo[StringToken] foo[StringToken] =[SimpleToken] new[KeywordToken] Foo[StringToken]([BeginToken])[SimpleToken];[SimpleToken]
foo[StringToken] >>[SimpleToken]>[SimpleToken] 42[StringToken];[SimpleToken]
print[StringToken]([BeginToken]foo[StringToken] >>[SimpleToken]>[SimpleToken] 42[StringToken])[SimpleToken];[SimpleToken]
print[StringToken]([BeginToken]foo[StringToken] >>[SimpleToken]>=[SimpleToken] 42[StringToken])[SimpleToken];[SimpleToken]
if[KeywordToken] ([BeginToken]([BeginToken]foo[StringToken] >>[SimpleToken]>=[SimpleToken] 42[StringToken])[SimpleToken] ==[SimpleToken] foo[StringToken])[SimpleToken] {[BeginToken]
print[StringToken]([BeginToken]"same"[StringToken])[SimpleToken];[SimpleToken]
}[SimpleToken]
}[SimpleToken]
[SimpleToken]
