Click or drag to resize

Resolver Class

Used to resolve an UnresolvedRef.
Inheritance Hierarchy
SystemObject
  Nova.ResolvingResolver

Namespace:  Nova.Resolving
Assembly:  Nova.CodeDOM (in Nova.CodeDOM.dll) Version: 7.44.8391.13415
Syntax
C#
public class Resolver

The Resolver type exposes the following members.

Constructors
  NameDescription
Public methodResolver
Create a Resolver instance for the specified UnresolvedRef.
Top
Properties
  NameDescription
Public propertyHasCompleteMatch
True if a complete match has been found.
Public propertyIsDocCodeRefToMethod
Returns true if the reference being resolved is in a DocCodeRefBase and has a Method category.
Public propertyIsGenericTypeOrConstructor
Returns true if the reference being resolved has type arguments and is for a type or constructor, otherwise false.
Public propertyIsMethodCategory
True if we are looking for a method.
Public propertyResolveCategory
The ResolveCategory for the resolve attempt.
Public propertyResolveFlags
The ResolveFlags for the resolve attempt.
Public propertyTypeArgumentCount
The number of type arguments on the UnresolvedRef being resolved.
Public propertyUnresolvedRef
The UnresolvedRef being resolved.
Top
Methods
  NameDescription
Public methodAddIfExtensionMethod
Add matching code object(s) IF they are extension methods.
Public methodAddMatch
Add matching code object(s).
Protected methodAddMatchesWithParentExpression
Feed in existing match candidiates, including any parent expression required in order to evaluate generic type arguments (used by UnresolvedRef.ResolveMethodGroup()).
Protected methodAddMatchInternal
Protected methodDoTypeArgumentCountsMatch
Check if the type arguments match, based upon the object type.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFilterMatches
Protected methodFilterToInaccessibleOnly
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Protected methodFindBestExplicitConversion
We have multiple matching user-defined explicit conversion operators - try to find a single best conversion. [C# 4.0 section 6.4.5]
Protected methodFindBetterConversion(Expression, TypeRefBase, TypeRefBase)
Find the better conversion of an expression to two candidate types. [C# 4.0 section 7.5.3.3] Returns 1 if the conversion to typeRef1 is better, 2 if the conversion to typeRef2 is better, 0 if neither is better.
Protected methodStatic memberFindBetterConversion(TypeRefBase, TypeRefBase, TypeRefBase)
Find the better conversion of a type to two candidate types. [C# 4.0 section 7.5.3.4] Returns 1 if the conversion to typeRefBase1 is better, 2 if the conversion to typeRefBase2 is better, 0 if neither is better.
Protected methodStatic memberFindBetterConversionTarget
Find the better conversion target of two candidate types. [C# 4.0 section 7.5.3.5] Returns 1 if typeRefBase1 is better, 2 if typeRefBase2 is better, 0 if neither is better.
Protected methodFindBetterMethod
Find the method that better matches the specified arguments. [C# 4.0 section 7.5.3.2] Returns the better-matching method object, or null if neither is better. Assumes that the two candidate methods have already been determined to be valid matches for the given arguments, using implicit conversions where necessary. If either of the method objects represents an extension method, then the TypeRef of the parent object that the methods are being called on must be supplied.
Protected methodStatic memberFindMoreSpecificType
Find the more specific of two candidate types. [C# 4.0 section 7.5.3.2] Returns 1 if typeRef1 is more specific, 2 if typeRef2 is more specific, 0 if neither is more specific.
Protected methodGetAccessRights
Get the IsPrivate access right of the object, and if not private then also get the IsProtected and IsInternal rights.
Protected methodStatic memberGetAttributeValue
Get the value of the specified parameter of the specified attribute for the specified type or assembly object.
Protected methodStatic memberGetCoClassAttributeType
Get any CoClass attribute type for the specified object.
Protected methodStatic memberGetCustomAttribute(CustomAttributeData, Int32)
Protected methodStatic memberGetCustomAttribute(CustomAttribute, Int32)
Protected methodStatic memberGetDelegateParametersAsArguments
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Protected methodStatic memberGetParameterType
Get the parameter at the specified index without evaluating any type parameters.
Protected methodGetParentArguments
Get the arguments from the parent object.
Protected methodStatic memberGetTotalMemberCount
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodStatic memberGetTypeAssemblyGuidAttribute
Protected methodStatic memberGetTypeFullName
Protected methodStatic memberGetWrongCategoryError
Public methodHasMatchesOtherThanImportedInternalTypes
Returns true if there are any matches that aren't internal types imported from other assemblies/projects.
Protected methodHasPossibleDelegateType
Protected methodIsDelegateType(Type)
Protected methodIsDelegateType(TypeReference)
Protected methodIsErrorDueToUnresolvedOnly
Protected methodStatic memberIsMethodGeneric
Public methodIsMethodLevelCategory
Determine if the target category is only valid at-or-below the MethodDecl level.
Protected methodStatic memberIsStatic
Public methodIsTypeLevelCategory
Determine if the target category is only valid at-or-below the Type level.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodStatic memberNewCandidateIsBetterEquivalentType
Protected methodRemoveBaseInterfacePath
Remove a path from the base interface paths dictionary.
Public methodResolve
Attempt to resolve the associated UnresolvedRef object.
Protected methodResolveAttribute
Resolve the reference as an attribute.
Protected methodResolveBinaryOperators
Protected methodResolveMember
Resolve the right side of a '.'.
Protected methodResolvePointerMember
Resolve the right side of a '->'.
Protected methodResolveSpecific
Resolve the reference using a known category.
Protected methodResolveUnspecified
This method is called to resolve a symbol in the situation where a category couldn't be determined. Because parsing can always determine the category in various situations, this method should never be called for: Generic Types, Namespaces, Methods (with parens), Constructors, Attributes, Goto Targets, Directive Expressions, literal constants, Indexers, Events, variables of delegate type. So, it doesn't need to worry about type arguments or method arguments. This leaves the possibilities of: Non-Generic Types, Type Parameters, Properties, Fields, Locals, Parameters, and non-invoked Method names (without parens, such as when assigned to delegates or passed as a parameter of delegate type). Namespace prefixes can also exist for many of these.
Protected methodSetBaseInterfacePath
Put a path pair into the base interface paths dictionary.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Fields
  NameDescription
Protected field_hasCompleteMatch
Indicates if a complete match exists.
Protected field_isValidCategory
The delegate used to find valid object types for the target category.
Protected field_parentExpression
The parent expression of the unresolved reference (if any).
Protected field_resolveCategory
The targeted object category.
Protected field_resolveFlags
Special flags controlling the symbol resolution.
Protected field_unresolvedRef
The UnresolvedRef being resolved.
Public fieldStatic memberCoClassAttributeName
The name of the CoClass attribute.
Public fieldStatic memberExactMatching
Determines whether or not exact matching is enforced when only one possible match is found for an UnresolvedRef. By default, an exact match is required, but this can be set to false to allow a match if there is only one possibility.
Public fieldStatic memberGuidAttributeName
The name of the Guid attribute.
Public fieldStatic memberResolveAttempts
The total number of resolve attempts for the current pass.
Public fieldStatic memberResolveFailures
The total number of resolve failures for the current pass.
Public fieldStatic memberTypeIdentifierAttributeName
The name of the TypeIdentifier attribute used on COM interop types.
Top
See Also