AppliedVectorDefinition: error if Vector$double, Vector$int, Vector$uint, or Vector$object is missing
This replaces an ugly stack trace. The error will be produced only if the type is actually needed at compile-time.
diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/definitions/AppliedVectorDefinition.java b/compiler/src/main/java/org/apache/royale/compiler/internal/definitions/AppliedVectorDefinition.java
index 7cf995b..eccc2b1 100644
--- a/compiler/src/main/java/org/apache/royale/compiler/internal/definitions/AppliedVectorDefinition.java
+++ b/compiler/src/main/java/org/apache/royale/compiler/internal/definitions/AppliedVectorDefinition.java
@@ -43,6 +43,7 @@
import org.apache.royale.compiler.definitions.references.IReference;
import org.apache.royale.compiler.definitions.references.IResolvedQualifiersReference;
import org.apache.royale.compiler.definitions.references.ReferenceFactory;
+import org.apache.royale.compiler.exceptions.MissingBuiltinException;
import org.apache.royale.compiler.internal.projects.CompilerProject;
import org.apache.royale.compiler.internal.scopes.ASScope;
import org.apache.royale.compiler.internal.scopes.FunctionScope;
@@ -603,6 +604,10 @@
IResolvedQualifiersReference vectorReference = ReferenceFactory.resolvedQualifierQualifiedReference(project.getWorkspace(), vectorImplPackage, baseName);
IDefinition vectorIDefinition = vectorReference.resolve(project);
+ if(vectorIDefinition == null)
+ {
+ throw new MissingBuiltinException(baseName);
+ }
assert vectorIDefinition instanceof IClassDefinition :
"Unable to find: " + vectorReference.getDisplayString();
return (IClassDefinition) vectorIDefinition;