Comments (3)
We're currently discussing the design of the ReflectCapability
hierarchy and its semantics (you could consider the specification of capabilities as a domain specific language, and we are discussing the design of that language). This certainly includes the ability to specify requests for reflection support away from the target itself. For instance, a program could request support for reflection on instances of a class in dart:core
or somewhere else "out of reach". This concept has been known as 'SideTags' for a while. It might look like this:
@ReflectImported(const [Foo, Bar], myReflectable)
import 'package:foo_bar/foo_bar.dart';
which would have the same effect as having @myReflectable
on class Foo {..}
and class Bar {..}
in foo_bar.dart
. We also plan for quantification, e.g., the ability to say things like
@ReflectSubtypes(myReflectable)
class Foo {
...
}
which will have the same effect as putting @myReflectable
on all subtypes of Foo
. We expect liberal quantification to make sense for less critical applications (more space will be wasted if many classes support reflection, but it is never actually used), and more tightly specified quantification (or no quantification, just concrete choice of classes one by one) would be justified in cases where the space consumption must be under very tight control.
from reflectable.dart.
That sounds great, the ability to choose is great as it can fit all use cases.
My request then is that ReflectImported
can be used without specifying types at all to get all of them, like @ReflectImported(myReflectable)
.
from reflectable.dart.
That should be easy, too. Noted.
from reflectable.dart.
Related Issues (20)
- [question] - Is it possible to have Annotations with Parameters? HOT 2
- [Question] - how to get Constructor arguments? HOT 2
- [Bug?] ERROR: This requires the 'constructor-tearoffs' language feature to be enabled. HOT 12
- [Question] - Listening to Method invocation HOT 6
- [Question] - Stats on Bundle Sizes and Performance Implications/metrics of using Reflectable ? HOT 1
- Cannot reflect ```flutter/material.dart``` URIs for ```Container``` type HOT 12
- This reflector does not match anything HOT 11
- Reflectable is not a know builder HOT 1
- Unsupported operation: location HOT 4
- Reflectable don't find "main" but im using in my library not an application HOT 5
- How to generate code according to filter rules HOT 2
- The build_runner those not generate anything HOT 1
- Annotated parameter and Functions
- Include annotated types that are not imported to `main.dart` HOT 2
- Severe error during build with @reflector and @JsonKey on the same class. HOT 1
- isSubtype exception for classes without parents HOT 2
- Where is initializeReflectable method? HOT 3
- Error: Reflecting on un-marked type "Type" HOT 2
- bug: issue with using mixins HOT 5
- importing private libaries during build_runner build HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from reflectable.dart.