Svatopluk Dedic created NETBEANS-5983:
-----------------------------------------
Summary: Static type analysis does not consider instanceof type
hint
Key: NETBEANS-5983
URL: https://issues.apache.org/jira/browse/NETBEANS-5983
Project: NetBeans
Issue Type: Bug
Components: groovy - Editor
Reporter: Svatopluk Dedic
Consider code like
{code:java}
public BindingHolder(BindingHolder parent, Object value) {
if(value instanceof List) {
def instance = value[0]; // ERROR
...
}
}
{code}
whent the editor parser uses static type analysis, it will report an error on
the marker line, as *vlaue* is typed as *java.lang.Object*, which has no
*get()* method.
In this specific case, the subtree can be evaluated speculatively, supposing
that *value* is instance of *List* - requires partial evaluation of
if-conditions. Similar case when typecast precedes reference to an identifier.
This must be probably fixed in Groovy; in NetBeans we can block the message and
try to re-evaluate the AST subtree with a speculative type(s) found on path(s)
to the code.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists