[FIND USAGE] incorrect reference verification for COMPONENT_NAME elements
suppose following code:

```
var foo = new Sprite();
trace(foo);
trace(foo);
```

If you place cursor on second or third line and try to find usages, both usages will be found. But if you'll try to do the same for the first line (in the variable declaration) - no usages will be found.

The problem here is that "var foo" is a reference to PsiElement with token type "COMPONENT_NAME". t
The foo in "trace(foo);", are references to  PsiElement with token type "LOCAL_VAR_DECLARATION_PART", which is parent of element type referenced by "var foo".

In this way elements do not match, and the usages is not found (also refactor->rename doesn't work). I really think that this is a very major bug. 

I've fixed problem in HaxeReferenceImpl::isReferenceTo, by changing the last row 

```
return !chain && resolve == element;
```

to

```
if (element instanceof HaxeComponentName) {
      return !chain && resolve == element.getParent();
    }else {
      return !chain && resolve == element;
    }
```

TIR: STB-9359

but I'm not sure if it's a good way to fix this issue.

diff --git a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiFieldImpl.java b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiFieldImpl.java
index 5000e2ec..dbb10b41 100644
--- a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiFieldImpl.java
+++ b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiFieldImpl.java
@@ -138,7 +138,7 @@ public abstract class HaxePsiFieldImpl extends AbstractHaxeNamedComponent implem
       final HaxeType            type      = (toa != null) ? toa.getType() : null;
       psiType                             = (type != null) ? type.getPsiType() : null;
     }
-    return psiType;
+    return psiType != null ? psiType : HaxePsiTypeAdapter.DYNAMIC;
   }
 
   @Nullable
diff --git a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiTypeAdapter.java b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiTypeAdapter.java
index 85c096d7..da0471f1 100644
--- a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiTypeAdapter.java
+++ b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiTypeAdapter.java
@@ -54,11 +54,13 @@ import javax.swing.*;
  */
 public class HaxePsiTypeAdapter extends PsiType implements HaxeType {
 
-  Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxePsiTypeAdapter");
-  {
+  static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxePsiTypeAdapter");
+  static {
     LOG.setLevel(Level.DEBUG);
   }
 
+  public static final PsiPrimitiveType DYNAMIC = new PsiPrimitiveType("Dynamic", PsiAnnotation.EMPTY_ARRAY);
+
   HaxeType myType = null;
 
   public HaxePsiTypeAdapter(@NotNull HaxeType haxeType) {
['src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiTypeAdapter.java', 'src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiFieldImpl.java']