Class StructuredAssert
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractStructuredStatement
org.benf.cfr.reader.bytecode.analysis.structured.statement.StructuredAssert
- All Implemented Interfaces:
HasByteCodeLoc, Matcher<StructuredStatement>, StructuredStatement, Dumpable, TypeUsageCollectable
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateStructuredAssert(BytecodeLoc loc, ConditionalExpression conditionalExpression, Expression arg) -
Method Summary
Modifier and TypeMethodDescriptionvoidcollectTypeUsages(TypeUsageCollector collector) informBlockHeirachy(Vector<BlockIdentifier> blockIdentifiers) booleanvoidbooleanmatch(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector) static StructuredAssertmkStructuredAssert(BytecodeLoc loc, ConditionalExpression conditionalExpression, Expression arg) voidrewriteExpressions(ExpressionRewriter expressionRewriter) voidtraceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) voidtransformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope) Methods inherited from class AbstractStructuredStatement
addLoc, alwaysDefines, canDefine, canFall, claimBlock, fallsNopToNext, findCreatedHere, getBreakableBlockOrNull, getContainer, getInline, getLoc, inlineable, isEffectivelyNOP, isProperlyStructured, isScopeBlock, markCreator, setContainer, suggestName, supportsBreak, supportsContinueBreak, toString, transformStructuredChildrenInReverse
-
Field Details
-
conditionalExpression
-
arg
-
-
Constructor Details
-
StructuredAssert
private StructuredAssert(BytecodeLoc loc, ConditionalExpression conditionalExpression, Expression arg)
-
-
Method Details
-
mkStructuredAssert
public static StructuredAssert mkStructuredAssert(BytecodeLoc loc, ConditionalExpression conditionalExpression, Expression arg) -
getCombinedLoc
-
collectTypeUsages
-
dump
-
informBlockHeirachy
- Specified by:
informBlockHeirachyin interfaceStructuredStatement- Overrides:
informBlockHeirachyin classAbstractStructuredStatement
-
transformStructuredChildren
public void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope) -
linearizeInto
-
traceLocalVariableScope
-
isRecursivelyStructured
public boolean isRecursivelyStructured()- Specified by:
isRecursivelyStructuredin interfaceStructuredStatement- Overrides:
isRecursivelyStructuredin classAbstractStructuredStatement
-
match
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector) - Specified by:
matchin interfaceMatcher<StructuredStatement>- Overrides:
matchin classAbstractStructuredStatement
-
rewriteExpressions
-