Class IFDSTaintDomain<E extends ISSABasicBlock>
java.lang.Object
org.scandroid.domain.IFDSTaintDomain<E>
- All Implemented Interfaces:
TabulationDomain<DomainElement, BasicBlockInContext<E>>, OrdinalSetMapping<DomainElement>, Iterable<DomainElement>
public class IFDSTaintDomain<E extends ISSABasicBlock>
extends Object
implements TabulationDomain<DomainElement, BasicBlockInContext<E>>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintadd(DomainElement o) Add an Object to the set of mapped objects.intgetMappedObject(int n) intgetPossibleElements(CodeElement codeElement) intgetSize()booleanbooleanhasPriorityOver(PathEdge<BasicBlockInContext<E>> p1, PathEdge<BasicBlockInContext<E>> p2) returnstrueif p1 should be processed before p2 by theTabulationSolveriterator()stream()Stream over mapped objects.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Iterable
forEach, spliterator
-
Constructor Details
-
IFDSTaintDomain
public IFDSTaintDomain()
-
-
Method Details
-
getPossibleElements
-
add
Description copied from interface:OrdinalSetMappingAdd an Object to the set of mapped objects.- Specified by:
addin interfaceOrdinalSetMapping<E extends ISSABasicBlock>- Returns:
- the integer to which the object is mapped.
-
getMappedIndex
- Specified by:
getMappedIndexin interfaceOrdinalSetMapping<E extends ISSABasicBlock>- Returns:
- the number of a given object, or -1 if the object is not currently in the range.
-
hasPriorityOver
public boolean hasPriorityOver(PathEdge<BasicBlockInContext<E>> p1, PathEdge<BasicBlockInContext<E>> p2) Description copied from interface:TabulationDomainreturnstrueif p1 should be processed before p2 by theTabulationSolverFor example, if this domain supports a partial order on facts, return true if p1.d2 is weaker than p2.d2 (intuitively p1.d2 meet p2.d2 = p1.d2)
return false otherwise
- Specified by:
hasPriorityOverin interfaceTabulationDomain<DomainElement, BasicBlockInContext<E extends ISSABasicBlock>>
-
getMappedObject
- Specified by:
getMappedObjectin interfaceOrdinalSetMapping<E extends ISSABasicBlock>- Returns:
- the object numbered n.
-
getMaximumIndex
public int getMaximumIndex()- Specified by:
getMaximumIndexin interfaceOrdinalSetMapping<E extends ISSABasicBlock>- Returns:
- the maximum integer mapped to an object
-
getSize
public int getSize()- Specified by:
getSizein interfaceOrdinalSetMapping<E extends ISSABasicBlock>- Returns:
- the current size of the bijection
-
hasMappedIndex
- Specified by:
hasMappedIndexin interfaceOrdinalSetMapping<E extends ISSABasicBlock>- Returns:
- whether the given object is mapped by this mapping
-
iterator
- Specified by:
iteratorin interfaceIterable<E extends ISSABasicBlock>
-
stream
Description copied from interface:OrdinalSetMappingStream over mapped objects.- Specified by:
streamin interfaceOrdinalSetMapping<E extends ISSABasicBlock>- Returns:
- a stream over the mapped objects
-
codeElements
-