|
40 | 40 | import org.apache.royale.compiler.internal.mxml.MXMLData; |
41 | 41 | import org.apache.royale.compiler.internal.mxml.MXMLDialect; |
42 | 42 | import org.apache.royale.compiler.mxml.IMXMLTagData; |
43 | | -import org.apache.royale.compiler.tree.ASTNodeID; |
44 | 43 | import org.apache.royale.compiler.tree.as.IASNode; |
45 | 44 | import org.apache.royale.compiler.tree.as.IClassNode; |
| 45 | +import org.apache.royale.compiler.tree.as.IDefinitionNode; |
46 | 46 | import org.apache.royale.compiler.tree.as.IExpressionNode; |
47 | 47 | import org.apache.royale.compiler.tree.as.IFunctionCallNode; |
48 | | -import org.apache.royale.compiler.tree.as.IFunctionNode; |
49 | 48 | import org.apache.royale.compiler.tree.as.IIdentifierNode; |
50 | 49 | import org.apache.royale.compiler.tree.as.IKeywordNode; |
51 | 50 | import org.apache.royale.compiler.tree.as.ILanguageIdentifierNode; |
@@ -324,11 +323,24 @@ private Hover actionScriptHover(IASNode offsetNode, ILspProject project) { |
324 | 323 | } |
325 | 324 | } |
326 | 325 |
|
327 | | - if (definition == null && parentNode instanceof IFunctionNode && offsetNode instanceof IKeywordNode) { |
| 326 | + if (definition == null && parentNode instanceof IDefinitionNode && offsetNode instanceof IKeywordNode) { |
328 | 327 | IKeywordNode keywordNode = (IKeywordNode) offsetNode; |
329 | | - if (ASTNodeID.KeywordFunctionID.equals(keywordNode.getNodeID())) { |
330 | | - IFunctionNode functionNode = (IFunctionNode) parentNode; |
331 | | - definition = functionNode.getDefinition(); |
| 328 | + boolean validDefinitionKeyword = false; |
| 329 | + switch (keywordNode.getNodeID()) { |
| 330 | + case KeywordClassID: |
| 331 | + case KeywordInterfaceID: |
| 332 | + case KeywordVarID: |
| 333 | + case KeywordConstID: |
| 334 | + case KeywordFunctionID: |
| 335 | + case KeywordGetID: |
| 336 | + case KeywordSetID: |
| 337 | + validDefinitionKeyword = true; |
| 338 | + break; |
| 339 | + default: |
| 340 | + } |
| 341 | + if (validDefinitionKeyword) { |
| 342 | + IDefinitionNode definitionNode = (IDefinitionNode) parentNode; |
| 343 | + definition = definitionNode.getDefinition(); |
332 | 344 | } |
333 | 345 | } |
334 | 346 |
|
|
0 commit comments