# ExecutableHolder class final

Executable Holder

Extends ArgumentValueHolder with metadata about the Executable being invoked.

# Purpose

- Couples argument data with the specific executable (constructor, method, or function) to be called.
- Allows reflection-based frameworks to:
  - Inspect and validate executable signatures.
  - Invoke the executable with properly structured arguments.
  - Support DI wiring for constructors and annotated methods.

# Behavior

- Stores an Executable instance representing the reflective target.
- Inherits argument storage (namedArgs, positionalArgs, arguments) from ArgumentValueHolder.

# Example

    final execHolder = ExecutableHolder(
      executable: someConstructor,
      positionalArgs: [42, "example"],
    );

    print(execHolder.executable.name);  // Constructor or method name
    print(execHolder.positionalArgs);   // [42, "example"]

# Notes

- Designed for internal framework use during pod instantiation.
- Works together with `DependencyObjectFactory` and reflection utilities.

Inheritance
  - Object
  - ArgumentValueHolder
  - ExecutableHolder

## Constructors

ExecutableHolder.new({required Executable executable, Map<String, Object?> namedArgs = const {}, List<Object?> positionalArgs = const [], List<ArgumentValue> arguments = const []})
  Executable Holder

## Properties

arguments → List<ArgumentValue>
  Normalized argument list, where each argument is wrapped in an ArgumentValue abstraction.
  final inherited
executable → Executable
  The reflective executable (constructor, method, or function) associated with these arguments.
  final
hashCode → int
  The hash code for this object.
  no setter inherited
namedArgs → Map<String, Object?>
  Named arguments passed to the executable.
  final inherited
positionalArgs → List<Object?>
  Positional arguments passed to the executable.
  final inherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited

## Methods

noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
toString() → String
  A string representation of this object.
  inherited

## Operators

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