I don't know GScript, but wouldn't it be enough to know which methods are declared in GScript (and not allow overloading for these)? Then type inference can work fully most of the time and only give up when calling non-Java code.
Also, why does this complicate the parser? It looks like you're interfering some type information from later usage (the `foo( someVar )` example), so handling typing in the parser seems a bit strange.
As for the bytecode, it's not just methods: Fields likewise are identified by name and type and can be overloaded. I'm just happy that Java itself doesn't allow field overloading - I'm not the biggest fan of method overloading either.