{"push_id":636519952,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"91564690b106f330fda826535f55f685705662b5","before":"88b8462ebb9a0dd5026652ce39490466f149b4aa","commits":[{"sha":"91564690b106f330fda826535f55f685705662b5","author":{"email":"9bef692239b5f624cec8e2cd5249ab1939a377aa@google.com","name":"Leaf Petersen"},"message":"Reifier hookup\n\nHook the coercion reifier into the JS backend.\n\nThe principle observed changes in the output are from the downward type inference eliminating casts.\n\nThe coercion reifier changes in this CL in two ways.\n\nThe first is a relatively minor change to factor out the instrumented runtime calls.  The reifier is now parameterized by a runtime object.  If present, casts, wraps, and type object creation are delegated to the runtime.  Otherwise the reifier just produces cast objects directly.  The JS codegen always does the latter.\n\nThe larger change is an attempt to make the new AST nodes be resolved.  This is principally done for the typedefs produced for casts - we're not using wrapping right now so I've left that for future if we want it.  This is a bit painful - if we continue down this path I think I'll want to factor this out into a ResolvedAstBuilder or somesuch, but for now this seems to be working.\n\nThe rest of the changes are just plumbing in the coercion reifier and its dependencies into the js backend.\n\nBUG=\nR=jmesserly@google.com\n\nReview URL: https://codereview.chromium.org/1096583002","distinct":true,"url":"https://api.github.com/repos/dart-lang/dev_compiler/commits/91564690b106f330fda826535f55f685705662b5"}]}