Skip to main content

Module generated_member_extractor

Module generated_member_extractor 

Source
Expand description

Semantic analysis, symbol extraction, and type inference. Generated member extraction from Moo/Moose has declarations. Generated member extraction from Moo/Moose has declarations and Class::Accessor declarations.

Leverages the existing [ClassModelBuilder] to parse has declarations, then maps each [Attribute] to one or more [GeneratedMember] entries based on the accessor mode (is option).

§Mapping Rules

has declarationGenerated members
has 'x' (no is)Accessor (x)
has 'x' => (is => 'rw')Accessor (x)
has 'x' => (is => 'ro')Getter (x)
has 'x' => (is => 'lazy')Getter (x)
has 'x' => (is => 'bare')(none)
has 'x' => (predicate => 1)Predicate (has_x)
has 'x' => (clearer => 1)Clearer (clear_x)
has 'x' => (builder => 1)Builder (_build_x)

All emitted members carry provenance = FrameworkSynthesis and confidence = Medium.

Structs§

GeneratedMemberExtractor
Extractor that walks an AST to produce GeneratedMember entries for each supported framework declaration found.