LinkDeclaration class abstract

Abstract base class for type references in reflection systems.

Represents a reference to a type declaration, including:

  • Type arguments
  • Pointer information
  • Source location metadata
  • Variance information

{@template link_declaration_features}

Key Features

  • Type parameter resolution
  • Source location tracking
  • Variance awareness
  • Canonical vs reference distinction

Typical Implementations

Used by:

  • Generic type references
  • Type alias resolutions
  • Cross-library type references

Example Usage

final link = getTypeReference<List<String>>();
print(link.getPointerQualifiedName()); // "List"
print(link.getTypeArguments()[0].getName()); // "String"
print(link.getVariance()); // TypeVariance.invariant

{@endtemplate}

Inheritance

Constructors

LinkDeclaration()
const

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

getCanonicalUri() Uri?
Gets the canonical definition location.
getIsCanonical() bool
Checks if this reference points to its canonical definition.
getIsPublic() bool
Checks if this declaration is a public declaration.
inherited
getIsSynthetic() bool
Checks if a declaration is a synthetic declaration.
inherited
getName() String
Gets the name of the declared element.
inherited
getPointerQualifiedName() String
Gets the fully qualified name of the pointer type.
getPointerType() Type
Gets the base pointer type being referenced.
getReferenceUri() Uri?
Gets where this reference was found.
getType() Type
Gets the runtime type of the declared element.
inherited
getTypeArguments() List<LinkDeclaration>
Gets the type arguments for this reference.
getUpperBound() LinkDeclaration?
Gets the upper bound for type variables.
getVariance() TypeVariance
Gets the variance annotation for this reference.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() Map<String, Object>
Returns a JSON representation of this entity.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited