[jira] [Commented] (GROOVY-8570) Support Warnings in Groovy Compiler

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[jira] [Commented] (GROOVY-8570) Support Warnings in Groovy Compiler

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/GROOVY-8570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16478283#comment-16478283 ]

Paul King commented on GROOVY-8570:

But there has been discussion about having a special semantics around var in conjunction with @CompileStatic. So, the warning has to say it is idiomatic and in fact might be want you want for @CS but means the same as def for dynamic Groovy.

> Support Warnings in Groovy Compiler
> -----------------------------------
>                 Key: GROOVY-8570
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8570
>             Project: Groovy
>          Issue Type: New Feature
>          Components: Compiler
>    Affects Versions: 3.0.0-alpha-3
>            Reporter: mgroovy
>            Priority: Major
> * To warn Java developers using e.g. non-idiomatic Groovy constructs which only exist to support copy-and-paste Java-to-Groovy code compatibility, The Groovy compiler should support compiler warnings in addition to compiler errors.
>  * Warnings should by default only be emitted in special circumstances such as the one described above, and not spam developers with an endless stream of, often subjectve, messages on "how to use Groovy correctly".
>  * Sample warnings:
> # WARNING: Using curly braces Java style array literals (\{...}) is not idiomatic Groovy. To avoid confusion with Groovy closures, it is recommended to use the performance-identical Groovy square bracket list literal syntax ([...]) instead.
> # WARNING: The 'var' keyword is currently only an alias to 'def' (i.e. Object) in Groovy. To get reassignment type safety use an explicit type instead.

This message was sent by Atlassian JIRA