Example usage for org.eclipse.jdt.internal.compiler.ast ModuleDeclaration isOpen

List of usage examples for org.eclipse.jdt.internal.compiler.ast ModuleDeclaration isOpen

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.compiler.ast ModuleDeclaration isOpen.

Prototype

public boolean isOpen() 

Source Link

Usage

From source file:spoon.support.compiler.jdt.JDTTreeBuilderHelper.java

License:Open Source License

/**
 * Creates an entire object CtModule from a module declaration.
 * @return a CtModule/* ww  w .  j  ava  2  s. com*/
 */
CtModule createModule(ModuleDeclaration moduleDeclaration) {
    CtModule module = jdtTreeBuilder.getFactory().Module()
            .getOrCreate(new String(moduleDeclaration.moduleName));
    module.setIsOpenModule(moduleDeclaration.isOpen());
    jdtTreeBuilder.getContextBuilder().enter(module, moduleDeclaration);

    if (moduleDeclaration.requires != null && moduleDeclaration.requires.length > 0) {
        List<CtModuleRequirement> moduleRequirements = new ArrayList<>();
        for (RequiresStatement requiresStatement : moduleDeclaration.requires) {
            moduleRequirements.add(this.createModuleRequirement(requiresStatement));
        }

        module.setRequiredModules(moduleRequirements);
    }

    if (moduleDeclaration.exports != null && moduleDeclaration.exports.length > 0) {
        List<CtPackageExport> moduleExports = new ArrayList<>();
        for (ExportsStatement exportsStatement : moduleDeclaration.exports) {
            moduleExports.add(this.createModuleExport(exportsStatement));
        }

        module.setExportedPackages(moduleExports);
    }

    if (moduleDeclaration.opens != null && moduleDeclaration.opens.length > 0) {
        List<CtPackageExport> moduleOpens = new ArrayList<>();
        for (OpensStatement opensStatement : moduleDeclaration.opens) {
            moduleOpens.add(this.createModuleExport(opensStatement));
        }

        module.setOpenedPackages(moduleOpens);
    }

    if (moduleDeclaration.uses != null && moduleDeclaration.uses.length > 0) {
        List<CtUsedService> consumedServices = new ArrayList<>();
        for (UsesStatement consumedService : moduleDeclaration.uses) {
            consumedServices.add(this.createUsedService(consumedService));
        }

        module.setUsedServices(consumedServices);
    }

    if (moduleDeclaration.services != null && moduleDeclaration.services.length > 0) {
        List<CtProvidedService> moduleProvidedServices = new ArrayList<>();
        for (ProvidesStatement providesStatement : moduleDeclaration.services) {
            moduleProvidedServices.add(this.createModuleProvidedService(providesStatement));
        }

        module.setProvidedServices(moduleProvidedServices);
    }
    module.setPosition(this.jdtTreeBuilder.getPositionBuilder()
            .buildPosition(moduleDeclaration.declarationSourceStart, moduleDeclaration.declarationSourceEnd));
    return module;
}