类org.eclipse.jdt.core.dom.AnnotationTypeDeclaration源码实例Demo

下面列出了怎么用org.eclipse.jdt.core.dom.AnnotationTypeDeclaration的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: eclipse.jdt.ls   文件: ModifierRewrite.java
private ListRewrite evaluateListRewrite(ASTRewrite rewrite, ASTNode declNode) {
	switch (declNode.getNodeType()) {
		case ASTNode.METHOD_DECLARATION:
			return rewrite.getListRewrite(declNode, MethodDeclaration.MODIFIERS2_PROPERTY);
		case ASTNode.FIELD_DECLARATION:
			return rewrite.getListRewrite(declNode, FieldDeclaration.MODIFIERS2_PROPERTY);
		case ASTNode.VARIABLE_DECLARATION_EXPRESSION:
			return rewrite.getListRewrite(declNode, VariableDeclarationExpression.MODIFIERS2_PROPERTY);
		case ASTNode.VARIABLE_DECLARATION_STATEMENT:
			return rewrite.getListRewrite(declNode, VariableDeclarationStatement.MODIFIERS2_PROPERTY);
		case ASTNode.SINGLE_VARIABLE_DECLARATION:
			return rewrite.getListRewrite(declNode, SingleVariableDeclaration.MODIFIERS2_PROPERTY);
		case ASTNode.TYPE_DECLARATION:
			return rewrite.getListRewrite(declNode, TypeDeclaration.MODIFIERS2_PROPERTY);
		case ASTNode.ENUM_DECLARATION:
			return rewrite.getListRewrite(declNode, EnumDeclaration.MODIFIERS2_PROPERTY);
		case ASTNode.ANNOTATION_TYPE_DECLARATION:
			return rewrite.getListRewrite(declNode, AnnotationTypeDeclaration.MODIFIERS2_PROPERTY);
		case ASTNode.ENUM_CONSTANT_DECLARATION:
			return rewrite.getListRewrite(declNode, EnumConstantDeclaration.MODIFIERS2_PROPERTY);
		case ASTNode.ANNOTATION_TYPE_MEMBER_DECLARATION:
			return rewrite.getListRewrite(declNode, AnnotationTypeMemberDeclaration.MODIFIERS2_PROPERTY);
		default:
			throw new IllegalArgumentException("node has no modifiers: " + declNode.getClass().getName()); //$NON-NLS-1$
	}
}
 
源代码2 项目: xtext-xtend   文件: JavaASTFlattener.java
/**
 * Start self Converted part
 */
@Override
public boolean visit(final AnnotationTypeDeclaration node) {
  Javadoc _javadoc = node.getJavadoc();
  boolean _tripleNotEquals = (_javadoc != null);
  if (_tripleNotEquals) {
    node.getJavadoc().accept(this);
  }
  this.appendModifiers(node, node.modifiers());
  this.appendToBuffer("annotation ");
  node.getName().accept(this);
  this.appendToBuffer(" {");
  this.appendLineWrapToBuffer();
  this.visitAll(node.bodyDeclarations());
  this.appendToBuffer("}");
  return false;
}
 
private ListRewrite evaluateListRewrite(ASTRewrite rewrite, ASTNode declNode) {
	switch (declNode.getNodeType()) {
		case ASTNode.METHOD_DECLARATION:
			return rewrite.getListRewrite(declNode, MethodDeclaration.MODIFIERS2_PROPERTY);
		case ASTNode.FIELD_DECLARATION:
			return rewrite.getListRewrite(declNode, FieldDeclaration.MODIFIERS2_PROPERTY);
		case ASTNode.VARIABLE_DECLARATION_EXPRESSION:
			return rewrite.getListRewrite(declNode, VariableDeclarationExpression.MODIFIERS2_PROPERTY);
		case ASTNode.VARIABLE_DECLARATION_STATEMENT:
			return rewrite.getListRewrite(declNode, VariableDeclarationStatement.MODIFIERS2_PROPERTY);
		case ASTNode.SINGLE_VARIABLE_DECLARATION:
			return rewrite.getListRewrite(declNode, SingleVariableDeclaration.MODIFIERS2_PROPERTY);
		case ASTNode.TYPE_DECLARATION:
			return rewrite.getListRewrite(declNode, TypeDeclaration.MODIFIERS2_PROPERTY);
		case ASTNode.ENUM_DECLARATION:
			return rewrite.getListRewrite(declNode, EnumDeclaration.MODIFIERS2_PROPERTY);
		case ASTNode.ANNOTATION_TYPE_DECLARATION:
			return rewrite.getListRewrite(declNode, AnnotationTypeDeclaration.MODIFIERS2_PROPERTY);
		case ASTNode.ENUM_CONSTANT_DECLARATION:
			return rewrite.getListRewrite(declNode, EnumConstantDeclaration.MODIFIERS2_PROPERTY);
		case ASTNode.ANNOTATION_TYPE_MEMBER_DECLARATION:
			return rewrite.getListRewrite(declNode, AnnotationTypeMemberDeclaration.MODIFIERS2_PROPERTY);
		default:
			throw new IllegalArgumentException("node has no modifiers: " + declNode.getClass().getName()); //$NON-NLS-1$
	}
}
 
源代码4 项目: repositoryminer   文件: FileVisitor.java
@Override
public boolean visit(AnnotationTypeDeclaration node) {
	AbstractAnnotation absAnnotation = new AbstractAnnotation();
	
	if (packageName != null) {
		absAnnotation.setName(packageName+'.'+node.getName().getFullyQualifiedName());
	} else {
		absAnnotation.setName(node.getName().getFullyQualifiedName());
	}

	TypeVisitor visitor = new TypeVisitor();
	node.accept(visitor);
	
	absAnnotation.setMethods(visitor.getMethods());
	absAnnotation.setFields(visitor.getFields());
	absAnnotation.setStartPosition(node.getStartPosition());
	absAnnotation.setEndPosition(node.getStartPosition() + node.getLength() - 1);
	absAnnotation.setMembers(visitor.getAnnotationMembers());
	
	types.add(absAnnotation);
	return true;
}
 
源代码5 项目: eclipse.jdt.ls   文件: SnippetFinder.java
@Override
public boolean visit(AnnotationTypeDeclaration node) {
	if (++fTypes > 1) {
		return false;
	}
	return super.visit(node);
}
 
源代码6 项目: eclipse.jdt.ls   文件: FlowAnalyzer.java
@Override
public void endVisit(AnnotationTypeDeclaration node) {
	if (skipNode(node)) {
		return;
	}
	GenericSequentialFlowInfo info = processSequential(node, node.bodyDeclarations());
	info.setNoReturn();
}
 
@Override
public boolean visit(AnnotationTypeDeclaration node) {
	// Don't dive into a local type.
	if (node.isLocalTypeDeclaration()) {
		return false;
	}
	return true;
}
 
@Override
protected ASTRewrite getRewrite() throws CoreException {
	CompilationUnit astRoot= ASTResolving.findParentCompilationUnit(fInvocationNode);
	ASTNode typeDecl= astRoot.findDeclaringNode(fSenderBinding);
	ASTNode newTypeDecl= null;
	if (typeDecl != null) {
		newTypeDecl= typeDecl;
	} else {
		astRoot= ASTResolving.createQuickFixAST(getCompilationUnit(), null);
		newTypeDecl= astRoot.findDeclaringNode(fSenderBinding.getKey());
	}
	createImportRewrite(astRoot);

	if (newTypeDecl instanceof AnnotationTypeDeclaration) {
		AnnotationTypeDeclaration newAnnotationTypeDecl= (AnnotationTypeDeclaration) newTypeDecl;

		ASTRewrite rewrite= ASTRewrite.create(astRoot.getAST());

		AnnotationTypeMemberDeclaration newStub= getStub(rewrite, newAnnotationTypeDecl);

		List<BodyDeclaration> members= newAnnotationTypeDecl.bodyDeclarations();
		int insertIndex= members.size();

		ListRewrite listRewriter= rewrite.getListRewrite(newAnnotationTypeDecl, AnnotationTypeDeclaration.BODY_DECLARATIONS_PROPERTY);
		listRewriter.insertAt(newStub, insertIndex, null);

		return rewrite;
	}
	return null;
}
 
private int evaluateModifiers(AnnotationTypeDeclaration targetTypeDecl) {
	List<BodyDeclaration> methodDecls= targetTypeDecl.bodyDeclarations();
	for (int i= 0; i < methodDecls.size(); i++) {
		Object curr= methodDecls.get(i);
		if (curr instanceof AnnotationTypeMemberDeclaration) {
			return ((AnnotationTypeMemberDeclaration) curr).getModifiers();
		}
	}
	return 0;
}
 
源代码10 项目: jdt2famix   文件: AstVisitor.java
@Override
public boolean visit(AnnotationTypeDeclaration node) {
	ITypeBinding binding = node.resolveBinding();
	if (binding == null) {
		logNullBinding("annotation type declaration", node.getName(),
				((CompilationUnit) node.getRoot()).getLineNumber(node.getStartPosition()));
		return false;
	}
	Type type = importer.ensureTypeFromTypeBinding(binding);
	type.setIsStub(false);
	importer.createSourceAnchor(type, node);
	importer.pushOnContainerStack(type);
	importer.ensureCommentFromBodyDeclaration(type, node);
	return true;
}
 
@Override
public void endVisit(AnnotationTypeDeclaration node) {
	if (skipNode(node))
		return;
	GenericSequentialFlowInfo info= processSequential(node, node.bodyDeclarations());
	info.setNoReturn();
}
 
@Override
public boolean visit(AnnotationTypeDeclaration node) {
	// Don't dive into a local type.
	if (node.isLocalTypeDeclaration())
		return false;
	return true;
}
 
@Override
protected ASTRewrite getRewrite() throws CoreException {
	CompilationUnit astRoot= ASTResolving.findParentCompilationUnit(fInvocationNode);
	ASTNode typeDecl= astRoot.findDeclaringNode(fSenderBinding);
	ASTNode newTypeDecl= null;
	if (typeDecl != null) {
		newTypeDecl= typeDecl;
	} else {
		astRoot= ASTResolving.createQuickFixAST(getCompilationUnit(), null);
		newTypeDecl= astRoot.findDeclaringNode(fSenderBinding.getKey());
	}
	createImportRewrite(astRoot);

	if (newTypeDecl instanceof AnnotationTypeDeclaration) {
		AnnotationTypeDeclaration newAnnotationTypeDecl= (AnnotationTypeDeclaration) newTypeDecl;
		
		ASTRewrite rewrite= ASTRewrite.create(astRoot.getAST());

		AnnotationTypeMemberDeclaration newStub= getStub(rewrite, newAnnotationTypeDecl);

		List<BodyDeclaration> members= newAnnotationTypeDecl.bodyDeclarations();
		int insertIndex= members.size();

		ListRewrite listRewriter= rewrite.getListRewrite(newAnnotationTypeDecl, AnnotationTypeDeclaration.BODY_DECLARATIONS_PROPERTY);
		listRewriter.insertAt(newStub, insertIndex, null);

		return rewrite;
	}
	return null;
}
 
private int evaluateModifiers(AnnotationTypeDeclaration targetTypeDecl) {
	List<BodyDeclaration> methodDecls= targetTypeDecl.bodyDeclarations();
	for (int i= 0; i < methodDecls.size(); i++) {
		Object curr= methodDecls.get(i);
		if (curr instanceof AnnotationTypeMemberDeclaration) {
			return ((AnnotationTypeMemberDeclaration) curr).getModifiers();
		}
	}
	return 0;
}
 
final ASTNode getBodyContainer(CompilationUnit root, IMember parent) throws JavaModelException {
	ISourceRange sourceRange= parent.getNameRange();
	ASTNode parentNode= NodeFinder.perform(root, sourceRange);
	do {
		if (parentNode instanceof TypeDeclaration || parentNode instanceof EnumDeclaration || parentNode instanceof AnnotationTypeDeclaration)
			return parentNode;
		parentNode= parentNode.getParent();
	} while (parentNode != null);
	return null;
}
 
protected StructuralPropertyDescriptor getChildPropertyDescriptor(ASTNode parent) {
	switch (parent.getNodeType()) {
		case ASTNode.COMPILATION_UNIT:
			return CompilationUnit.TYPES_PROPERTY;
		case ASTNode.ENUM_DECLARATION:
			return EnumDeclaration.BODY_DECLARATIONS_PROPERTY;
		case ASTNode.ANNOTATION_TYPE_DECLARATION:
			return AnnotationTypeDeclaration.BODY_DECLARATIONS_PROPERTY;
		default:
			return TypeDeclaration.BODY_DECLARATIONS_PROPERTY;
	}
}
 
@Override
public boolean visit(AnnotationTypeDeclaration node) {
	visitType(node);
	return true;
}
 
源代码18 项目: eclipse.jdt.ls   文件: JdtFlags.java
private static boolean isInterfaceOrAnnotation(ASTNode node) {
	boolean isInterface= (node instanceof TypeDeclaration) && ((TypeDeclaration) node).isInterface();
	boolean isAnnotation= node instanceof AnnotationTypeDeclaration;
	return isInterface || isAnnotation;
}
 
源代码19 项目: eclipse.jdt.ls   文件: ASTNodeSearchUtil.java
public static AnnotationTypeDeclaration getAnnotationTypeDeclarationNode(IType iType, CompilationUnit cuNode) throws JavaModelException {
	return ASTNodes.getParent(getNameNode(iType, cuNode), AnnotationTypeDeclaration.class);
}
 
源代码20 项目: eclipse.jdt.ls   文件: SnippetFinder.java
@Override
public void endVisit(AnnotationTypeDeclaration node) {
	--fTypes;
	super.endVisit(node);
}
 
源代码21 项目: eclipse.jdt.ls   文件: LocalTypeAnalyzer.java
@Override
public boolean visit(AnnotationTypeDeclaration node) {
	return visitType(node);
}
 
源代码22 项目: eclipse.jdt.ls   文件: ExtractMethodAnalyzer.java
boolean isValidDestination(ASTNode node) {
	boolean isInterface = node instanceof TypeDeclaration && ((TypeDeclaration) node).isInterface();
	return !(node instanceof AnnotationTypeDeclaration) && !(isInterface && !JavaModelUtil.is18OrHigher(fCUnit.getJavaProject()));
}
 
源代码23 项目: eclipse.jdt.ls   文件: ExtractMethodRefactoring.java
@Override
public boolean visit(AnnotationTypeDeclaration node) {
	return visitType(node);
}
 
源代码24 项目: eclipse.jdt.ls   文件: ReturnTypeSubProcessor.java
@Override
public boolean visit(AnnotationTypeDeclaration node) {
	return false;
}
 
源代码25 项目: jdt2famix   文件: AstVisitor.java
@Override
public void endVisit(AnnotationTypeDeclaration node) {
	if (importer.topOfContainerStack() instanceof AnnotationType)
		importer.popFromContainerStack();
}
 
@Override
public boolean visit(AnnotationTypeDeclaration node) {
	if (isMovedMember(node.resolveBinding()))
		return false;
	return super.visit(node);
}
 
@Override
public boolean visit(AnnotationTypeDeclaration node) {
	fDefined.add(node.resolveBinding());
	return true;
}
 
@Override
public final boolean visit(final AnnotationTypeDeclaration node) {
	return false;
}
 
@Override
public final boolean visit(final AnnotationTypeDeclaration node) {
	return false;
}
 
public static AnnotationTypeDeclaration getAnnotationTypeDeclarationNode(IType iType, CompilationUnit cuNode) throws JavaModelException {
	return (AnnotationTypeDeclaration) ASTNodes.getParent(getNameNode(iType, cuNode), AnnotationTypeDeclaration.class);
}
 
 类所在包
 类方法
 同包方法