Comments (3)
The design issues with extensions support:
How to compile (.ext_method not-hinted-value)
? Not forgetting too take into account that a class may have a method going by the same name as ext_method
...
Possible answers (not necessarily mutually exclusive):
1/ namespaced methods like (.fa/AnimateWidgetExtensions.animate w)
(cheap to implement but ugly)
2/ on dynamic call when method name matches a known (= in a required package) extension then add type checks against the extended to the emitted dart code
if (target is Widget) { // there may be multiple matching extensions
(target as Widget).animate(....)
} else {
(target as dynamic).animate(....)
}
Solution 2 is the best one as it assumes little knowledge on the user side (don't have to know it's an ext method) and would work even in dynamic calls.
from clojuredart.
Closed by accident, because commit message had "should fix #10"
from clojuredart.
sorry, did not know that written "should fix" automatically closed a PR...
from clojuredart.
Related Issues (20)
- Add warning on impossible nil checks
- Transitive dart dependencies HOT 6
- LD -XLinker is invalid option compiling for native app HOT 8
- multiple bindings in :bg-watcher
- Support multiple bindings in `:bg-watcher`
- platform conditionals HOT 3
- doseq and for but for streams
- Add a "nano pass" to the compiler to perform statements lifting
- Stop generating dart functions HOT 1
- Make magicast open
- `:keep-alive` on `f/widget` HOT 1
- Can't `with-open` HOT 2
- Printing cyclic data structure causes stack overlow HOT 1
- `doseq` with `await` in body evaluates to a future HOT 1
- cljd type parameter inference on static methods could be better
- Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
- static methods on interfaces backing protocols
- Type hinting a `Future` fn won't compile
- Resolution of types across conditional import/export
- Loose type inference on functions that are type hinted
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 clojuredart.