Package edu.umd.cs.findbugs.ba.bcp
Class PatternElementMatch
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.bcp.PatternElementMatch
-
public class PatternElementMatch extends java.lang.ObjectPatternElementMatch represents matching a PatternElement against a single instruction. The "prev" field points to the previous PatternElementMatch. By building up sequences of PatternElementMatch objects in this way, we can implement nondeterministic matching without having to copy anything.
-
-
Constructor Summary
Constructors Constructor Description PatternElementMatch(PatternElement patternElement, org.apache.bcel.generic.InstructionHandle matchedInstruction, BasicBlock basicBlock, int matchCount, PatternElementMatch prev)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanallowTrailingEdges()Return whether or not the most recently matched instruction allows trailing edges.booleanequals(java.lang.Object o)BasicBlockgetBasicBlock()Get the basic block containing the matched instruction.PatternElementMatchgetFirstLabeledMatch(java.lang.String label)Get first match element with given label, if any.org.apache.bcel.generic.InstructionHandlegetLabeledInstruction(java.lang.String label)Get the first instruction matched by the PatternElement with given label.PatternElementMatchgetLastLabeledMatch(java.lang.String label)Get last match element with given label, if any.intgetMatchCount()org.apache.bcel.generic.InstructionHandlegetMatchedInstructionInstructionHandle()Get the matched instruction.PatternElementgetPatternElement()Get the PatternElement.PatternElementMatchgetPrev()Get the previous PatternMatchElement.inthashCode()java.lang.StringtoString()
-
-
-
Constructor Detail
-
PatternElementMatch
public PatternElementMatch(PatternElement patternElement, org.apache.bcel.generic.InstructionHandle matchedInstruction, BasicBlock basicBlock, int matchCount, PatternElementMatch prev)
Constructor.- Parameters:
patternElement- the PatternElement being matchedmatchedInstruction- the instruction which matched the PatternElementbasicBlock- the basic block containing the matched instructionmatchCount- the index (starting at zero) of the instructions matching the PatternElement; multiple instructions can match the same PatternElementprev- the previous PatternElementMatch
-
-
Method Detail
-
getPatternElement
public PatternElement getPatternElement()
Get the PatternElement.
-
getMatchedInstructionInstructionHandle
public org.apache.bcel.generic.InstructionHandle getMatchedInstructionInstructionHandle()
Get the matched instruction.
-
getBasicBlock
public BasicBlock getBasicBlock()
Get the basic block containing the matched instruction.
-
getMatchCount
public int getMatchCount()
-
getPrev
public PatternElementMatch getPrev()
Get the previous PatternMatchElement.
-
getLabeledInstruction
public org.apache.bcel.generic.InstructionHandle getLabeledInstruction(java.lang.String label)
Get the first instruction matched by the PatternElement with given label.
-
getFirstLabeledMatch
public PatternElementMatch getFirstLabeledMatch(java.lang.String label)
Get first match element with given label, if any.
-
getLastLabeledMatch
public PatternElementMatch getLastLabeledMatch(java.lang.String label)
Get last match element with given label, if any.
-
allowTrailingEdges
public boolean allowTrailingEdges()
Return whether or not the most recently matched instruction allows trailing edges.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
-