/** * Build the definitions for a bindable variable that needs a generated * getter/setter. * * @return An Array with all of the definitions built for this Node. */ DefinitionBase[] buildBindableDefinitions(ASScope containingScope) { String definitionName = nameNode.computeSimpleReference(); DefinitionBase[] definitions = new DefinitionBase[2]; definitions[0] = buildBindableGetter(definitionName); definitions[1] = buildBindableSetter(definitionName, containingScope, definitions[0].getTypeReference()); return definitions; }
/** * Build the definitions for a bindable variable that needs a generated * getter/setter. * * @return An Array with all of the definitions built for this Node. */ DefinitionBase[] buildBindableDefinitions(ASScope containingScope) { String definitionName = nameNode.computeSimpleReference(); DefinitionBase[] definitions = new DefinitionBase[2]; definitions[0] = buildBindableGetter(definitionName); definitions[1] = buildBindableSetter(definitionName, containingScope, definitions[0].getTypeReference()); return definitions; }
@Override VariableDefinition buildDefinition() { ConfigDefinition definition = new ConfigDefinition(nameNode.computeSimpleReference()); definition.setNode(this); fillInNamespaceAndModifiers(definition); setDefinition(definition); definition.setInitializer(this.getAssignedValueNode()); return (VariableDefinition)definition; }
/** * Determine if this node is a reference to a package * * @return true if this node is really a package reference. */ public boolean isPackageReference() { // Return true if we're somewhere that MXML doesn't require packages to be imported if (getTreatAsPackage()) return true; boolean isPackage = false; if (this.getBaseExpression() == null) { // Only check for packages if we don't have a base expression. // in a.b.c, 'a', 'a.b', or 'a.b.c' could be package names, but not 'c' or 'b.c' String ref = this.computeSimpleReference(); if (ref != null) { ASScope scope = getASScope(); if (scope.isPackageName(ref)) isPackage = true; } } return isPackage; }
@Override VariableDefinition buildDefinition() { ConfigDefinition definition = new ConfigDefinition(nameNode.computeSimpleReference()); definition.setNode(this); fillInNamespaceAndModifiers(definition); setDefinition(definition); definition.setInitializer(this.getAssignedValueNode()); return (VariableDefinition)definition; }
/** * Determine if this node is a reference to a package * * @return true if this node is really a package reference. */ public boolean isPackageReference() { // Return true if we're somewhere that MXML doesn't require packages to be imported if (getTreatAsPackage()) return true; boolean isPackage = false; if (this.getBaseExpression() == null) { // Only check for packages if we don't have a base expression. // in a.b.c, 'a', 'a.b', or 'a.b.c' could be package names, but not 'c' or 'b.c' String ref = this.computeSimpleReference(); if (ref != null) { ASScope scope = getASScope(); if (scope.isPackageName(ref)) isPackage = true; } } return isPackage; }
String definitionName = Multiname.getBaseNameForQName(nameNode.computeSimpleReference()); INamespaceReference namespaceReference = NamespaceDefinition.createNamespaceReference(getASScope(), getNamespaceNode());
/** * Build the VariableDefinition or ConstantDefinition that represents this * Node. * * @return the Definition representing this Node. */ DefinitionBase buildDefinition() { String definitionName = nameNode.computeSimpleReference(); VariableDefinition definition; definition = isConst() ? new ConstantDefinition(definitionName) : new VariableDefinition(definitionName); fillinDefinition(definition); definition.setDeclaredInControlFlow(isInControlFlow()); definition.setInitializer(this.getAssignedValueNode()); return definition; }
String definitionName = Multiname.getBaseNameForQName(nameNode.computeSimpleReference()); INamespaceReference namespaceReference = NamespaceDefinition.createNamespaceReference(getASScope(), getNamespaceNode());
/** * Build the VariableDefinition or ConstantDefinition that represents this * Node. * * @return the Definition representing this Node. */ DefinitionBase buildDefinition() { String definitionName = nameNode.computeSimpleReference(); VariableDefinition definition; definition = isConst() ? new ConstantDefinition(definitionName) : new VariableDefinition(definitionName); fillinDefinition(definition); definition.setDeclaredInControlFlow(isInControlFlow()); definition.setInitializer(this.getAssignedValueNode()); return definition; }
InterfaceDefinition buildDefinition() { String definitionName = nameNode.computeSimpleReference(); InterfaceDefinition definition = new InterfaceDefinition(definitionName); definition.setNode(this); fillInNamespaceAndModifiers(definition); fillInMetadata(definition); // Set the interfaces that this interface extends. if (baseInterfacesNode != null) { int n = baseInterfacesNode.getChildCount(); IReference[] baseInterfaces = new IReference[n]; for (int i = 0; i < n; i++) { IASNode child = baseInterfacesNode.getChild(i); if (child instanceof ExpressionNodeBase) baseInterfaces[i] = ((ExpressionNodeBase)child).computeTypeReference(); } definition.setExtendedInterfaceReferences(baseInterfaces); } return definition; } }
InterfaceDefinition buildDefinition() { String definitionName = nameNode.computeSimpleReference(); InterfaceDefinition definition = new InterfaceDefinition(definitionName); definition.setNode(this); fillInNamespaceAndModifiers(definition); fillInMetadata(definition); // Set the interfaces that this interface extends. if (baseInterfacesNode != null) { int n = baseInterfacesNode.getChildCount(); IReference[] baseInterfaces = new IReference[n]; for (int i = 0; i < n; i++) { IASNode child = baseInterfacesNode.getChild(i); if (child instanceof ExpressionNodeBase) baseInterfaces[i] = ((ExpressionNodeBase)child).computeTypeReference(); } definition.setExtendedInterfaceReferences(baseInterfaces); } return definition; } }
@Override IReference computeTypeReference() { // Parser creates IdentifierNodes for "" for some error cases of improperly written code, // like class C extends {} - it gets an IDNode of "" for the extends clause if (name == "") return null; IReference typeRef = null; IWorkspace w = getWorkspace(); switch (getRefType()) { case PACKAGE_QUALIFIED: { ExpressionNodeBase baseExpr = getBaseExpression(); typeRef = ReferenceFactory.packageQualifiedReference(w, baseExpr.computeSimpleReference(), computeSimpleReference(), false); break; } case LEXICAL: { typeRef = ReferenceFactory.lexicalReference(w, computeSimpleReference()); break; } default: { typeRef = ReferenceFactory.notATypeReference(w, computeSimpleReference()); break; } } return typeRef; }
@Override IReference computeTypeReference() { // Parser creates IdentifierNodes for "" for some error cases of improperly written code, // like class C extends {} - it gets an IDNode of "" for the extends clause if (name == "") return null; IReference typeRef = null; IWorkspace w = getWorkspace(); switch (getRefType()) { case PACKAGE_QUALIFIED: { ExpressionNodeBase baseExpr = getBaseExpression(); typeRef = ReferenceFactory.packageQualifiedReference(w, baseExpr.computeSimpleReference(), computeSimpleReference(), false); break; } case LEXICAL: { typeRef = ReferenceFactory.lexicalReference(w, computeSimpleReference()); break; } default: { typeRef = ReferenceFactory.notATypeReference(w, computeSimpleReference()); break; } } return typeRef; }
nsRef = NamespaceDefinition.createNamespaceReference( getASScope(), getName(), w.getPackageNamespaceDefinitionCache().get(baseExpr.computeSimpleReference(), false)); break;
nsRef = NamespaceDefinition.createNamespaceReference( getASScope(), getName(), w.getPackageNamespaceDefinitionCache().get(baseExpr.computeSimpleReference(), false)); break;
String packageName = baseExpr.computeSimpleReference(); Workspace workspace = (Workspace)project.getWorkspace(); INamespaceReference qualifier = workspace.getPackageNamespaceDefinitionCache().get(packageName, false);
String packageName = baseExpr.computeSimpleReference(); Workspace workspace = (Workspace)project.getWorkspace(); INamespaceReference qualifier = workspace.getPackageNamespaceDefinitionCache().get(packageName, false);
String packageName = base.computeSimpleReference(); packageName = project.getActualPackageName(packageName); Workspace workspace = (Workspace)project.getWorkspace();
String packageName = base.computeSimpleReference(); packageName = project.getActualPackageName(packageName); Workspace workspace = (Workspace)project.getWorkspace();