You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (Jira)" <ji...@apache.org> on 2023/02/10 21:41:01 UTC

[jira] [Closed] (GROOVY-9999) @TypeChecked results in Error when groovy casts to BigDecimal ([Static type checking] - Cannot find matching method java.lang.Math#sqrt(java.math.BigDecimal))

     [ https://issues.apache.org/jira/browse/GROOVY-9999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul King closed GROOVY-9999.
-----------------------------

> @TypeChecked results in Error when groovy casts to BigDecimal ([Static type checking] - Cannot find matching method java.lang.Math#sqrt(java.math.BigDecimal))
> --------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: GROOVY-9999
>                 URL: https://issues.apache.org/jira/browse/GROOVY-9999
>             Project: Groovy
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 2.5.11, 3.0.7, 4.0.0-alpha-2
>            Reporter: Andreas Vorgeitz
>            Priority: Critical
>             Fix For: 4.0.5
>
>         Attachments: TypeChecker.groovy
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> From Groovy >2.4 simple calculations cannot be @TypeChecked without loads of casting:
> {{import groovy.transform.TypeChecked}}
> {{@TypeChecked}}
> {{def test() {}}
> {{   Math.sqrt(Math.PI*2)}}
> {{}}}
> => [Static type checking] - Cannot find matching method java.lang.Math#sqrt(java.math.BigDecimal). Please check if the declared type is correct and if the method exists.
> in Groovy 2.4 this was valid code.
> I was able to write a TypeChecker, but it looks pretty ugly and i am not shure, that this does not add other complications.
> Since most of my colleagues are not groovy mains, i prefer forcing the TypeChecker, but this would lead to permanent castings from BigDecimal to double before calling any method. 
> Any better workaround or a fix is appreciated.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)