本文整理汇总了Java中org.eclipse.jdt.internal.compiler.ast.MarkerAnnotation类的典型用法代码示例。如果您正苦于以下问题:Java MarkerAnnotation类的具体用法?Java MarkerAnnotation怎么用?Java MarkerAnnotation使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MarkerAnnotation类属于org.eclipse.jdt.internal.compiler.ast包,在下文中一共展示了MarkerAnnotation类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: generateDeprecatedAnnotation
import org.eclipse.jdt.internal.compiler.ast.MarkerAnnotation; //导入依赖的package包/类
public static MarkerAnnotation generateDeprecatedAnnotation(ASTNode source) {
QualifiedTypeReference qtr = new QualifiedTypeReference(new char[][] {
{'j', 'a', 'v', 'a'}, {'l', 'a', 'n', 'g'}, {'D', 'e', 'p', 'r', 'e', 'c', 'a', 't', 'e', 'd'}}, poss(source, 3));
setGeneratedBy(qtr, source);
MarkerAnnotation ma = new MarkerAnnotation(qtr, source.sourceStart);
// No matter what value you input for sourceEnd, the AST->DOM converter of eclipse will reparse to find the end, and will fail as
// it can't find code that isn't really there. This results in the end position being set to 2 or 0 or some weird magic value, and thus,
// length, as calculated by end-start, is all screwed up, resulting in IllegalArgumentException during a setSourceRange call MUCH later in the process.
// We solve it by going with a voodoo magic source start value such that the calculated length so happens to exactly be 0. 0 lengths are accepted
// by eclipse. For some reason.
// TL;DR: Don't change 1. 1 is sacred. Trust the 1.
// issue: #408.
ma.sourceStart = 1;
setGeneratedBy(ma, source);
return ma;
}
示例2: makeMarkerAnnotation
import org.eclipse.jdt.internal.compiler.ast.MarkerAnnotation; //导入依赖的package包/类
/**
* Create an annotation of the given name, and is marked as being generated by the given source.
*/
public static MarkerAnnotation makeMarkerAnnotation(char[][] name, ASTNode source) {
long pos = (long)source.sourceStart << 32 | source.sourceEnd;
TypeReference typeRef = new QualifiedTypeReference(name, new long[] {pos, pos, pos});
setGeneratedBy(typeRef, source);
MarkerAnnotation ann = new MarkerAnnotation(typeRef, (int)(pos >> 32));
ann.declarationSourceEnd = ann.sourceEnd = ann.statementEnd = (int)pos;
setGeneratedBy(ann, source);
return ann;
}
示例3: visit
import org.eclipse.jdt.internal.compiler.ast.MarkerAnnotation; //导入依赖的package包/类
public boolean visit(MarkerAnnotation annotation, BlockScope scope) {
this.scribe.printNextToken(TerminalTokens.TokenNameAT);
if (this.preferences.insert_space_after_at_in_annotation) {
this.scribe.space();
}
this.scribe.printQualifiedReference(annotation.sourceEnd, false/*do not expect parenthesis*/);
return false;
}
示例4: visit
import org.eclipse.jdt.internal.compiler.ast.MarkerAnnotation; //导入依赖的package包/类
@Override public boolean visit(MarkerAnnotation node, BlockScope scope) {
fixPositions(setGeneratedBy(node, source));
return super.visit(node, scope);
}
示例5: visit
import org.eclipse.jdt.internal.compiler.ast.MarkerAnnotation; //导入依赖的package包/类
@Override
public boolean visit(MarkerAnnotation annotation, BlockScope scope) {
return false;
}
示例6: visit
import org.eclipse.jdt.internal.compiler.ast.MarkerAnnotation; //导入依赖的package包/类
@Override public boolean visit(MarkerAnnotation node, BlockScope scope) {
setGeneratedBy(node, source);
applyOffset(node);
return super.visit(node, scope);
}