All Implemented Interfaces:
TypeConstants, TypeIds

public class BreakStatement extends BranchStatement
  • Field Details

    • isSynthetic

      public boolean isSynthetic
  • Constructor Details

    • BreakStatement

      public BreakStatement(char[] label, int sourceStart, int e)
  • Method Details

    • analyseCode

      public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
      Specified by:
      analyseCode in class Statement
    • printStatement

      public StringBuffer printStatement(int tab, StringBuffer output)
      Specified by:
      printStatement in class Statement
    • traverse

      public void traverse(ASTVisitor visitor, BlockScope blockscope)
      Overrides:
      traverse in class ASTNode
    • doesNotCompleteNormally

      public boolean doesNotCompleteNormally()
      Description copied from class: Statement
      Lambda shape analysis: *Assuming* this is reachable, analyze if this completes normally i.e control flow can reach the textually next statement. For blocks, we don't perform intra-reachability analysis. We assume the lambda body is free of intrinsic control flow errors (if such errors exist they will not be flagged by this analysis, but are guaranteed to surface later on.)
      Overrides:
      doesNotCompleteNormally in class Statement
      See Also:
      Block.doesNotCompleteNormally()
    • canCompleteNormally

      public boolean canCompleteNormally()
      Description copied from class: Statement
      Switch Expression analysis: *Assuming* this is reachable, analyze if this completes normally i.e control flow can reach the textually next statement, as per JLS 14 Sec 14.22 For blocks, we don't perform intra-reachability analysis. Note: delinking this from a similar (opposite) Statement.doesNotCompleteNormally() since that was coded for a specific purpose of Lambda Shape Analysis.
      Overrides:
      canCompleteNormally in class Statement
    • doNotReportUnreachable

      protected boolean doNotReportUnreachable()
      Overrides:
      doNotReportUnreachable in class Statement