Class ForStatementContext

    • Constructor Detail

      • ForStatementContext

        public ForStatementContext​(ForStmt wrappedNode,
                                   TypeSolver typeSolver)
    • Method Detail

      • typePatternExprsExposedToChild

        public java.util.List<TypePatternExpr> typePatternExprsExposedToChild​(Node child)
        The following rules apply to a basic for statement: - A pattern variable introduced by the condition expression when true is definitely matched at both the incrementation part and the contained statement. https://docs.oracle.com/javase/specs/jls/se22/html/jls-6.html#jls-6.3.2.5
      • getIntroducedTypePatterns

        public java.util.List<TypePatternExpr> getIntroducedTypePatterns()
        The following rules apply to a basic for statement: - A pattern variable is introduced by a basic for statement iff (i) it is introduced by the condition expression when false and (ii) the contained statement, S, does not contain a reachable break for which the basic for statement is the break target. https://docs.oracle.com/javase/specs/jls/se21/html/jls-6.html#jls-6.3.2.5
        Overrides:
        getIntroducedTypePatterns in class StatementContext<ForStmt>
      • solveSymbol

        public SymbolReference<? extends ResolvedValueDeclaration> solveSymbol​(java.lang.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<ForStmt>
        Parameters:
        name - the variable / reference / identifier used.
        Returns:
        // FIXME: Better documentation on how this is different to solveSymbolAsValue()
      • localVariablesExposedToChild

        public java.util.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.