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 2021/03/24 14:00:00 UTC

[jira] [Commented] (GROOVY-9994) Type checking of array initializer expressions

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

Eric Milles commented on GROOVY-9994:
-------------------------------------

Also the size expressions for "new Object[x][y][z]" are not type-checked and may result in GroovyCastException at runtime.

> Type checking of array initializer expressions
> ----------------------------------------------
>
>                 Key: GROOVY-9994
>                 URL: https://issues.apache.org/jira/browse/GROOVY-9994
>             Project: Groovy
>          Issue Type: Bug
>            Reporter: Thodoris Sotiropoulos
>            Priority: Major
>
> This is a follow up of https://issues.apache.org/jira/browse/GROOVY-9985
> After the bug fix of the above GROOVY-9985, STC indeed catches the type error in the following program
> {code:java}
> public class Main {
>   public static void main(String[] args) {
>     Integer[] arr = new Integer[] {"fd" 1}; // compile-time error here
>     Integer y = arr[0];
>   }
> }
> {code}
> However, STC still is not able to catch type errors like the following
> {code:java}
> public class Main {
>   public static void main(String[] args) {
>     Integer[] arr = new Integer[] {new Object(), 1}; // STC misses the error here
>     Integer y = arr[0]; // ClassCastException at runtime
>   }
>   
> }
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)