All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.antlrjavaparser.api.CompilationUnit Maven / Gradle / Ivy

There is a newer version: 1.0.17
Show newest version
/*
 * Copyright (C) 2015 Julio Vilmar Gesser and Mike DeHaan
 *
 * This file is part of antlr-java-parser.
 *
 * antlr-java-parser is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * antlr-java-parser is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with antlr-java-parser.  If not, see .
 *
 */
package com.github.antlrjavaparser.api;

import com.github.antlrjavaparser.api.body.AnnotationDeclaration;
import com.github.antlrjavaparser.api.body.ClassOrInterfaceDeclaration;
import com.github.antlrjavaparser.api.body.EmptyTypeDeclaration;
import com.github.antlrjavaparser.api.body.EnumDeclaration;
import com.github.antlrjavaparser.api.body.JavadocComment;
import com.github.antlrjavaparser.api.body.TypeDeclaration;
import com.github.antlrjavaparser.api.visitor.GenericVisitor;
import com.github.antlrjavaparser.api.visitor.VoidVisitor;

import java.util.List;

/**
 * This class represents the entire compilation unit. Each java file denotes a
 * compilation unit.
 * The CompilationUnit is constructed following the syntax:
* * @author Julio Vilmar Gesser */ public final class CompilationUnit extends Node { private PackageDeclaration pakage; private List imports; private List types; private List comments; public CompilationUnit() { } public CompilationUnit(PackageDeclaration pakage, List imports, List types, List comments) { this.pakage = pakage; this.imports = imports; this.types = types; this.comments = comments; } public CompilationUnit(int beginLine, int beginColumn, int endLine, int endColumn, PackageDeclaration pakage, List imports, List types, List comments) { super(beginLine, beginColumn, endLine, endColumn); this.pakage = pakage; this.imports = imports; this.types = types; this.comments = comments; } @Override public R accept(GenericVisitor v, A arg) { return v.visit(this, arg); } @Override public void accept(VoidVisitor v, A arg) { v.visit(this, arg); } /** * Return a list containing all comments declared in this compilation unit. * Including javadocs, line comments and block comments of all types, * inner-classes and other members.
* If there is no comment, null is returned. * * @return list with all comments of this compilation unit or * null * @see JavadocComment * @see LineComment * @see BlockComment */ public List getComments() { return comments; } /** * Retrieves the list of imports declared in this compilation unit or * null if there is no import. * * @return the list of imports or null if there is no import */ public List getImports() { return imports; } /** * Retrieves the package declaration of this compilation unit.
* If this compilation unit has no package declaration (default package), * null is returned. * * @return the package declaration or null */ public PackageDeclaration getPackage() { return pakage; } /** * Return the list of types declared in this compilation unit.
* If there is no types declared, null is returned. * * @return the list of types or null null if there is no type * @see AnnotationDeclaration * @see ClassOrInterfaceDeclaration * @see EmptyTypeDeclaration * @see EnumDeclaration */ public List getTypes() { return types; } /** * Sets the list of comments of this compilation unit. * * @param comments * the list of comments */ public void setComments(List comments) { this.comments = comments; } /** * Sets the list of imports of this compilation unit. The list is initially * null. * * @param imports * the list of imports */ public void setImports(List imports) { this.imports = imports; } /** * Sets or clear the package declarations of this compilation unit. * * @param pakage * the pakage declaration to set or null to default * package */ public void setPackage(PackageDeclaration pakage) { this.pakage = pakage; } /** * Sets the list of types declared in this compilation unit. * * @param types * the lis of types */ public void setTypes(List types) { this.types = types; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy