class X {
    int a;
    def foo(def x) {
        x++;
        return x;
    }

    {
        <selection>foo</selection>(a);
    }
}
-----
class X {
    int a;
    def foo(def x) {
        x++;
        return x;
    }

    {
        def x1 = a
        x1++;
    }
}