Class IfStatementContext

  • All Implemented Interfaces:
    com.github.javaparser.resolution.Context

    public class IfStatementContext
    extends StatementContext<com.github.javaparser.ast.stmt.IfStmt>
    • Constructor Detail

      • IfStatementContext

        public IfStatementContext​(com.github.javaparser.ast.stmt.IfStmt wrappedNode,
                                  com.github.javaparser.resolution.TypeSolver typeSolver)
    • Method Detail

      • typePatternExprsExposedToChild

        public List<com.github.javaparser.ast.expr.TypePatternExpr> typePatternExprsExposedToChild​(com.github.javaparser.ast.Node child)
        The following rules apply to a statement if (e) S: - A pattern variable introduced by e when true is definitely matched at S. The following rules apply to a statement if (e) S else T: - A pattern variable introduced by e when true is definitely matched at S. - A pattern variable introduced by e when false is definitely matched at T. https://docs.oracle.com/javase/specs/jls/se22/html/jls-6.html#jls-6.3.2.2
      • getIntroducedTypePatterns

        public List<com.github.javaparser.ast.expr.TypePatternExpr> getIntroducedTypePatterns()
        The following rules apply to a statement if (e) S: - A pattern variable is introduced by if (e) S iff (i) it is introduced by e when false and (ii) S cannot complete normally. The following rules apply to a statement if (e) S else T: - A pattern variable is introduced by if (e) S else T iff either: - It is introduced by e when true, and S can complete normally, and T cannot complete normally; or - It is introduced by e when false, and S cannot complete normally, and T can complete normally.
        Overrides:
        getIntroducedTypePatterns in class StatementContext<com.github.javaparser.ast.stmt.IfStmt>
      • nodeContextIsChainedIfElseIf

        public boolean nodeContextIsChainedIfElseIf​(com.github.javaparser.resolution.Context parentContext)
        
         if() {
             // Does not match here (doesn't need to, as stuff inside of the if() is likely in context..)
         } else if() {
             // Matches here
         } else {
             // Matches here
         }
         
        Returns:
        true, If this is an if inside of an if...
      • nodeContextIsImmediateChildElse

        public boolean nodeContextIsImmediateChildElse​(com.github.javaparser.resolution.Context parentContext)
        
         if() {
             // Does not match here (doesn't need to, as stuff inside of the if() is likely in context..)
         } else {
             // Does not match here, as the else block is a field inside of an ifstmt as opposed to child
         }
         
        Returns:
        true, If this is an else inside of an if...
      • nodeContextIsThenOfIfStmt

        public boolean nodeContextIsThenOfIfStmt​(com.github.javaparser.resolution.Context parentContext)
        
         if() {
             // Does not match here (doesn't need to, as stuff inside of the if() is likely in context..)
         } else {
             // Does not match here, as the else block is a field inside of an ifstmt as opposed to child
         }
         
        Returns:
        true, If this is an else inside of an if...
      • nodeContextIsConditionOfIfStmt

        public boolean nodeContextIsConditionOfIfStmt​(com.github.javaparser.resolution.Context parentContext)