[
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)