soot.tagkit
Interface Host

All Known Subinterfaces:
AddInst, AndInst, ArrayLengthInst, ArrayReadInst, ArrayWriteInst, AssignStmt, BreakpointStmt, CmpgInst, CmpInst, CmplInst, DefinitionStmt, DivInst, Dup1_x1Inst, Dup1_x2Inst, Dup1Inst, Dup2_x1Inst, Dup2_x2Inst, Dup2Inst, DupInst, DynamicInvokeInst, EnterMonitorInst, EnterMonitorStmt, ExitMonitorInst, ExitMonitorStmt, FieldArgInst, FieldGetInst, FieldPutInst, GotoInst, GotoStmt, IdentityInst, IdentityStmt, IdentityUnit, IfCmpEqInst, IfCmpGeInst, IfCmpGtInst, IfCmpLeInst, IfCmpLtInst, IfCmpNeInst, IfEqInst, IfGeInst, IfGtInst, IfLeInst, IfLtInst, IfNeInst, IfNonNullInst, IfNullInst, IfStmt, IncInst, Inst, InstanceCastInst, InstanceOfInst, InterfaceInvokeInst, InvokeStmt, JSRInst, LoadInst, LookupSwitchInst, LookupSwitchStmt, MethodArgInst, MonitorStmt, MulInst, NegInst, NewArrayInst, NewInst, NewMultiArrayInst, NoArgInst, NopInst, NopStmt, OpTypeArgInst, OrInst, PopInst, PrimitiveCastInst, PushInst, RemInst, RetInst, RetStmt, ReturnInst, ReturnStmt, ReturnVoidInst, ReturnVoidStmt, ShlInst, ShrInst, SpecialInvokeInst, StaticGetInst, StaticInvokeInst, StaticPutInst, Stmt, StoreInst, SubInst, SwapInst, TableSwitchInst, TableSwitchStmt, TargetArgInst, ThrowInst, ThrowStmt, Unit, UshrInst, ValueBox, VirtualInvokeInst, XorInst
All Known Implementing Classes:
AbstractBranchInst, AbstractDefinitionStmt, AbstractHost, AbstractInst, AbstractOpTypeBranchInst, AbstractOpTypeInst, AbstractRefTypeInst, AbstractStmt, AbstractUnit, AbstractValueBox, ASTControlFlowNode, ASTDoWhileNode, ASTForLoopNode, ASTIfElseNode, ASTIfNode, ASTLabeledBlockNode, ASTLabeledNode, ASTMethodNode, ASTNode, ASTStatementSequenceNode, ASTSwitchNode, ASTSynchronizedBlockNode, ASTTryNode, ASTUnconditionalLoopNode, ASTWhileNode, BAddInst, BafBody, BafLocalBox, BAndInst, BArrayLengthInst, BArrayReadInst, BArrayWriteInst, BCmpgInst, BCmpInst, BCmplInst, BDivInst, BDup1_x1Inst, BDup1_x2Inst, BDup1Inst, BDup2_x1Inst, BDup2_x2Inst, BDup2Inst, BDupInst, BDynamicInvokeInst, BeginStmt, BEnterMonitorInst, BExitMonitorInst, BFieldGetInst, BFieldPutInst, BGotoInst, BIdentityInst, BIfCmpEqInst, BIfCmpGeInst, BIfCmpGtInst, BIfCmpLeInst, BIfCmpLtInst, BIfCmpNeInst, BIfEqInst, BIfGeInst, BIfGtInst, BIfLeInst, BIfLtInst, BIfNeInst, BIfNonNullInst, BIfNullInst, BIncInst, BInstanceCastInst, BInstanceOfInst, BInterfaceInvokeInst, BJSRInst, BLoadInst, BLookupSwitchInst, BMulInst, BNegInst, BNewArrayInst, BNewInst, BNewMultiArrayInst, BNopInst, Body, BOrInst, BPopInst, BPrimitiveCastInst, BPushInst, BRemInst, BReturnInst, BReturnVoidInst, BShlInst, BShrInst, BSpecialInvokeInst, BStaticGetInst, BStaticInvokeInst, BStaticPutInst, BStoreInst, BSubInst, BSwapInst, BTableSwitchInst, BThrowInst, BUshrInst, BVirtualInvokeInst, BXorInst, ConditionExprBox, DAbruptStmt, DArrayInitValueBox, DAssignStmt, DavaBody, DDecrementStmt, DIdentityStmt, DIncrementStmt, DShortcutAssignStmt, DVariableDeclarationStmt, ExprBox, GAssignStmt, GEnterMonitorStmt, GExitMonitorStmt, GIdentityStmt, GIfStmt, GInvokeStmt, GLookupSwitchStmt, GReturnStmt, GrimpBody, GRValueBox, GTableSwitchStmt, GThrowStmt, IdentityRefBox, ImmediateBox, InvokeExprBox, JAssignStmt, JBreakpointStmt, JEnterMonitorStmt, JExitMonitorStmt, JGotoStmt, JIdentityStmt, JIfStmt, JimpleBody, JimpleLocalBox, JInvokeStmt, JLookupSwitchStmt, JNopStmt, JoinStmt, JPegStmt, JRetStmt, JReturnStmt, JReturnVoidStmt, JTableSwitchStmt, JThrowStmt, MonitorEntryStmt, MonitorExitStmt, NotifiedEntryStmt, NotifyAllStmt, NotifyStmt, ObjExprBox, OtherStmt, PlaceholderInst, PlaceholderStmt, RValueBox, ShimpleBody, SootClass, SootField, SootMethod, StartStmt, StmtBody, SValueUnitPair, ValueUnitPair, VariableBox, WaitingStmt, WaitStmt

public interface Host

A "taggable" object. Implementing classes can have arbitrary labelled data attached to them. Currently, only classes, fields, methods and the Scene are Hosts. One example of a tag would be to store Boolean values, associated with array accesses, indicating whether bounds checks can be omitted.

See Also:
Tag

Method Summary
 void addAllTagsOf(Host h)
          Adds all the tags from h to this host.
 void addTag(Tag t)
          Adds a tag.
 Tag getTag(String aName)
          Returns the tag with the given name.
 List<Tag> getTags()
          Gets a list of tags associated with the current object.
 boolean hasTag(String aName)
          Returns true if this host has a tag with the given name.
 void removeAllTags()
          Removes all the tags from this host.
 void removeTag(String name)
          Removes the first tag with the given name.
 

Method Detail

getTags

List<Tag> getTags()
Gets a list of tags associated with the current object.


getTag

Tag getTag(String aName)
Returns the tag with the given name.


addTag

void addTag(Tag t)
Adds a tag.


removeTag

void removeTag(String name)
Removes the first tag with the given name.


hasTag

boolean hasTag(String aName)
Returns true if this host has a tag with the given name.


removeAllTags

void removeAllTags()
Removes all the tags from this host.


addAllTagsOf

void addAllTagsOf(Host h)
Adds all the tags from h to this host.