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: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to