com.github.antlrjavaparser.api.CompilationUnit Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of antlr-java-parser Show documentation
Show all versions of antlr-java-parser Show documentation
Antlr Java Parser aims to create a Java parser using Antlr 4 grammar rules.
/*
* Copyright (C) 2007 J�lio Vilmar Gesser.
*
* This file is part of Java 1.5 parser and Abstract Syntax Tree.
*
* Java 1.5 parser and Abstract Syntax Tree 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.
*
* Java 1.5 parser and Abstract Syntax Tree 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 Java 1.5 parser and Abstract Syntax Tree. If not, see .
*/
/*
* Created on 05/10/2006
*/
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:
*
*
*
* CompilationUnit
* ::=
*
* ( {@link PackageDeclaration} )?
* ( {@link ImportDeclaration} )*
* ( {@link TypeDeclaration} )*
*
*
*
*
*
* @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