当前位置: 首页>>代码示例>>Java>>正文


Java VisibilityAnnotationTag.addAnnotation方法代码示例

本文整理汇总了Java中soot.tagkit.VisibilityAnnotationTag.addAnnotation方法的典型用法代码示例。如果您正苦于以下问题:Java VisibilityAnnotationTag.addAnnotation方法的具体用法?Java VisibilityAnnotationTag.addAnnotation怎么用?Java VisibilityAnnotationTag.addAnnotation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在soot.tagkit.VisibilityAnnotationTag的用法示例。


在下文中一共展示了VisibilityAnnotationTag.addAnnotation方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: visitAnnotation

import soot.tagkit.VisibilityAnnotationTag; //导入方法依赖的package包/类
/**
 * @see FieldVisitor#visitAnnotation(String, boolean)
 * @see MethodVisitor#visitAnnotation(String, boolean)
 * @see ClassVisitor#visitAnnotation(String, boolean)
 */
public AnnotationVisitor visitAnnotation(final String desc, boolean visible) {
	VisibilityAnnotationTag tag;
	if (visible) {
		tag = visibleTag;
		if (tag == null) {
			visibleTag = tag = new VisibilityAnnotationTag(AnnotationConstants.RUNTIME_VISIBLE);
			host.addTag(tag);
		}
	} else {
		tag = invisibleTag;
		if (tag == null) {
			invisibleTag = tag = new VisibilityAnnotationTag(AnnotationConstants.RUNTIME_INVISIBLE);
			host.addTag(tag);
		}
	}
	scb.addDep(AsmUtil.toQualifiedName(desc.substring(1, desc.length() - 1)));
	final VisibilityAnnotationTag _tag = tag;
	return new AnnotationElemBuilder() {
		@Override
		public void visitEnd() {
			AnnotationTag annotTag = new AnnotationTag(desc, elems);
			_tag.addAnnotation(annotTag);
		}
	};
}
 
开发者ID:flankerhqd,项目名称:JAADAS,代码行数:31,代码来源:TagBuilder.java

示例2: annotate

import soot.tagkit.VisibilityAnnotationTag; //导入方法依赖的package包/类
/**
 * Applies a Java 1.5-style annotation to a given Host. The Host must be of type {@link SootClass}, {@link SootMethod}
 * or {@link SootField}.
 * 
 * @param h a method, field, or class
 * @param annotationName the qualified name of the annotation class
 * @param visibility any of the constants in {@link AnnotationConstants}
 * @param elems a (possibly empty) sequence of AnnotationElem objects corresponding to the elements that should be contained in this annotation
 */
public void annotate(Host h, String annotationName, int visibility, List<AnnotationElem> elems) {
	annotationName = annotationName.replace('.','/');
	if(!annotationName.endsWith(";"))
		annotationName = "L" + annotationName + ';';
	VisibilityAnnotationTag tagToAdd = findOrAdd(h, visibility);
	AnnotationTag at = new AnnotationTag(annotationName, elems);
	tagToAdd.addAnnotation(at);
}
 
开发者ID:flankerhqd,项目名称:JAADAS,代码行数:18,代码来源:AnnotationGenerator.java


注:本文中的soot.tagkit.VisibilityAnnotationTag.addAnnotation方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。