Class StatementContext<N extends Statement>
- java.lang.Object
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext<N>
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.StatementContext<N>
-
- All Implemented Interfaces:
Context
- Direct Known Subclasses:
BlockStmtContext
,DoStatementContext
,ForEachStatementContext
,ForStatementContext
,IfStatementContext
,TryWithResourceContext
,WhileStatementContext
public class StatementContext<N extends Statement> extends AbstractJavaParserContext<N>
-
-
Field Summary
-
Fields inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext
typeSolver, wrappedNode
-
-
Constructor Summary
Constructors Constructor Description StatementContext(N wrappedNode, TypeSolver typeSolver)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<TypePatternExpr>
getIntroducedTypePatterns()
static SymbolReference<? extends ResolvedValueDeclaration>
solveInBlock(java.lang.String name, TypeSolver typeSolver, Statement stmt)
static java.util.Optional<Value>
solveInBlockAsValue(java.lang.String name, TypeSolver typeSolver, Statement stmt)
SymbolReference<ResolvedMethodDeclaration>
solveMethod(java.lang.String name, java.util.List<ResolvedType> argumentsTypes, boolean staticOnly)
We find the method declaration which is the best match for the given name and list of typeParametersValues.SymbolReference<? extends ResolvedValueDeclaration>
solveSymbol(java.lang.String name)
Used where a symbol is being used (e.g.private SymbolReference<? extends ResolvedValueDeclaration>
solveSymbol(java.lang.String name, boolean iterateAdjacentStmts)
Used where a symbol is being used (e.g.java.util.Optional<Value>
solveSymbolAsValue(java.lang.String name)
Used where a symbol is being used (e.g.protected java.util.Optional<Value>
solveWithAsValue(SymbolDeclarator symbolDeclarator, java.lang.String name)
-
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, typePatternExprsExposedToChild
-
-
-
-
Constructor Detail
-
StatementContext
public StatementContext(N wrappedNode, TypeSolver typeSolver)
-
-
Method Detail
-
solveInBlock
public static SymbolReference<? extends ResolvedValueDeclaration> solveInBlock(java.lang.String name, TypeSolver typeSolver, Statement stmt)
-
solveInBlockAsValue
public static java.util.Optional<Value> solveInBlockAsValue(java.lang.String name, TypeSolver typeSolver, Statement stmt)
-
solveSymbolAsValue
public java.util.Optional<Value> solveSymbolAsValue(java.lang.String name)
Description copied from interface:Context
Used where a symbol is being used (e.g. solvingx
when used as an argumentdoubleThis(x)
, or calculationreturn x * 2;
).- Parameters:
name
- the variable / reference / identifier used.- Returns:
- // FIXME: Better documentation on how this is different to solveSymbol()
-
solveWithAsValue
protected java.util.Optional<Value> solveWithAsValue(SymbolDeclarator symbolDeclarator, java.lang.String name)
- Overrides:
solveWithAsValue
in classAbstractJavaParserContext<N extends Statement>
-
solveSymbol
public SymbolReference<? extends ResolvedValueDeclaration> solveSymbol(java.lang.String name)
Description copied from interface:Context
Used where a symbol is being used (e.g. solvingx
when used as an argumentdoubleThis(x)
, or calculationreturn x * 2;
).- Parameters:
name
- the variable / reference / identifier used.- Returns:
- // FIXME: Better documentation on how this is different to solveSymbolAsValue()
-
solveSymbol
private SymbolReference<? extends ResolvedValueDeclaration> solveSymbol(java.lang.String name, boolean iterateAdjacentStmts)
Used where a symbol is being used (e.g. solvingx
when used as an argumentdoubleThis(x)
, or calculationreturn x * 2;
).- Parameters:
name
- the variable / reference / identifier used.iterateAdjacentStmts
- flag to iterate adjacent statements, should be set totrue
except when calling itself in order to prevent revisiting already visited symbols.- Returns:
- // FIXME: Better documentation on how this is different to solveSymbolAsValue()
-
solveMethod
public SymbolReference<ResolvedMethodDeclaration> solveMethod(java.lang.String name, java.util.List<ResolvedType> argumentsTypes, boolean staticOnly)
Description copied from interface:Context
We find the method declaration which is the best match for the given name and list of typeParametersValues.
-
getIntroducedTypePatterns
public java.util.List<TypePatternExpr> getIntroducedTypePatterns()
-
-