Instância de Groovy

Ao usar @TypeCheckedou @CompileStatic, o Groovy instanceoflança automagicamente o objeto dentro do ifbloco:

import groovy.transform.TypeChecked as TC

@TC class Instanceof {
static main(args) {
def foo = new Foo(bar: "bar bar")
assert new Instanceof().foobar(foo) == "bar bar"
}

def foobar(foo) {
if (foo instanceof Foo) {
foo
.bar // no need to cast :-)
}
}
}

@TC class Foo { String bar }