Class IfStatementContext
- java.lang.Object
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext<N>
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.StatementContext<IfStmt>
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.IfStatementContext
-
- All Implemented Interfaces:
Context
public class IfStatementContext extends StatementContext<IfStmt>
-
-
Field Summary
-
Fields inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext
typeSolver, wrappedNode
-
-
Constructor Summary
Constructors Constructor Description IfStatementContext(IfStmt wrappedNode, TypeSolver typeSolver)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<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.boolean
nodeContextIsChainedIfElseIf(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 }
boolean
nodeContextIsConditionOfIfStmt(Context parentContext)
boolean
nodeContextIsImmediateChildElse(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 }
boolean
nodeContextIsThenOfIfStmt(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 }
List<TypePatternExpr>
typePatternExprsExposedToChild(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.-
Methods inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.StatementContext
solveInBlock, solveInBlockAsValue, solveMethod, solveSymbol, solveSymbolAsValue, solveWithAsValue
-
Methods inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext
equals, findExposedPatternInParentContext, findTypeDeclarations, getParent, getScope, getWrappedNode, hashCode, negatedTypePatternExprsExposedFromChildren, solveMethodAsUsage, solveSymbolInParentContext, solveWith, typePatternExprsDiscoveredInPattern, typePatternExprsExposedFromChildren
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.github.javaparser.resolution.Context
fieldDeclarationInScope, fieldsExposedToChild, localVariableDeclarationInScope, localVariablesExposedToChild, parameterDeclarationInScope, parametersExposedToChild, solveConstructor, solveGenericType, solveGenericTypeInParentContext, solveMethodInParentContext, solveSymbolAsValueInParentContext, solveType, solveType, solveTypeInParentContext, solveTypeInParentContext, typePatternExprInScope
-
-
-
-
Constructor Detail
-
IfStatementContext
public IfStatementContext(IfStmt wrappedNode, TypeSolver typeSolver)
-
-
Method Detail
-
typePatternExprsExposedToChild
public List<TypePatternExpr> typePatternExprsExposedToChild(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<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 classStatementContext<IfStmt>
-
nodeContextIsChainedIfElseIf
public boolean nodeContextIsChainedIfElseIf(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(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(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(Context parentContext)
-
-