groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shil Sinha <>
Subject Re: infer return type of script
Date Mon, 21 Sep 2015 22:55:41 GMT
Actually, the second option can be made safe by initializing ReturnAdder
with a listener, which will allow you to 'visit' all implicit returns
without actually adding return statements.

On Mon, Sep 21, 2015 at 5:30 PM, Shil Sinha <> wrote:

> You could call 'getInferredReturnType' on the 'run' method node of your
> script class, but inferred return types only appear to be stored for
> closures and certain binary expressions (based on the usages of the
> INFERRED_RETURN_TYPE marker and the storeInferredReturnType method).
> You could also add all implicit return statements to the 'run' method via
> ReturnAdder, and then infer a return type by visiting all of the return
> statements, but I'm not sure if that kind of AST modification in a type
> checking extension is safe.
> Shil
> On Mon, Sep 21, 2015 at 4:34 PM, Jamie Echlin <>
> wrote:
>> Hi...
>> Is it possible to infer the return type, or types of a script during
>> static compilation? Presumably there is always a finite list of branches
>> where the script could end.
>> I'm looking
>> at,
>> but I'm not really sure how to call it from a type checking script, nor
>> what adds the inferred return type to the metadata which is used in that
>> method.
>> cheers, jamie

View raw message