Class AbstractMethodLikeDeclarationContext<T extends Node & NodeWithParameters<T> & NodeWithTypeParameters<T>>

java.lang.Object
com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext<T>
com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractMethodLikeDeclarationContext<T>
All Implemented Interfaces:
Context
Direct Known Subclasses:
ConstructorContext, MethodContext

public abstract class AbstractMethodLikeDeclarationContext<T extends Node & NodeWithParameters<T> & NodeWithTypeParameters<T>> extends AbstractJavaParserContext<T>
Author:
Federico Tomassetti
  • Constructor Details

    • AbstractMethodLikeDeclarationContext

      public AbstractMethodLikeDeclarationContext(T wrappedNode, TypeSolver typeSolver)
  • Method Details

    • solveSymbol

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

      public final Optional<ResolvedType> solveGenericType(String name)
      Description copied from interface: Context
      Default to no generics available in this context, delegating solving to the parent context. Contexts which have generics available to it will override this method. For example class and method declarations, and method calls.
      Parameters:
      name - For example, solving T within class Foo<T> {} or
      Returns:
      The resolved generic type, if found.
    • solveSymbolAsValue

      public final Optional<Value> solveSymbolAsValue(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;).
      Parameters:
      name - the variable / reference / identifier used.
      Returns:
      // FIXME: Better documentation on how this is different to solveSymbol()
    • solveType

      public final SymbolReference<ResolvedTypeDeclaration> solveType(String name)
      Description copied from interface: Context
      Default to being unable to solve any reference in this context, delegating solving to the parent context. Contexts which exist as the "parent" of a resolvable type will override this method. For example, a compilation unit can contain classes. A class declaration can also contain types (e.g. a subclass).
      Parameters:
      name - For example, solving List or java.util.List.
      Returns:
      The declaration associated with the given type name.
    • solveMethod

      public final SymbolReference<ResolvedMethodDeclaration> solveMethod(String name, 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.