dart-lang / dart-lang/source_gen

Add "Reviver" functionality.

Open
#680 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Dart
Stars
494
Forks
115
Avg merge
12h 13m
Merged PRs (30d)
3

Description

It would be nicer as a builder library to allow for users to extend our classes and allow them to leverage our builder while not adding the user's custom logic into our builder. This means that we would need the ability to store `ConstantReader`s and `DartObject?`s within memory.

We have all the needed functionality currently with the `dart:mirrors` library (which currently has usage by the `TypeChecker`). This could be listed as an unstable functionality (as `dart:mirrors` is listed as unstable) until a new direction is found (be that metaprogramming etc). This would give builder package maintainers the ability to make some of our functionality more flexible, while not adding to the maintainers burden.

An example of what this would look like is available in #679.

Contributor guide

Open the contributing guide

Research direction

No implementation file or test is named. Start by reading the existing TypeChecker use of dart:mirrors and the example in #679; clarify how ConstantReaders and DartObjects should be stored and what acceptance criteria apply to the proposed unstable functionality.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.