|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.asm.ClassAdapter
net.sf.daileon.notsupported.AbstractAnnotationsReplacerBase
abstract class AbstractAnnotationsReplacerBase
The AbstractAnnotationsReplacerBase
class is responsible for
organizing the elements and their annotations, as well as their domain
annotations.
Field Summary | |
---|---|
private Map<ElementRoot,Set<String>> |
domainAnnotations
Keeps the elements and their domain annotations |
private Map<ElementRoot,org.objectweb.asm.attrs.RuntimeVisibleAnnotations> |
elementsMap
Keeps the elements and their annotations |
Fields inherited from class org.objectweb.asm.ClassAdapter |
---|
cv |
Constructor Summary | |
---|---|
AbstractAnnotationsReplacerBase(org.objectweb.asm.ClassVisitor visitor)
Class constructor. |
Method Summary | |
---|---|
(package private) void |
addDomainAnnotation(ElementRoot element,
String annotation)
Associates the name of a domain annotation to a particular element. |
(package private) void |
addElementAnnotations(ElementRoot element,
org.objectweb.asm.attrs.RuntimeVisibleAnnotations annotations)
Associates annotations to a particular element. |
(package private) void |
handleElement(ElementRoot element)
Organizes the elements and their annotations. |
protected abstract boolean |
keepDomainAnnotations()
Informs whether the domain annotations should be either kept or not in the final bytecode. |
Methods inherited from class org.objectweb.asm.ClassAdapter |
---|
visit, visitAttribute, visitEnd, visitField, visitInnerClass, visitMethod |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private Map<ElementRoot,org.objectweb.asm.attrs.RuntimeVisibleAnnotations> elementsMap
private Map<ElementRoot,Set<String>> domainAnnotations
Constructor Detail |
---|
AbstractAnnotationsReplacerBase(org.objectweb.asm.ClassVisitor visitor)
visitor
- The ClassVisitor object, provided by the
ClassTransformer.transform(String, String)
method.Method Detail |
---|
protected abstract boolean keepDomainAnnotations()
boolean
value that can be:
true
if the domain annotations should be kept in
the final bytecode;
false
if the domain annotations should not be
kept in the final bytecode.
void addDomainAnnotation(ElementRoot element, String annotation)
element
- The element which the domain annotation is associated to.annotation
- The name of the domain annotation.void addElementAnnotations(ElementRoot element, org.objectweb.asm.attrs.RuntimeVisibleAnnotations annotations)
element
- The element which the annotations are associated to.annotations
- The RuntimeVisibleAnnotations object, containing the
annotations to be associated with the element.void handleElement(ElementRoot element) throws DuplicateAnnotationException
Map
that associates
elements with domain annotations. After that, it verifies if two or more
domain annotations evaluate to the same annotation. If so, a
DuplicateAnnotationException
is thrown.
element
- The element to have its annotations organized.
DuplicateAnnotationException
- If two or more domain annotations evaluate to the same
annotation.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |