Class IfStatementContext
java.lang.Object
com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext<IfStmt>
com.github.javaparser.symbolsolver.javaparsermodel.contexts.StatementContext<IfStmt>
com.github.javaparser.symbolsolver.javaparsermodel.contexts.IfStatementContext
- All Implemented Interfaces:
Context
-
Field Summary
Fields inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext
typeSolver, wrappedNode
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThe 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 }
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 Details
-
IfStatementContext
-
-
Method Details
-
typePatternExprsExposedToChild
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
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
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
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
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
-