Package org.apache.flex.compiler.units

Examples of org.apache.flex.compiler.units.ICompilationUnit


                + File.separator + inputDirName + File.separator
                + inputFileName + inputFileExtension;

        addDependencies();

        ICompilationUnit mainCU = Iterables
                .getOnlyElement(workspace.getCompilationUnits(
                        FilenameNormalization.normalize(mainFileName), project));
       
        if (project instanceof FlexJSProject)
            ((FlexJSProject) project).mainCU = mainCU;
View Full Code Here


                IDefinition def = ref.resolve(project);
                if (def instanceof ClassDefinition)
                {
                    resolvedClasses.add((ClassDefinition)def);
                   
                    ICompilationUnit defCU = project.getScope().getCompilationUnitForDefinition(def);
                    assert (defCU != null) : "could not resolve def to CU";
                    frameCompilationUnits.add(defCU);
                }
                else
                {
View Full Code Here

   
    @Override
    protected ITargetAttributes computeTargetAttributes() throws InterruptedException
    {

        ICompilationUnit mainUnit = getRootClassCompilationUnit();
        IRequest<ISyntaxTreeRequestResult, ICompilationUnit> request = mainUnit.getSyntaxTreeRequest();
        ISyntaxTreeRequestResult result = request.get();

        IASNode root = result.getAST();
          
        if (!(root instanceof IFileNode))
View Full Code Here

    private SWFFrameInfo createMainFrameInfo() throws InterruptedException
    {
        final ImmutableSet.Builder<ICompilationUnit> compilationUnits =
            ImmutableSet.<ICompilationUnit>builder();
       
        ICompilationUnit rootCU = getRootClassCompilationUnit();
       
        compilationUnits.add(rootCU);
        final Iterable<ICompilationUnit> includesCompilationUnits =
            getIncludesCompilationUnits();
        compilationUnits.addAll(includesCompilationUnits);
       
        final Iterable<ICompilationUnit> includeLibrariesCompilationUnits =
            getIncludeLibrariesCompilationUnits();
        compilationUnits.addAll(includeLibrariesCompilationUnits);
       
        compilationUnits.addAll(additionalRootedCompilationUnits);
       
        Collection<ICompilerProblem> externallyVisibleDefinitionProblems =
            rootCU.getFileScopeRequest().get().checkExternallyVisibleDefinitions(targetSettings.getRootClassName());
       
        final SWFFrameInfo mainFrameInfo =
            new SWFFrameInfo(compilationUnits.build(), externallyVisibleDefinitionProblems);
        return mainFrameInfo;
    }
View Full Code Here

        if (!newSourcesToCreate.isEmpty())
        {
            unitsToAdd = new ArrayList<ICompilationUnit>(newSourcesToCreate.size());
            for (File file : newSourcesToCreate)
            {
                ICompilationUnit unit = project.getSourceCompilationUnitFactory().createCompilationUnit(
                    file, DefinitionPriority.BasePriority.SOURCE_LIST, 0, null, null);
               
                //It can be null in some cases, see #ResourceBundleSourceFileHandler
                if(unit != null)
                    unitsToAdd.add(unit);
View Full Code Here

                for (final String definitionQName : script.getDefinitions())
                {
                    qnames.add(definitionQName.replace(":", "."));
                }

                final ICompilationUnit cu = new SWCCompilationUnit(
                        flashProject, swc, library, script, qnames, order);
                cus.add(cu);
            }
        }
       
        //If the project's locale is empty, then don't try to create ResourceBundleCompilationUnits
        // because no resource bundles won't go into swf or swc anyways.
        if (flashProject instanceof IFlexProject &&
                ((IFlexProject)flashProject).getLocales().size() > 0)
        {  
            //Create compilation units for all the .properties files in the swc.
            for (final ISWCFileEntry entry : swc.getFiles().values())
            {
                if (FilenameUtils.getExtension(entry.getPath()).equals(ResourceBundleSourceFileHandler.EXTENSION))
                {
                    final ICompilationUnit cu = createResourceBundleCompilationUnit(swc, entry);
                    if (cu != null)
                    {
                        cus.add(cu);
                    }
                }
View Full Code Here

       
        List<EdgePair> edges = new ArrayList<EdgePair>();
       
        for (int i = 0; i < visibleVertices.size(); i++)
        {
            ICompilationUnit vertex = visibleVertices.get(i);
            Element nodeTag = doc.createElement("node");
            nodeTag.setAttribute("id", "n" + Integer.toString(nodeIndex));

            String labelName = vertex.getName();
            String label = labelName + "[" + bytesChanged.get(vertex) + " bytes | " + totalBytesChanged.get(vertex) + " total invalidated bytes]";

            nodeTag.appendChild(createNodeDataTag(label, isExternal(vertex)));
            graphTag.appendChild(nodeTag);
            if (useExternalDependencies || !isExternal(vertex))
View Full Code Here

    {
        final List<ICompilationUnit> rootedUnitsForFrame = new LinkedList<ICompilationUnit>();
        for (ClassDefinition frameRootClass : frameRootClasses)
        {
            final Collection<IDefinition> extraDefinitions = frameRootClass.resolveExtraClasses(project);
            final ICompilationUnit frameFactoryClassCompilationUnit = projectScope.getCompilationUnitForDefinition(frameRootClass);
            assert frameFactoryClassCompilationUnit != null;
            rootedUnitsForFrame.add(frameFactoryClassCompilationUnit);
            for (IDefinition extraDef : extraDefinitions)
            {
                if (!extraDef.isImplicit())
                {
                    ICompilationUnit extraDefCompilationUnit = projectScope.getCompilationUnitForDefinition(extraDef);
                    assert extraDefCompilationUnit != null;
                    rootedUnitsForFrame.add(extraDefCompilationUnit);
                }
            }
        }
View Full Code Here

        if (project == null)
            project = getWalker().getProject();

        FlexJSProject flexProject = (FlexJSProject) project;
        ASProjectScope projectScope = (ASProjectScope) flexProject.getScope();
        ICompilationUnit cu = projectScope
                .getCompilationUnitForDefinition(type);
        ArrayList<String> requiresList = flexProject.getRequires(cu);
        ArrayList<String> interfacesList = flexProject.getInterfaces(cu);

        String cname = type.getQualifiedName();
        ArrayList<String> writtenInstances = new ArrayList<String>();
        writtenInstances.add(cname); // make sure we don't add ourselves

        boolean emitsRequires = false;
        if (requiresList != null)
        {
            for (String imp : requiresList)
            {
                if (imp.indexOf(JSGoogEmitterTokens.AS3.getToken()) != -1)
                    continue;

                if (imp.equals(cname))
                    continue;

                if (NativeUtils.isNative(imp))
                    continue;

                if (writtenInstances.indexOf(imp) == -1)
                {

                    /* goog.require('x');\n */
                    write(JSGoogEmitterTokens.GOOG_REQUIRE);
                    write(ASEmitterTokens.PAREN_OPEN);
                    write(ASEmitterTokens.SINGLE_QUOTE);
                    write(imp);
                    write(ASEmitterTokens.SINGLE_QUOTE);
                    write(ASEmitterTokens.PAREN_CLOSE);
                    writeNewline(ASEmitterTokens.SEMICOLON);
                   
                    writtenInstances.add(imp);
                   
                    emitsRequires = true;
                }
            }
        }
       
        boolean emitsInterfaces = false;
        if (interfacesList != null)
        {
            for (String imp : interfacesList)
            {
                write(JSGoogEmitterTokens.GOOG_REQUIRE);
                write(ASEmitterTokens.PAREN_OPEN);
                write(ASEmitterTokens.SINGLE_QUOTE);
                write(imp);
                write(ASEmitterTokens.SINGLE_QUOTE);
                write(ASEmitterTokens.PAREN_CLOSE);
                writeNewline(ASEmitterTokens.SEMICOLON);
               
                emitsInterfaces = true;
            }
        }
       
        // erikdebruin: Add missing language feature support, with e.g. 'is' and
        //              'as' operators. We don't need to worry about requiring
        //              this in every project: ADVANCED_OPTIMISATIONS will NOT
        //              include any of the code if it is not used in the project.
        boolean isMainCU = flexProject.mainCU != null &&
                    cu.getName().equals(flexProject.mainCU.getName());
        if (isMainCU)
        {
            write(JSGoogEmitterTokens.GOOG_REQUIRE);
            write(ASEmitterTokens.PAREN_OPEN);
            write(ASEmitterTokens.SINGLE_QUOTE);
View Full Code Here

            }
        }
        FlexJSProject project = (FlexJSProject) getMXMLWalker().getProject();
        ASProjectScope projectScope = (ASProjectScope) project.getScope();
        IDefinition cdef = node.getDefinition();
        ICompilationUnit cu = projectScope
                .getCompilationUnitForDefinition(cdef);
        ArrayList<String> deps = project.getRequires(cu);

        if (deps != null)
        {
            for (String imp : deps)
            {
                if (imp.indexOf(JSGoogEmitterTokens.AS3.getToken()) != -1)
                    continue;
   
                if (imp.equals(cname))
                    continue;
   
                if (imp.equals("mx.binding.Binding"))
                    continue;
                if (imp.equals("mx.binding.BindingManager"))
                    continue;
                if (imp.equals("mx.binding.FunctionReturnWatcher"))
                    continue;
                if (imp.equals("mx.binding.PropertyWatcher"))
                    continue;
                if (imp.equals("mx.binding.StaticPropertyWatcher"))
                    continue;
                if (imp.equals("mx.binding.XMLWatcher"))
                    continue;
                if (imp.equals("mx.events.PropertyChangeEvent"))
                    continue;
                if (imp.equals("mx.events.PropertyChangeEventKind"))
                    continue;
                if (imp.equals("mx.core.DeferredInstanceFromFunction"))
                    continue;
   
                if (NativeUtils.isNative(imp))
                    continue;
   
                if (writtenInstances.indexOf(imp) == -1)
                {
                    emitHeaderLine(imp);
                    writtenInstances.add(imp);
                }
            }
        }

        String s = ((MXMLFlexJSBlockWalker)getMXMLWalker()).encodedCSS;
        if (!s.isEmpty())
        {
            int reqidx = s.indexOf("goog.require");
            if (reqidx != -1)
            {
                String reqs = s.substring(reqidx);
                writeNewline(reqs);
            }
        }

        // erikdebruin: Add missing language feature support, like the 'is' and
        //              'as' operators. We don't need to worry about requiring
        //              this in every project: ADVANCED_OPTIMISATIONS will NOT
        //              include any of the code if it is not used in the project.
        if (project.mainCU != null &&
                cu.getName().equals(project.mainCU.getName()))
        {
            emitHeaderLine(JSFlexJSEmitterTokens.LANGUAGE_QNAME.getToken());
        }

        writeNewline();
View Full Code Here

TOP

Related Classes of org.apache.flex.compiler.units.ICompilationUnit

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.