This is an automated email from the ASF dual-hosted git repository.
joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git
The following commit(s) were added to refs/heads/develop by this push:
new 1dd1cab compiler: DynamicAccessNode resolves element type of Vector
(closes #80)
1dd1cab is described below
commit 1dd1cabe2021ae3a55fc045dd6712bd754a39aff
Author: Josh Tynjala <[email protected]>
AuthorDate: Tue Feb 19 08:48:21 2019 -0800
compiler: DynamicAccessNode resolves element type of Vector (closes #80)
---
.../compiler/internal/tree/as/DynamicAccessNode.java | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git
a/compiler/src/main/java/org/apache/royale/compiler/internal/tree/as/DynamicAccessNode.java
b/compiler/src/main/java/org/apache/royale/compiler/internal/tree/as/DynamicAccessNode.java
index 49cad6e..dd974a7 100644
---
a/compiler/src/main/java/org/apache/royale/compiler/internal/tree/as/DynamicAccessNode.java
+++
b/compiler/src/main/java/org/apache/royale/compiler/internal/tree/as/DynamicAccessNode.java
@@ -19,6 +19,8 @@
package org.apache.royale.compiler.internal.tree.as;
+import org.apache.royale.compiler.definitions.IAppliedVectorDefinition;
+import org.apache.royale.compiler.definitions.ITypeDefinition;
import org.apache.royale.compiler.projects.ICompilerProject;
import org.apache.royale.compiler.tree.ASTNodeID;
import org.apache.royale.compiler.tree.as.IDynamicAccessNode;
@@ -73,6 +75,18 @@ public class DynamicAccessNode extends
BinaryOperatorNodeBase implements IDynami
return true;
}
+ @Override
+ public ITypeDefinition resolveType(ICompilerProject project)
+ {
+ ITypeDefinition leftType = getLeftOperandNode().resolveType(project);
+ if (leftType instanceof IAppliedVectorDefinition)
+ {
+ IAppliedVectorDefinition vectorDef = (IAppliedVectorDefinition)
leftType;
+ return vectorDef.resolveElementType(project);
+ }
+ return super.resolveType(project);
+ }
+
//
// OperatorNodeBase overrides
//