Java 类org.eclipse.jdt.core.dom.PackageDeclaration 实例源码
项目:junit2spock
文件:ClassModel.java
ClassModel(ASTNodeFactory astNodeFactory, String className, Type superClassType, PackageDeclaration packageDeclaration,
List<FieldDeclaration> fields, List<MethodModel> methods, List<ImportDeclaration> imports,
List<TypeModel> innerTypes, List<ASTNode> modifiers) {
groovism = provide();
this.className = className;
this.packageDeclaration = packageDeclaration;
this.fields = fieldDeclarations(fields);
this.methods = unmodifiableList(new LinkedList<>(methods));
this.modifiers = unmodifiableList(new LinkedList<>(modifiers));
this.imports = imports;
this.innerTypes = unmodifiableList(new LinkedList<>(innerTypes));
if (isTestClass(methods)) {
this.superClassType = Optional.of(astNodeFactory.simpleType(Specification.class.getSimpleName()));
imports.add(0, astNodeFactory.importDeclaration(Specification.class));
} else {
this.superClassType = Optional.ofNullable(superClassType);
}
}
项目:junit2spock
文件:InterfaceModel.java
InterfaceModel(String typeName, Type superClassType, PackageDeclaration packageDeclaration,
List<FieldDeclaration> fields, List<MethodModel> methods, List<ImportDeclaration> imports,
List<ASTNode> modifiers) {
groovism = provide();
LinkedList<ImportDeclaration> importDeclarations = new LinkedList<>(imports);
this.superClassType = Optional.ofNullable(superClassType).map(Object::toString);
this.typeName = typeName;
this.packageDeclaration = packageDeclaration;
this.fields = unmodifiableList(new LinkedList<>(fields));
this.methods = unmodifiableList(new LinkedList<>(methods));
this.imports = unmodifiableList(importDeclarations);
this.modifiers = unmodifiableList(modifiers);
}
项目:pandionj
文件:TagParser.java
@Override
public boolean visit(FieldDeclaration node) {
List fragments = node.fragments();
for(Object o : fragments) {
VariableDeclarationFragment frag = (VariableDeclarationFragment) o;
String varName = frag.getName().getIdentifier();
int line = cunit.getLineNumber(frag.getStartPosition());
ASTNode parent = node.getParent();
Scope scope = new Scope(cunit.getLineNumber(parent.getStartPosition()), getEndLine(parent, cunit));
TypeDeclaration dec = (TypeDeclaration) node.getParent();
String qName = dec.getName().getFullyQualifiedName();
PackageDeclaration packageDec = cunit.getPackage();
if(packageDec != null)
qName = packageDec.getName().getFullyQualifiedName() + "." + qName;
String type = !Modifier.isStatic(node.getModifiers()) ? qName : null;
VariableTags tags = new VariableTags(varName, type, line, scope, true);
variables.add(tags);
}
return false;
}
项目:SnowGraph
文件:NameResolver.java
/**
* Evaluates fully qualified name of the TypeDeclaration object.
*/
public static String getFullName(TypeDeclaration decl) {
String name = decl.getName().getIdentifier();
ASTNode parent = decl.getParent();
// resolve full name e.g.: A.B
while (parent != null && parent.getClass() == TypeDeclaration.class) {
name = ((TypeDeclaration) parent).getName().getIdentifier() + "." + name;
parent = parent.getParent();
}
// resolve fully qualified name e.g.: some.package.A.B
if (decl.getRoot().getClass() == CompilationUnit.class) {
CompilationUnit root = (CompilationUnit) decl.getRoot();
if (root.getPackage() != null) {
PackageDeclaration pack = root.getPackage();
name = pack.getName().getFullyQualifiedName() + "." + name;
}
}
return name;
}
项目:che
文件:TypeContextChecker.java
public static StubTypeContext createStubTypeContext(
ICompilationUnit cu, CompilationUnit root, int focalPosition) throws CoreException {
StringBuffer bufBefore = new StringBuffer();
StringBuffer bufAfter = new StringBuffer();
int introEnd = 0;
PackageDeclaration pack = root.getPackage();
if (pack != null) introEnd = pack.getStartPosition() + pack.getLength();
List<ImportDeclaration> imports = root.imports();
if (imports.size() > 0) {
ImportDeclaration lastImport = imports.get(imports.size() - 1);
introEnd = lastImport.getStartPosition() + lastImport.getLength();
}
bufBefore.append(cu.getBuffer().getText(0, introEnd));
fillWithTypeStubs(bufBefore, bufAfter, focalPosition, root.types());
bufBefore.append(' ');
bufAfter.insert(0, ' ');
return new StubTypeContext(cu, bufBefore.toString(), bufAfter.toString());
}
项目:compiler
文件:UglyMathCommentsExtractor.java
private static int getNodeStartPosition(final ASTNode node) {
if (node instanceof MethodDeclaration) {
MethodDeclaration decl = (MethodDeclaration) node;
return decl.isConstructor() ? decl.getName().getStartPosition() : decl.getReturnType2().getStartPosition();
} else if (node instanceof FieldDeclaration) {
return ((FieldDeclaration) node).getType().getStartPosition();
} else if (node instanceof AbstractTypeDeclaration) {
return ((AbstractTypeDeclaration) node).getName().getStartPosition();
} else if (node instanceof AnnotationTypeMemberDeclaration) {
return ((AnnotationTypeMemberDeclaration) node).getName().getStartPosition();
} else if (node instanceof EnumConstantDeclaration) {
return ((EnumConstantDeclaration) node).getName().getStartPosition();
} else if (node instanceof PackageDeclaration) {
return ((PackageDeclaration) node).getName().getStartPosition();
}
/* TODO: Initializer */
return node.getStartPosition();
}
项目:Beagle
文件:EclipseAstBridge.java
/**
* Queries the fully qualified name of type defined by the source code file this
* bridge was created for.
*
* @return The fully qualified name of the type defined by the source code file this
* bridge was created for. {@code null} if there is nothing in the file this
* desription applies to.
*/
String getFullyQualifiedName() {
Validate.validState(this.compilationUnit != null, "getFullyQualifiedName may only be called after getAst was!");
// Compilation Units that don’t have exactly one type declaration at the root
// level are not supported. The author knows of no compilable example of such a
// compilation unit.
final TypeDeclaration rootType = (TypeDeclaration) this.compilationUnit.types().get(0);
if (rootType == null) {
return null;
}
final PackageDeclaration cuPackage = this.compilationUnit.getPackage();
final String packageName;
if (cuPackage == null) {
packageName = "";
} else {
packageName = cuPackage.getName() + ".";
}
return packageName + rootType.getName();
}
项目:txtUML
文件:SharedUtils.java
public static String qualifiedName(TypeDeclaration decl) {
String name = decl.getName().getIdentifier();
ASTNode parent = decl.getParent();
// resolve full name e.g.: A.B
while (parent != null && parent.getClass() == TypeDeclaration.class) {
name = ((TypeDeclaration) parent).getName().getIdentifier() + "." + name;
parent = parent.getParent();
}
// resolve fully qualified name e.g.: some.package.A.B
if (decl.getRoot().getClass() == CompilationUnit.class) {
CompilationUnit root = (CompilationUnit) decl.getRoot();
if (root.getPackage() != null) {
PackageDeclaration pack = root.getPackage();
name = pack.getName().getFullyQualifiedName() + "." + name;
}
}
return name;
}
项目:Eclipse-Postfix-Code-Completion
文件:TypeContextChecker.java
public static StubTypeContext createStubTypeContext(ICompilationUnit cu, CompilationUnit root, int focalPosition) throws CoreException {
StringBuffer bufBefore= new StringBuffer();
StringBuffer bufAfter= new StringBuffer();
int introEnd= 0;
PackageDeclaration pack= root.getPackage();
if (pack != null)
introEnd= pack.getStartPosition() + pack.getLength();
List<ImportDeclaration> imports= root.imports();
if (imports.size() > 0) {
ImportDeclaration lastImport= imports.get(imports.size() - 1);
introEnd= lastImport.getStartPosition() + lastImport.getLength();
}
bufBefore.append(cu.getBuffer().getText(0, introEnd));
fillWithTypeStubs(bufBefore, bufAfter, focalPosition, root.types());
bufBefore.append(' ');
bufAfter.insert(0, ' ');
return new StubTypeContext(cu, bufBefore.toString(), bufAfter.toString());
}
项目:Eclipse-Postfix-Code-Completion
文件:ClassPathDetector.java
private void visitCompilationUnit(IFile file) {
ICompilationUnit cu= JavaCore.createCompilationUnitFrom(file);
if (cu != null) {
ASTParser parser= ASTParser.newParser(ASTProvider.SHARED_AST_LEVEL);
parser.setSource(cu);
parser.setFocalPosition(0);
CompilationUnit root= (CompilationUnit)parser.createAST(null);
PackageDeclaration packDecl= root.getPackage();
IPath packPath= file.getParent().getFullPath();
String cuName= file.getName();
if (packDecl == null) {
addToMap(fSourceFolders, packPath, new Path(cuName));
} else {
IPath relPath= new Path(packDecl.getName().getFullyQualifiedName().replace('.', '/'));
IPath folderPath= getFolderPath(packPath, relPath);
if (folderPath != null) {
addToMap(fSourceFolders, folderPath, relPath.append(cuName));
}
}
}
}
项目:Eclipse-Postfix-Code-Completion
文件:CreatePackageDeclarationOperation.java
protected ASTNode generateElementAST(ASTRewrite rewriter, ICompilationUnit cu) throws JavaModelException {
//look for an existing package declaration
IJavaElement[] children = getCompilationUnit().getChildren();
for (int i = 0; i < children.length; i++) {
if (children[i].getElementType() == IJavaElement.PACKAGE_DECLARATION && this.name.equals(children[i].getElementName())) {
//equivalent package declaration already exists
this.creationOccurred = false;
return null;
}
}
AST ast = this.cuAST.getAST();
PackageDeclaration pkgDeclaration = ast.newPackageDeclaration();
Name astName = ast.newName(this.name);
pkgDeclaration.setName(astName);
return pkgDeclaration;
}
项目:dominoes
文件:FileNode.java
private void extractPackage(Repository _repo) throws MissingObjectException, IOException{
ObjectLoader newFile = _repo.open(this.newObjId);
String newData = readStream(newFile.openStream());
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setSource(newData.toCharArray());
parser.setKind(ASTParser.K_COMPILATION_UNIT);
Hashtable<String, String> options = JavaCore.getOptions();
options.put(JavaCore.COMPILER_DOC_COMMENT_SUPPORT, JavaCore.DISABLED);
parser.setCompilerOptions(options);
final CompilationUnit cu = (CompilationUnit) parser.createAST(null);
cu.accept(new ASTVisitor() {
public boolean visit(PackageDeclaration _package){
packageName = _package.getName().getFullyQualifiedName();
return false;
}
});
}
项目:dominoes
文件:FileNode.java
private void extractPackage(Repository _repo) throws MissingObjectException, IOException{
ObjectLoader newFile = _repo.open(this.newObjId);
String newData = readStream(newFile.openStream());
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setSource(newData.toCharArray());
parser.setKind(ASTParser.K_COMPILATION_UNIT);
Hashtable<String, String> options = JavaCore.getOptions();
options.put(JavaCore.COMPILER_DOC_COMMENT_SUPPORT, JavaCore.DISABLED);
parser.setCompilerOptions(options);
final CompilationUnit cu = (CompilationUnit) parser.createAST(null);
cu.accept(new ASTVisitor() {
public boolean visit(PackageDeclaration _package){
packageName = _package.getName().getFullyQualifiedName();
return false;
}
});
}
项目:Eclipse-Postfix-Code-Completion-Juno38
文件:TypeContextChecker.java
public static StubTypeContext createStubTypeContext(ICompilationUnit cu, CompilationUnit root, int focalPosition) throws CoreException {
StringBuffer bufBefore= new StringBuffer();
StringBuffer bufAfter= new StringBuffer();
int introEnd= 0;
PackageDeclaration pack= root.getPackage();
if (pack != null)
introEnd= pack.getStartPosition() + pack.getLength();
List<ImportDeclaration> imports= root.imports();
if (imports.size() > 0) {
ImportDeclaration lastImport= imports.get(imports.size() - 1);
introEnd= lastImport.getStartPosition() + lastImport.getLength();
}
bufBefore.append(cu.getBuffer().getText(0, introEnd));
fillWithTypeStubs(bufBefore, bufAfter, focalPosition, root.types());
bufBefore.append(' ');
bufAfter.insert(0, ' ');
return new StubTypeContext(cu, bufBefore.toString(), bufAfter.toString());
}
项目:Eclipse-Postfix-Code-Completion-Juno38
文件:ASTFlattener.java
@Override
public boolean visit(PackageDeclaration node) {
if (node.getAST().apiLevel() >= JLS3) {
if (node.getJavadoc() != null) {
node.getJavadoc().accept(this);
}
for (Iterator<Annotation> it= node.annotations().iterator(); it.hasNext();) {
Annotation p= it.next();
p.accept(this);
this.fBuffer.append(" ");//$NON-NLS-1$
}
}
this.fBuffer.append("package ");//$NON-NLS-1$
node.getName().accept(this);
this.fBuffer.append(";");//$NON-NLS-1$
return false;
}
项目:Eclipse-Postfix-Code-Completion-Juno38
文件:ClassPathDetector.java
private void visitCompilationUnit(IFile file) {
ICompilationUnit cu= JavaCore.createCompilationUnitFrom(file);
if (cu != null) {
ASTParser parser= ASTParser.newParser(ASTProvider.SHARED_AST_LEVEL);
parser.setSource(cu);
parser.setFocalPosition(0);
CompilationUnit root= (CompilationUnit)parser.createAST(null);
PackageDeclaration packDecl= root.getPackage();
IPath packPath= file.getParent().getFullPath();
String cuName= file.getName();
if (packDecl == null) {
addToMap(fSourceFolders, packPath, new Path(cuName));
} else {
IPath relPath= new Path(packDecl.getName().getFullyQualifiedName().replace('.', '/'));
IPath folderPath= getFolderPath(packPath, relPath);
if (folderPath != null) {
addToMap(fSourceFolders, folderPath, relPath.append(cuName));
}
}
}
}
项目:Eclipse-Postfix-Code-Completion-Juno38
文件:CreatePackageDeclarationOperation.java
protected ASTNode generateElementAST(ASTRewrite rewriter, ICompilationUnit cu) throws JavaModelException {
//look for an existing package declaration
IJavaElement[] children = getCompilationUnit().getChildren();
for (int i = 0; i < children.length; i++) {
if (children[i].getElementType() == IJavaElement.PACKAGE_DECLARATION && this.name.equals(children[i].getElementName())) {
//equivalent package declaration already exists
this.creationOccurred = false;
return null;
}
}
AST ast = this.cuAST.getAST();
PackageDeclaration pkgDeclaration = ast.newPackageDeclaration();
Name astName = ast.newName(this.name);
pkgDeclaration.setName(astName);
return pkgDeclaration;
}
项目:Eclipse-Postfix-Code-Completion-Juno38
文件:NaiveASTFlattener.java
public boolean visit(PackageDeclaration node) {
if (node.getAST().apiLevel() >= JLS3) {
if (node.getJavadoc() != null) {
node.getJavadoc().accept(this);
}
for (Iterator it = node.annotations().iterator(); it.hasNext(); ) {
Annotation p = (Annotation) it.next();
p.accept(this);
this.buffer.append(" ");//$NON-NLS-1$
}
}
printIndent();
this.buffer.append("package ");//$NON-NLS-1$
node.getName().accept(this);
this.buffer.append(";\n");//$NON-NLS-1$
return false;
}
项目:buck-cutom
文件:JavaFileParser.java
private String getFullyQualifiedTypeName(AbstractTypeDeclaration node) {
LinkedList<String> nameParts = Lists.newLinkedList();
nameParts.add(node.getName().toString());
ASTNode parent = node.getParent();
while (!(parent instanceof CompilationUnit)) {
nameParts.addFirst(((AbstractTypeDeclaration) parent).getName().toString());
parent = parent.getParent();
}
// A Java file might not have a package. Hopefully all of ours do though...
PackageDeclaration packageDecl = ((CompilationUnit) parent).getPackage();
if (packageDecl != null) {
nameParts.addFirst(packageDecl.getName().toString());
}
return Joiner.on(".").join(nameParts);
}
项目:jenkins.py
文件:NameResolver.java
/**
* Evaluates fully qualified name of the TypeDeclaration object.
*/
public static String getFullName(TypeDeclaration decl) {
String name = decl.getName().getIdentifier();
ASTNode parent = decl.getParent();
// resolve full name e.g.: A.B
while (parent != null && parent.getClass() == TypeDeclaration.class) {
name = ((TypeDeclaration)parent).getName().getIdentifier() + "." + name;
parent = parent.getParent();
}
// resolve fully qualified name e.g.: some.package.A.B
if (decl.getRoot().getClass() == CompilationUnit.class) {
CompilationUnit root = (CompilationUnit)decl.getRoot();
if (root.getPackage() != null) {
PackageDeclaration pack = root.getPackage();
name = pack.getName().getFullyQualifiedName() + "." + name;
}
}
return name;
}
项目:asup
文件:JDTNodeWriter.java
public JDTNodeWriter(JDTNodeWriter root, QCompilationUnit compilationUnit, QCompilationSetup compilationSetup) {
this.compilationUnit = compilationUnit;
this.compilationSetup = compilationSetup;
if (root != null) {
this.ast = root.getAST();
this.jdtCompilationUnit = root.getJDTCompilationUnit();
this.imports = root.imports;
} else {
this.ast = AST.newAST(AST.JLS8);
this.jdtCompilationUnit = ast.newCompilationUnit();
this.imports = new ArrayList<String>();
// package
PackageDeclaration packageDeclaration = ast.newPackageDeclaration();
packageDeclaration.setName(ast.newName(compilationSetup.getBasePackage().split("\\.")));
this.jdtCompilationUnit.setPackage(packageDeclaration);
}
}
项目:buck
文件:JavaFileParser.java
@Nullable
private String getFullyQualifiedTypeName(AbstractTypeDeclaration node) {
LinkedList<String> nameParts = new LinkedList<>();
nameParts.add(node.getName().toString());
ASTNode parent = node.getParent();
while (!(parent instanceof CompilationUnit)) {
if (parent instanceof AbstractTypeDeclaration) {
nameParts.addFirst(((AbstractTypeDeclaration) parent).getName().toString());
parent = parent.getParent();
} else if (parent instanceof AnonymousClassDeclaration) {
// If this is defined in an anonymous class, then there is no meaningful fully qualified
// name.
return null;
} else {
throw new RuntimeException("Unexpected parent " + parent + " for " + node);
}
}
// A Java file might not have a package. Hopefully all of ours do though...
PackageDeclaration packageDecl = ((CompilationUnit) parent).getPackage();
if (packageDecl != null) {
nameParts.addFirst(packageDecl.getName().toString());
}
return Joiner.on(".").join(nameParts);
}
项目:j2d
文件:J2dVisitor.java
@Override
public boolean visit(PackageDeclaration node) {
//System.out.println("Found: " + node.getClass());
if (node.getJavadoc() != null) {
node.getJavadoc().accept(this);
}
print("module ");
Writer w = new StringWriter();
pushWriter(w);
node.getName().accept(this);
popWriter();
packageName = w.toString();
println(packageName + "." + moduleName + ";");
return false;
}
项目:gw4e.project
文件:JDTManager.java
public static IPath guessPackageRootFragment(IProject project, boolean main)
throws CoreException, FileNotFoundException {
IPath folder = project.getFullPath()
.append(GraphWalkerContextManager.getTargetFolderForTestInterface(project.getName(), main));
IResource interfaceFolder = ResourceManager.toResource(folder);
List<IPath> paths = new ArrayList<IPath>();
if (interfaceFolder != null) {
interfaceFolder.accept(new IResourceVisitor() {
@Override
public boolean visit(IResource resource) throws CoreException {
IJavaElement element = JavaCore.create(resource);
if (element != null && element instanceof ICompilationUnit) {
try {
ICompilationUnit cu = (ICompilationUnit) element;
CompilationUnit ast = parse(cu);
ast.accept(new ASTVisitor() {
public boolean visit(PackageDeclaration node) {
PackageDeclaration decl = (PackageDeclaration) node;
String pkgname = decl.getName().getFullyQualifiedName();
int sizePath = pkgname.split("\\.").length;
paths.add(resource.getParent().getFullPath().removeLastSegments(sizePath));
return false;
}
});
} catch (Exception e) {
ResourceManager.logException(e);
}
}
return true;
}
});
}
if (paths.size() == 0)
return null;
return paths.get(0);
}
项目:gw4e.project
文件:JDTManager.java
/**
* @param cu
* @param rewrite
* @param ast
* @param pkgDeclaration
*/
private static void addPackageDeclaration(CompilationUnit cu, ASTRewrite rewrite, AST ast,
String[] pkgDeclaration) {
PackageDeclaration packageDeclaration = ast.newPackageDeclaration();
Name name = ast.newName(pkgDeclaration);
packageDeclaration.setName(name);
rewrite.set(cu, CompilationUnit.PACKAGE_PROPERTY, packageDeclaration, null);
}
项目:RefDiff
文件:SDModelBuilder.java
protected void processCompilationUnit(String sourceFilePath, char[] fileContent, CompilationUnit compilationUnit, SDModel model) {
PackageDeclaration packageDeclaration = compilationUnit.getPackage();
String packageName = "";
if (packageDeclaration != null) {
packageName = packageDeclaration.getName().getFullyQualifiedName();
}
String packagePath = packageName.replace('.', '/');
String sourceFolder = "/";
if (sourceFilePath.contains(packagePath)) {
sourceFolder = sourceFilePath.substring(0, sourceFilePath.indexOf(packagePath));
}
// RastNode nCompUnit = model.createCompilationUnit(packageName, sourceFolder, sourceFilePath, compilationUnit);
BindingsRecoveryAstVisitor visitor = new BindingsRecoveryAstVisitor(model, compilationUnit, sourceFilePath, fileContent, packageName, postProcessReferences, postProcessSupertypes);
compilationUnit.accept(visitor);
}
项目:RefDiff
文件:SDModelBuilder.java
protected void processCompilationUnit(String sourceFilePath, char[] fileContent, CompilationUnit compilationUnit, SDModel.Snapshot model) {
PackageDeclaration packageDeclaration = compilationUnit.getPackage();
String packageName = "";
if (packageDeclaration != null) {
packageName = packageDeclaration.getName().getFullyQualifiedName();
}
String packagePath = packageName.replace('.', '/');
String sourceFolder = "/";
if (sourceFilePath.contains(packagePath)) {
sourceFolder = sourceFilePath.substring(0, sourceFilePath.indexOf(packagePath));
}
SDPackage sdPackage = model.getOrCreatePackage(packageName, sourceFolder);
BindingsRecoveryAstVisitor visitor = new BindingsRecoveryAstVisitor(model, sourceFilePath, fileContent, sdPackage, postProcessReferences, postProcessSupertypes, postProcessClientCode, srbForTypes, srbForMethods, srbForAttributes);
compilationUnit.accept(visitor);
}
项目:RefDiff
文件:ASTVisitorAtomicChange.java
public boolean visit(PackageDeclaration node) {
try {
facts.add(Fact.makePackageFact(node.getName().toString()));
} catch (Exception e) {
System.err.println("Cannot resolve bindings for package "
+ node.getName().toString());
}
return false;
}
项目:hybris-commerce-eclipse-plugin
文件:CopyrightManager.java
/**
* Adds copyright header to the compilation unit
*
* @param compilationUnit
* compilation unit affected
* @return compilation unit change
*/
public CompilationUnitChange addCopyrightsHeader(final CompilationUnit compilationUnit) {
final ICompilationUnit unit = (ICompilationUnit) compilationUnit.getJavaElement();
change = new CompilationUnitChange(ADD_COPYRIGHT, unit);
rewriter = ASTRewrite.create(compilationUnit.getAST());
final ListRewrite listRewrite = rewriter.getListRewrite(compilationUnit.getPackage(),
PackageDeclaration.ANNOTATIONS_PROPERTY);
final Comment placeHolder = (Comment) rewriter.createStringPlaceholder(getCopyrightText() + NEW_LINE_SEPARATOR,
ASTNode.BLOCK_COMMENT);
listRewrite.insertFirst(placeHolder, null);
rewriteCompilationUnit(unit, getNewUnitSource(unit, null));
return change;
}
项目:hybris-commerce-eclipse-plugin
文件:CopyrightManager.java
/**
* Checks whether {@link CompilationUnit} has copyright header
*
* @param compilationUnit
* checked compilation unit
* @return true if {@link CompilationUnit} has copyright header
*/
public boolean hasCopyrightsComment(final CompilationUnit compilationUnit) {
final List<Comment> comments = getCommentList(compilationUnit);
boolean hasCopyrights = false;
if (!comments.isEmpty()) {
final PackageDeclaration packageNode = compilationUnit.getPackage();
final boolean commentBeforePackage = comments.get(0).getStartPosition() <= packageNode.getStartPosition();
final boolean hasJavaDoc = packageNode.getJavadoc() != null;
hasCopyrights = commentBeforePackage || hasJavaDoc;
}
return hasCopyrights;
}
项目:eclipse.jdt.ls
文件:JDTUtils.java
public static String getPackageName(IJavaProject javaProject, String fileContent) {
if (fileContent == null) {
return "";
}
//TODO probably not the most efficient way to get the package name as this reads the whole file;
char[] source = fileContent.toCharArray();
ASTParser parser = ASTParser.newParser(IASTSharedValues.SHARED_AST_LEVEL);
parser.setProject(javaProject);
parser.setIgnoreMethodBodies(true);
parser.setSource(source);
CompilationUnit ast = (CompilationUnit) parser.createAST(null);
PackageDeclaration pkg = ast.getPackage();
return (pkg == null || pkg.getName() == null)?"":pkg.getName().getFullyQualifiedName();
}
项目:eclipse.jdt.ls
文件:FlowAnalyzer.java
@Override
public void endVisit(PackageDeclaration node) {
if (skipNode(node)) {
return;
}
assignFlowInfo(node, node.getName());
}
项目:eclipse.jdt.ls
文件:JavadocContentAccess.java
private static Javadoc getPackageJavadocNode(IJavaElement element, String cuSource) {
CompilationUnit cu= createAST(element, cuSource);
if (cu != null) {
PackageDeclaration packDecl= cu.getPackage();
if (packDecl != null) {
return packDecl.getJavadoc();
}
}
return null;
}
项目:Ref-Finder
文件:ASTVisitorAtomicChange.java
public boolean visit(PackageDeclaration node)
{
try
{
this.facts.add(Fact.makePackageFact(node.getName().toString()));
}
catch (Exception e)
{
System.err.println("Cannot resolve bindings for package " +
node.getName().toString());
}
return false;
}
项目:Ref-Finder
文件:ASTVisitorAtomicChange.java
public boolean visit(PackageDeclaration node) {
try {
facts.add(Fact.makePackageFact(node.getName().toString()));
} catch (Exception e) {
System.err.println("Cannot resolve bindings for package "
+ node.getName().toString());
}
return false;
}
项目:Ref-Finder
文件:ASTVisitorAtomicChange.java
public boolean visit(PackageDeclaration node)
{
try
{
this.facts.add(Fact.makePackageFact(node.getName().toString()));
}
catch (Exception localException)
{
System.err.println("Cannot resolve bindings for package " +
node.getName().toString());
}
return false;
}
项目:che
文件:ReorgPolicyFactory.java
private void copyPackageDeclarationToDestination(
IPackageDeclaration declaration,
ASTRewrite targetRewrite,
CompilationUnit sourceCuNode,
CompilationUnit destinationCuNode)
throws JavaModelException {
if (destinationCuNode.getPackage() != null) return;
PackageDeclaration sourceNode =
ASTNodeSearchUtil.getPackageDeclarationNode(declaration, sourceCuNode);
PackageDeclaration copiedNode =
(PackageDeclaration) ASTNode.copySubtree(targetRewrite.getAST(), sourceNode);
targetRewrite.set(destinationCuNode, CompilationUnit.PACKAGE_PROPERTY, copiedNode, null);
}
项目:che
文件:JavadocContentAccess2.java
private static Javadoc getPackageJavadocNode(IJavaElement element, String cuSource) {
CompilationUnit cu = createAST(element, cuSource);
if (cu != null) {
PackageDeclaration packDecl = cu.getPackage();
if (packDecl != null) {
return packDecl.getJavadoc();
}
}
return null;
}
项目:compiler
文件:UglyMathCommentsExtractor.java
private final int getNodeFirstLeadingCommentIndex(final ASTNode node) {
if (node instanceof PackageDeclaration) {
if (commentsVisited.length > 0) {
final Comment comment = (Comment) comments.get(0);
if (comment.getStartPosition() + comment.getLength() <= ((PackageDeclaration) node).getName()
.getStartPosition()) {
return 0;
}
}
return -1;
} else {
return cu.firstLeadingCommentIndex(node);
}
}
项目:txtUML
文件:AbstractSourceExporter.java
@Override
public ModelId getModelOf(Class<?> element, ElementExporter elementExporter) throws ElementExportationException {
try {
Package ownPackage = element.getPackage();
if (ownPackage.getAnnotation(Model.class) != null) {
return new ModelIdImpl(ownPackage.getName());
}
String ownPackageName = ownPackage.getName();
IJavaProject javaProject = ProjectUtils.findJavaProject(elementExporter.getSourceProjectName());
Stream<ICompilationUnit> stream = PackageUtils.findAllPackageFragmentsAsStream(javaProject)
.filter(p -> ownPackageName.startsWith(p.getElementName() + "."))
.map(pf -> pf.getCompilationUnit(PackageUtils.PACKAGE_INFO)).filter(ICompilationUnit::exists);
String topPackageName = Stream.of(SharedUtils.parseICompilationUnitStream(stream, javaProject))
.map(CompilationUnit::getPackage).filter(Objects::nonNull).map(PackageDeclaration::resolveBinding)
.filter(Objects::nonNull).filter(pb -> ModelUtils.findModelNameInTopPackage(pb).isPresent())
.map(IPackageBinding::getName).findFirst().get();
return new ModelIdImpl(topPackageName);
} catch (NotFoundException | JavaModelException | IOException | NoSuchElementException e) {
e.printStackTrace();
throw new ElementExportationException();
}
}