You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Benjamin Graf (JIRA)" <ji...@apache.org> on 2016/02/28 19:58:18 UTC

[jira] [Commented] (GROOVY-7771) Exception driven control flow in groovy.lang.Script.getProperty()

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

Benjamin Graf commented on GROOVY-7771:
---------------------------------------

Patch suggestion:

{code:java}
public Object getProperty(String property) {
      if (binding.hasVariable(property)) {
          return binding.getVariable(property);
      }
      return super.getProperty(property);
}
{code}

> Exception driven control flow in groovy.lang.Script.getProperty()
> -----------------------------------------------------------------
>
>                 Key: GROOVY-7771
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7771
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 2.4.6
>            Reporter: Benjamin Graf
>
> groovy.lang.Script.getProperty() calls Binding.getProperty() and does therfore react on MissingPropertyException. This control flow is an antipattern causing unnecessary Throwable.fillInStackTrace() calls which cost cpu time. It might be better to check with Binding.hasProperty() first to avoid Exception flow.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)