public class StructuredSynchronized extends AbstractStructuredBlockStatement
Modifier and Type | Field and Description |
---|---|
private Expression |
monitor |
Constructor and Description |
---|
StructuredSynchronized(BytecodeLoc loc,
Expression monitor,
Op04StructuredStatement body) |
Modifier and Type | Method and Description |
---|---|
void |
collectTypeUsages(TypeUsageCollector collector) |
Dumper |
dump(Dumper dumper) |
boolean |
fallsNopToNext() |
BytecodeLoc |
getCombinedLoc() |
boolean |
isProperlyStructured() |
boolean |
isScopeBlock() |
void |
linearizeInto(java.util.List<StructuredStatement> out) |
boolean |
match(MatchIterator<StructuredStatement> matchIterator,
MatchResultCollector matchResultCollector) |
void |
rewriteExpressions(ExpressionRewriter expressionRewriter) |
void |
traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) |
getBody, isRecursivelyStructured, transformStructuredChildren
addLoc, alwaysDefines, canDefine, canFall, claimBlock, findCreatedHere, getBreakableBlockOrNull, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isEffectivelyNOP, markCreator, setContainer, suggestName, supportsBreak, supportsContinueBreak, toString, transformStructuredChildrenInReverse
private Expression monitor
StructuredSynchronized(BytecodeLoc loc, Expression monitor, Op04StructuredStatement body)
public BytecodeLoc getCombinedLoc()
public void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages
in interface TypeUsageCollectable
collectTypeUsages
in class AbstractStructuredBlockStatement
public boolean isProperlyStructured()
isProperlyStructured
in interface StructuredStatement
isProperlyStructured
in class AbstractStructuredStatement
public boolean fallsNopToNext()
fallsNopToNext
in interface StructuredStatement
fallsNopToNext
in class AbstractStructuredStatement
public boolean isScopeBlock()
isScopeBlock
in interface StructuredStatement
isScopeBlock
in class AbstractStructuredStatement
public void linearizeInto(java.util.List<StructuredStatement> out)
public void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector)
match
in interface Matcher<StructuredStatement>
match
in class AbstractStructuredStatement
public void rewriteExpressions(ExpressionRewriter expressionRewriter)