You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Eric Milles (JIRA)" <ji...@apache.org> on 2018/05/06 16:21:00 UTC

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

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

Eric Milles commented on GROOVY-8570:
-------------------------------------

When faced with multiple options for simple idioms in Java, Checkstyle (aka static analysis tool) has been employed by many to provide markers/reports.  Is this the kind of stuff that CodeNarc, Checkstyle, etc. could/should be used to indicate?  I tend not to want the complier to express "preferred" language usage; I'm looking for "incorrect" language usage from the compiler.

> 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
(v7.6.3#76005)