All Implemented Interfaces:
Context

public class BlockStmtContext extends StatementContext<BlockStmt>
  • Constructor Details

  • Method Details

    • localVariablesExposedToChild

      public List<VariableDeclarator> localVariablesExposedToChild(Node child)
      Description copied from interface: Context
      The local variables that are declared in this immediate context and made visible to a given child. This list could include values which are shadowed.
    • localVariablesDeclaredIn

      private List<VariableDeclarator> localVariablesDeclaredIn(Statement statement)
    • typePatternExprsExposedToChild

      public List<TypePatternExpr> typePatternExprsExposedToChild(Node child)
      The following rule applies to a block statement S contained in a block that is not a switch block: - A pattern variable introduced by S is definitely matched at all the block statements following S, if any, in the block. https://docs.oracle.com/javase/specs/jls/se22/html/jls-6.html#jls-6.3.2.1
    • solveSymbol

      public SymbolReference<? extends ResolvedValueDeclaration> solveSymbol(String name)
      Description copied from interface: Context
      Used where a symbol is being used (e.g. solving x when used as an argument doubleThis(x), or calculation return x * 2;).
      Specified by:
      solveSymbol in interface Context
      Overrides:
      solveSymbol in class StatementContext<BlockStmt>
      Parameters:
      name - the variable / reference / identifier used.
      Returns:
      // FIXME: Better documentation on how this is different to solveSymbolAsValue()