# Source constructor

const Source()

Abstract base class for all reflection metadata that can be annotated.

Provides common functionality for working with annotations and protection domains across all reflectable elements (classes, methods, fields, etc.).

{@template source_metadata_features}

## Key Features

- Annotation discovery and filtering by type
- Protection domain integration
- Type-safe annotation access
- Permission checking

## Implementations

Typically implemented by:

- `ClassMetadata` for class-level annotations
- `MethodMetadata` for method annotations
- `FieldMetadata` for field annotations
- `ParameterMetadata` for parameter annotations

## Implementation

    const Source();