| OLD | NEW | 
|    1 // Messages from compiling js_test.dart |    1 // Messages from compiling js_test.dart | 
|    2 severe: [AnalyzerMessage] Target of URI does not exist: 'dom.dart' (test/codegen
     /js_test.dart, line 10, col 8) |    2 severe: [AnalyzerMessage] Target of URI does not exist: 'dom.dart' (test/codegen
     /js_test.dart, line 10, col 8) | 
|    3 severe: [AnalyzerMessage] Target of URI does not exist: 'minitest.dart' (test/co
     degen/js_test.dart, line 11, col 8) |    3 severe: [AnalyzerMessage] Target of URI does not exist: 'minitest.dart' (test/co
     degen/js_test.dart, line 11, col 8) | 
|    4 severe: [AnalyzerMessage] The method 'group' is not defined for the class 'Color
     ' (test/codegen/js_test.dart, line 39, col 3) |    4 severe: [AnalyzerMessage] The method 'group' is not defined for the class 'Color
     ' (test/codegen/js_test.dart, line 39, col 3) | 
|    5 severe: [AnalyzerMessage] The method 'test' is not defined for the class 'Color'
      (test/codegen/js_test.dart, line 41, col 5) |    5 severe: [AnalyzerMessage] The method 'test' is not defined for the class 'Color'
      (test/codegen/js_test.dart, line 41, col 5) | 
|    6 severe: [AnalyzerMessage] The method 'expect' is not defined for the class 'Colo
     r' (test/codegen/js_test.dart, line 44, col 7) |    6 severe: [AnalyzerMessage] The method 'expect' is not defined for the class 'Colo
     r' (test/codegen/js_test.dart, line 44, col 7) | 
|    7 severe: [AnalyzerMessage] The method 'test' is not defined for the class 'Color'
      (test/codegen/js_test.dart, line 49, col 5) |    7 severe: [AnalyzerMessage] The method 'test' is not defined for the class 'Color'
      (test/codegen/js_test.dart, line 49, col 5) | 
|    8 severe: [AnalyzerMessage] The method 'expect' is not defined for the class 'Colo
     r' (test/codegen/js_test.dart, line 52, col 7) |    8 severe: [AnalyzerMessage] The method 'expect' is not defined for the class 'Colo
     r' (test/codegen/js_test.dart, line 52, col 7) | 
|    9 severe: [AnalyzerMessage] The method 'equals' is not defined for the class 'Colo
     r' (test/codegen/js_test.dart, line 52, col 18) |    9 severe: [AnalyzerMessage] The method 'equals' is not defined for the class 'Colo
     r' (test/codegen/js_test.dart, line 52, col 18) | 
|   10 severe: [AnalyzerMessage] The method 'test' is not defined for the class 'Color'
      (test/codegen/js_test.dart, line 57, col 5) |   10 severe: [AnalyzerMessage] The method 'test' is not defined for the class 'Color'
      (test/codegen/js_test.dart, line 57, col 5) | 
| (...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  555 info: [DynamicInvoke] test('convert a Map', () {var map = {'a' : 1, 'b' : 2, 'c'
      : 3}; var jsMap = new JsObject.jsify(map); expect(!context.callMethod('isArray'
     , [jsMap]), true); for (final key in map.keys) {expect(context.callMethod('check
     Map', [jsMap, key, map[key]]), true);}}) requires dynamic invoke (test/codegen/j
     s_test.dart, line 476, col 5) |  555 info: [DynamicInvoke] test('convert a Map', () {var map = {'a' : 1, 'b' : 2, 'c'
      : 3}; var jsMap = new JsObject.jsify(map); expect(!context.callMethod('isArray'
     , [jsMap]), true); for (final key in map.keys) {expect(context.callMethod('check
     Map', [jsMap, key, map[key]]), true);}}) requires dynamic invoke (test/codegen/j
     s_test.dart, line 476, col 5) | 
|  556 info: [DynamicInvoke] expect(!context.callMethod('isArray', [jsMap]), true) requ
     ires dynamic invoke (test/codegen/js_test.dart, line 479, col 7) |  556 info: [DynamicInvoke] expect(!context.callMethod('isArray', [jsMap]), true) requ
     ires dynamic invoke (test/codegen/js_test.dart, line 479, col 7) | 
|  557 info: [DynamicCast] context.callMethod('isArray', [jsMap]) (dynamic) will need r
     untime check to cast to type bool (test/codegen/js_test.dart, line 479, col 15) |  557 info: [DynamicCast] context.callMethod('isArray', [jsMap]) (dynamic) will need r
     untime check to cast to type bool (test/codegen/js_test.dart, line 479, col 15) | 
|  558 info: [DynamicInvoke] expect(context.callMethod('checkMap', [jsMap, key, map[key
     ]]), true) requires dynamic invoke (test/codegen/js_test.dart, line 481, col 9) |  558 info: [DynamicInvoke] expect(context.callMethod('checkMap', [jsMap, key, map[key
     ]]), true) requires dynamic invoke (test/codegen/js_test.dart, line 481, col 9) | 
|  559 info: [DynamicInvoke] test('deep convert a complex object', () {final object = {
     'a' : [1, [2, 3]], 'b' : {'c' : 3, 'd' : new JsObject(context['Foo'], [42])}, 'e
     ' : null}; var jsObject = new JsObject.jsify(object); expect(jsObject['a'][0], o
     bject['a'][0]); expect(jsObject['a'][1][0], object['a'][1][0]); expect(jsObject[
     'a'][1][1], object['a'][1][1]); expect(jsObject['b']['c'], object['b']['c']); ex
     pect(jsObject['b']['d'], object['b']['d']); expect(jsObject['b']['d'].callMethod
     ('bar'), 42); expect(jsObject['e'], null);}) requires dynamic invoke (test/codeg
     en/js_test.dart, line 485, col 5) |  559 info: [DynamicInvoke] test('deep convert a complex object', () {final object = {
     'a' : [1, [2, 3]], 'b' : {'c' : 3, 'd' : new JsObject(context['Foo'], [42])}, 'e
     ' : null}; var jsObject = new JsObject.jsify(object); expect(jsObject['a'][0], o
     bject['a'][0]); expect(jsObject['a'][1][0], object['a'][1][0]); expect(jsObject[
     'a'][1][1], object['a'][1][1]); expect(jsObject['b']['c'], object['b']['c']); ex
     pect(jsObject['b']['d'], object['b']['d']); expect(jsObject['b']['d'].callMethod
     ('bar'), 42); expect(jsObject['e'], null);}) requires dynamic invoke (test/codeg
     en/js_test.dart, line 485, col 5) | 
|  560 info: [DynamicCast] context['Foo'] (dynamic) will need runtime check to cast to 
     type JsFunction (test/codegen/js_test.dart, line 490, col 29) |  560 info: [DynamicCast] context['Foo'] (dynamic) will need runtime check to cast to 
     type JsFunction (test/codegen/js_test.dart, line 490, col 29) | 
|  561 info: [DynamicInvoke] expect(jsObject['a'][0], object['a'][0]) requires dynamic 
     invoke (test/codegen/js_test.dart, line 495, col 7) |  561 info: [DynamicInvoke] expect(jsObject['a'][0], object['a'][0]) requires dynamic 
     invoke (test/codegen/js_test.dart, line 495, col 7) | 
|  562 info: [DynamicInvoke] jsObject['a'][0] requires dynamic invoke (test/codegen/js_
     test.dart, line 495, col 14) |  562 info: [DynamicInvoke] jsObject['a'][0] requires dynamic invoke (test/codegen/js_
     test.dart, line 495, col 14) | 
|  563 info: [DynamicInvoke] object['a'][0] requires dynamic invoke (test/codegen/js_te
     st.dart, line 495, col 32) |  563 info: [DynamicInvoke] object['a'][0] requires dynamic invoke (test/codegen/js_te
     st.dart, line 495, col 32) | 
|  564 info: [DynamicInvoke] expect(jsObject['a'][1][0], object['a'][1][0]) requires dy
     namic invoke (test/codegen/js_test.dart, line 496, col 7) |  564 info: [DynamicInvoke] expect(jsObject['a'][1][0], object['a'][1][0]) requires dy
     namic invoke (test/codegen/js_test.dart, line 496, col 7) | 
 |  565 info: [DynamicInvoke] jsObject['a'][1] requires dynamic invoke (test/codegen/js_
     test.dart, line 496, col 14) | 
|  565 info: [DynamicInvoke] jsObject['a'][1][0] requires dynamic invoke (test/codegen/
     js_test.dart, line 496, col 14) |  566 info: [DynamicInvoke] jsObject['a'][1][0] requires dynamic invoke (test/codegen/
     js_test.dart, line 496, col 14) | 
|  566 info: [DynamicInvoke] jsObject['a'][1] requires dynamic invoke (test/codegen/js_
     test.dart, line 496, col 14) |  567 info: [DynamicInvoke] object['a'][1] requires dynamic invoke (test/codegen/js_te
     st.dart, line 496, col 35) | 
|  567 info: [DynamicInvoke] object['a'][1][0] requires dynamic invoke (test/codegen/js
     _test.dart, line 496, col 35) |  568 info: [DynamicInvoke] object['a'][1][0] requires dynamic invoke (test/codegen/js
     _test.dart, line 496, col 35) | 
|  568 info: [DynamicInvoke] object['a'][1] requires dynamic invoke (test/codegen/js_te
     st.dart, line 496, col 35) |  | 
|  569 info: [DynamicInvoke] expect(jsObject['a'][1][1], object['a'][1][1]) requires dy
     namic invoke (test/codegen/js_test.dart, line 497, col 7) |  569 info: [DynamicInvoke] expect(jsObject['a'][1][1], object['a'][1][1]) requires dy
     namic invoke (test/codegen/js_test.dart, line 497, col 7) | 
 |  570 info: [DynamicInvoke] jsObject['a'][1] requires dynamic invoke (test/codegen/js_
     test.dart, line 497, col 14) | 
|  570 info: [DynamicInvoke] jsObject['a'][1][1] requires dynamic invoke (test/codegen/
     js_test.dart, line 497, col 14) |  571 info: [DynamicInvoke] jsObject['a'][1][1] requires dynamic invoke (test/codegen/
     js_test.dart, line 497, col 14) | 
|  571 info: [DynamicInvoke] jsObject['a'][1] requires dynamic invoke (test/codegen/js_
     test.dart, line 497, col 14) |  572 info: [DynamicInvoke] object['a'][1] requires dynamic invoke (test/codegen/js_te
     st.dart, line 497, col 35) | 
|  572 info: [DynamicInvoke] object['a'][1][1] requires dynamic invoke (test/codegen/js
     _test.dart, line 497, col 35) |  573 info: [DynamicInvoke] object['a'][1][1] requires dynamic invoke (test/codegen/js
     _test.dart, line 497, col 35) | 
|  573 info: [DynamicInvoke] object['a'][1] requires dynamic invoke (test/codegen/js_te
     st.dart, line 497, col 35) |  | 
|  574 info: [DynamicInvoke] expect(jsObject['b']['c'], object['b']['c']) requires dyna
     mic invoke (test/codegen/js_test.dart, line 498, col 7) |  574 info: [DynamicInvoke] expect(jsObject['b']['c'], object['b']['c']) requires dyna
     mic invoke (test/codegen/js_test.dart, line 498, col 7) | 
|  575 info: [DynamicInvoke] jsObject['b']['c'] requires dynamic invoke (test/codegen/j
     s_test.dart, line 498, col 14) |  575 info: [DynamicInvoke] jsObject['b']['c'] requires dynamic invoke (test/codegen/j
     s_test.dart, line 498, col 14) | 
|  576 info: [DynamicInvoke] object['b']['c'] requires dynamic invoke (test/codegen/js_
     test.dart, line 498, col 34) |  576 info: [DynamicInvoke] object['b']['c'] requires dynamic invoke (test/codegen/js_
     test.dart, line 498, col 34) | 
|  577 info: [DynamicInvoke] expect(jsObject['b']['d'], object['b']['d']) requires dyna
     mic invoke (test/codegen/js_test.dart, line 499, col 7) |  577 info: [DynamicInvoke] expect(jsObject['b']['d'], object['b']['d']) requires dyna
     mic invoke (test/codegen/js_test.dart, line 499, col 7) | 
|  578 info: [DynamicInvoke] jsObject['b']['d'] requires dynamic invoke (test/codegen/j
     s_test.dart, line 499, col 14) |  578 info: [DynamicInvoke] jsObject['b']['d'] requires dynamic invoke (test/codegen/j
     s_test.dart, line 499, col 14) | 
|  579 info: [DynamicInvoke] object['b']['d'] requires dynamic invoke (test/codegen/js_
     test.dart, line 499, col 34) |  579 info: [DynamicInvoke] object['b']['d'] requires dynamic invoke (test/codegen/js_
     test.dart, line 499, col 34) | 
|  580 info: [DynamicInvoke] expect(jsObject['b']['d'].callMethod('bar'), 42) requires 
     dynamic invoke (test/codegen/js_test.dart, line 500, col 7) |  580 info: [DynamicInvoke] expect(jsObject['b']['d'].callMethod('bar'), 42) requires 
     dynamic invoke (test/codegen/js_test.dart, line 500, col 7) | 
 |  581 info: [DynamicInvoke] jsObject['b']['d'] requires dynamic invoke (test/codegen/j
     s_test.dart, line 500, col 14) | 
|  581 info: [DynamicInvoke] jsObject['b']['d'].callMethod('bar') requires dynamic invo
     ke (test/codegen/js_test.dart, line 500, col 14) |  582 info: [DynamicInvoke] jsObject['b']['d'].callMethod('bar') requires dynamic invo
     ke (test/codegen/js_test.dart, line 500, col 14) | 
|  582 info: [DynamicInvoke] jsObject['b']['d'] requires dynamic invoke (test/codegen/j
     s_test.dart, line 500, col 14) |  | 
|  583 info: [DynamicInvoke] expect(jsObject['e'], null) requires dynamic invoke (test/
     codegen/js_test.dart, line 501, col 7) |  583 info: [DynamicInvoke] expect(jsObject['e'], null) requires dynamic invoke (test/
     codegen/js_test.dart, line 501, col 7) | 
|  584 info: [DynamicInvoke] test('throws if object is not a Map or Iterable', () {expe
     ct(() => new JsObject.jsify('a'), throwsA((a) => a is ArgumentError));}) require
     s dynamic invoke (test/codegen/js_test.dart, line 504, col 5) |  584 info: [DynamicInvoke] test('throws if object is not a Map or Iterable', () {expe
     ct(() => new JsObject.jsify('a'), throwsA((a) => a is ArgumentError));}) require
     s dynamic invoke (test/codegen/js_test.dart, line 504, col 5) | 
|  585 info: [DynamicInvoke] expect(() => new JsObject.jsify('a'), throwsA((a) => a is 
     ArgumentError)) requires dynamic invoke (test/codegen/js_test.dart, line 505, co
     l 7) |  585 info: [DynamicInvoke] expect(() => new JsObject.jsify('a'), throwsA((a) => a is 
     ArgumentError)) requires dynamic invoke (test/codegen/js_test.dart, line 505, co
     l 7) | 
|  586 info: [DynamicInvoke] throwsA((a) => a is ArgumentError) requires dynamic invoke
      (test/codegen/js_test.dart, line 506, col 11) |  586 info: [DynamicInvoke] throwsA((a) => a is ArgumentError) requires dynamic invoke
      (test/codegen/js_test.dart, line 506, col 11) | 
|  587 info: [DynamicInvoke] group('JsObject methods', () {test('hashCode and ==', () {
     final o1 = context['Object']; final o2 = context['Object']; expect(o1 == o2, tru
     e); expect(o1.hashCode == o2.hashCode, true); final d = context['document']; exp
     ect(o1 == d, false);}); test('toString', () {var foo = new JsObject(context['Foo
     '], [42]); expect(foo.toString(), "I'm a Foo a=42"); var container = context['co
     ntainer']; expect(container.toString(), "[object Object]");}); test('toString re
     turns a String even if the JS object does not', () {var foo = new JsObject(conte
     xt['Liar']); expect(foo.callMethod('toString'), 1); expect(foo.toString(), '1');
     }); test('instanceof', () {var foo = new JsObject(context['Foo'], [1]); expect(f
     oo.instanceof(context['Foo']), true); expect(foo.instanceof(context['Object']), 
     true); expect(foo.instanceof(context['String']), false);}); test('deleteProperty
     ', () {var object = new JsObject.jsify({}); object['a'] = 1; expect(context['Obj
     ect'].callMethod('keys', [object])['length'], 1); expect(context['Object'].callM
     ethod('keys', [object])[0], "a"); object.deleteProperty("a"); expect(context['Ob
     ject'].callMethod('keys', [object])['length'], 0);}); test('hasProperty', () {va
     r object = new JsObject.jsify({}); object['a'] = 1; expect(object.hasProperty('a
     '), true); expect(object.hasProperty('b'), false);}); test('[] and []=', () {fin
     al myArray = context['myArray']; expect(myArray['length'], 1); expect(myArray[0]
     , "value1"); myArray[0] = "value2"; expect(myArray['length'], 1); expect(myArray
     [0], "value2"); final foo = new JsObject(context['Foo'], [1]); foo["getAge"] = (
     ) => 10; expect(foo.callMethod('getAge'), 10);});}) requires dynamic invoke (tes
     t/codegen/js_test.dart, line 510, col 3) |  587 info: [DynamicInvoke] group('JsObject methods', () {test('hashCode and ==', () {
     final o1 = context['Object']; final o2 = context['Object']; expect(o1 == o2, tru
     e); expect(o1.hashCode == o2.hashCode, true); final d = context['document']; exp
     ect(o1 == d, false);}); test('toString', () {var foo = new JsObject(context['Foo
     '], [42]); expect(foo.toString(), "I'm a Foo a=42"); var container = context['co
     ntainer']; expect(container.toString(), "[object Object]");}); test('toString re
     turns a String even if the JS object does not', () {var foo = new JsObject(conte
     xt['Liar']); expect(foo.callMethod('toString'), 1); expect(foo.toString(), '1');
     }); test('instanceof', () {var foo = new JsObject(context['Foo'], [1]); expect(f
     oo.instanceof(context['Foo']), true); expect(foo.instanceof(context['Object']), 
     true); expect(foo.instanceof(context['String']), false);}); test('deleteProperty
     ', () {var object = new JsObject.jsify({}); object['a'] = 1; expect(context['Obj
     ect'].callMethod('keys', [object])['length'], 1); expect(context['Object'].callM
     ethod('keys', [object])[0], "a"); object.deleteProperty("a"); expect(context['Ob
     ject'].callMethod('keys', [object])['length'], 0);}); test('hasProperty', () {va
     r object = new JsObject.jsify({}); object['a'] = 1; expect(object.hasProperty('a
     '), true); expect(object.hasProperty('b'), false);}); test('[] and []=', () {fin
     al myArray = context['myArray']; expect(myArray['length'], 1); expect(myArray[0]
     , "value1"); myArray[0] = "value2"; expect(myArray['length'], 1); expect(myArray
     [0], "value2"); final foo = new JsObject(context['Foo'], [1]); foo["getAge"] = (
     ) => 10; expect(foo.callMethod('getAge'), 10);});}) requires dynamic invoke (tes
     t/codegen/js_test.dart, line 510, col 3) | 
|  588 info: [DynamicInvoke] test('hashCode and ==', () {final o1 = context['Object']; 
     final o2 = context['Object']; expect(o1 == o2, true); expect(o1.hashCode == o2.h
     ashCode, true); final d = context['document']; expect(o1 == d, false);}) require
     s dynamic invoke (test/codegen/js_test.dart, line 512, col 5) |  588 info: [DynamicInvoke] test('hashCode and ==', () {final o1 = context['Object']; 
     final o2 = context['Object']; expect(o1 == o2, true); expect(o1.hashCode == o2.h
     ashCode, true); final d = context['document']; expect(o1 == d, false);}) require
     s dynamic invoke (test/codegen/js_test.dart, line 512, col 5) | 
|  589 info: [DynamicInvoke] expect(o1 == o2, true) requires dynamic invoke (test/codeg
     en/js_test.dart, line 515, col 7) |  589 info: [DynamicInvoke] expect(o1 == o2, true) requires dynamic invoke (test/codeg
     en/js_test.dart, line 515, col 7) | 
|  590 info: [DynamicInvoke] expect(o1.hashCode == o2.hashCode, true) requires dynamic 
     invoke (test/codegen/js_test.dart, line 516, col 7) |  590 info: [DynamicInvoke] expect(o1.hashCode == o2.hashCode, true) requires dynamic 
     invoke (test/codegen/js_test.dart, line 516, col 7) | 
|  591 info: [DynamicInvoke] expect(o1 == d, false) requires dynamic invoke (test/codeg
     en/js_test.dart, line 518, col 7) |  591 info: [DynamicInvoke] expect(o1 == d, false) requires dynamic invoke (test/codeg
     en/js_test.dart, line 518, col 7) | 
|  592 info: [DynamicInvoke] test('toString', () {var foo = new JsObject(context['Foo']
     , [42]); expect(foo.toString(), "I'm a Foo a=42"); var container = context['cont
     ainer']; expect(container.toString(), "[object Object]");}) requires dynamic inv
     oke (test/codegen/js_test.dart, line 521, col 5) |  592 info: [DynamicInvoke] test('toString', () {var foo = new JsObject(context['Foo']
     , [42]); expect(foo.toString(), "I'm a Foo a=42"); var container = context['cont
     ainer']; expect(container.toString(), "[object Object]");}) requires dynamic inv
     oke (test/codegen/js_test.dart, line 521, col 5) | 
|  593 info: [DynamicCast] context['Foo'] (dynamic) will need runtime check to cast to 
     type JsFunction (test/codegen/js_test.dart, line 522, col 30) |  593 info: [DynamicCast] context['Foo'] (dynamic) will need runtime check to cast to 
     type JsFunction (test/codegen/js_test.dart, line 522, col 30) | 
|  594 info: [DynamicInvoke] expect(foo.toString(), "I'm a Foo a=42") requires dynamic 
     invoke (test/codegen/js_test.dart, line 523, col 7) |  594 info: [DynamicInvoke] expect(foo.toString(), "I'm a Foo a=42") requires dynamic 
     invoke (test/codegen/js_test.dart, line 523, col 7) | 
|  595 info: [DynamicInvoke] expect(container.toString(), "[object Object]") requires d
     ynamic invoke (test/codegen/js_test.dart, line 525, col 7) |  595 info: [DynamicInvoke] expect(container.toString(), "[object Object]") requires d
     ynamic invoke (test/codegen/js_test.dart, line 525, col 7) | 
|  596 info: [DynamicInvoke] test('toString returns a String even if the JS object does
      not', () {var foo = new JsObject(context['Liar']); expect(foo.callMethod('toStr
     ing'), 1); expect(foo.toString(), '1');}) requires dynamic invoke (test/codegen/
     js_test.dart, line 528, col 5) |  596 info: [DynamicInvoke] test('toString returns a String even if the JS object does
      not', () {var foo = new JsObject(context['Liar']); expect(foo.callMethod('toStr
     ing'), 1); expect(foo.toString(), '1');}) requires dynamic invoke (test/codegen/
     js_test.dart, line 528, col 5) | 
|  597 info: [DynamicCast] context['Liar'] (dynamic) will need runtime check to cast to
      type JsFunction (test/codegen/js_test.dart, line 529, col 30) |  597 info: [DynamicCast] context['Liar'] (dynamic) will need runtime check to cast to
      type JsFunction (test/codegen/js_test.dart, line 529, col 30) | 
|  598 info: [DynamicInvoke] expect(foo.callMethod('toString'), 1) requires dynamic inv
     oke (test/codegen/js_test.dart, line 530, col 7) |  598 info: [DynamicInvoke] expect(foo.callMethod('toString'), 1) requires dynamic inv
     oke (test/codegen/js_test.dart, line 530, col 7) | 
|  599 info: [DynamicInvoke] expect(foo.toString(), '1') requires dynamic invoke (test/
     codegen/js_test.dart, line 531, col 7) |  599 info: [DynamicInvoke] expect(foo.toString(), '1') requires dynamic invoke (test/
     codegen/js_test.dart, line 531, col 7) | 
|  600 info: [DynamicInvoke] test('instanceof', () {var foo = new JsObject(context['Foo
     '], [1]); expect(foo.instanceof(context['Foo']), true); expect(foo.instanceof(co
     ntext['Object']), true); expect(foo.instanceof(context['String']), false);}) req
     uires dynamic invoke (test/codegen/js_test.dart, line 534, col 5) |  600 info: [DynamicInvoke] test('instanceof', () {var foo = new JsObject(context['Foo
     '], [1]); expect(foo.instanceof(context['Foo']), true); expect(foo.instanceof(co
     ntext['Object']), true); expect(foo.instanceof(context['String']), false);}) req
     uires dynamic invoke (test/codegen/js_test.dart, line 534, col 5) | 
|  601 info: [DynamicCast] context['Foo'] (dynamic) will need runtime check to cast to 
     type JsFunction (test/codegen/js_test.dart, line 535, col 30) |  601 info: [DynamicCast] context['Foo'] (dynamic) will need runtime check to cast to 
     type JsFunction (test/codegen/js_test.dart, line 535, col 30) | 
|  602 info: [DynamicInvoke] expect(foo.instanceof(context['Foo']), true) requires dyna
     mic invoke (test/codegen/js_test.dart, line 536, col 7) |  602 info: [DynamicInvoke] expect(foo.instanceof(context['Foo']), true) requires dyna
     mic invoke (test/codegen/js_test.dart, line 536, col 7) | 
|  603 info: [DynamicCast] context['Foo'] (dynamic) will need runtime check to cast to 
     type JsFunction (test/codegen/js_test.dart, line 536, col 29) |  603 info: [DynamicCast] context['Foo'] (dynamic) will need runtime check to cast to 
     type JsFunction (test/codegen/js_test.dart, line 536, col 29) | 
|  604 info: [DynamicInvoke] expect(foo.instanceof(context['Object']), true) requires d
     ynamic invoke (test/codegen/js_test.dart, line 537, col 7) |  604 info: [DynamicInvoke] expect(foo.instanceof(context['Object']), true) requires d
     ynamic invoke (test/codegen/js_test.dart, line 537, col 7) | 
|  605 info: [DynamicCast] context['Object'] (dynamic) will need runtime check to cast 
     to type JsFunction (test/codegen/js_test.dart, line 537, col 29) |  605 info: [DynamicCast] context['Object'] (dynamic) will need runtime check to cast 
     to type JsFunction (test/codegen/js_test.dart, line 537, col 29) | 
|  606 info: [DynamicInvoke] expect(foo.instanceof(context['String']), false) requires 
     dynamic invoke (test/codegen/js_test.dart, line 538, col 7) |  606 info: [DynamicInvoke] expect(foo.instanceof(context['String']), false) requires 
     dynamic invoke (test/codegen/js_test.dart, line 538, col 7) | 
|  607 info: [DynamicCast] context['String'] (dynamic) will need runtime check to cast 
     to type JsFunction (test/codegen/js_test.dart, line 538, col 29) |  607 info: [DynamicCast] context['String'] (dynamic) will need runtime check to cast 
     to type JsFunction (test/codegen/js_test.dart, line 538, col 29) | 
|  608 info: [DynamicInvoke] test('deleteProperty', () {var object = new JsObject.jsify
     ({}); object['a'] = 1; expect(context['Object'].callMethod('keys', [object])['le
     ngth'], 1); expect(context['Object'].callMethod('keys', [object])[0], "a"); obje
     ct.deleteProperty("a"); expect(context['Object'].callMethod('keys', [object])['l
     ength'], 0);}) requires dynamic invoke (test/codegen/js_test.dart, line 541, col
      5) |  608 info: [DynamicInvoke] test('deleteProperty', () {var object = new JsObject.jsify
     ({}); object['a'] = 1; expect(context['Object'].callMethod('keys', [object])['le
     ngth'], 1); expect(context['Object'].callMethod('keys', [object])[0], "a"); obje
     ct.deleteProperty("a"); expect(context['Object'].callMethod('keys', [object])['l
     ength'], 0);}) requires dynamic invoke (test/codegen/js_test.dart, line 541, col
      5) | 
|  609 info: [DynamicInvoke] expect(context['Object'].callMethod('keys', [object])['len
     gth'], 1) requires dynamic invoke (test/codegen/js_test.dart, line 544, col 7) |  609 info: [DynamicInvoke] expect(context['Object'].callMethod('keys', [object])['len
     gth'], 1) requires dynamic invoke (test/codegen/js_test.dart, line 544, col 7) | 
 |  610 info: [DynamicInvoke] context['Object'].callMethod('keys', [object]) requires dy
     namic invoke (test/codegen/js_test.dart, line 544, col 14) | 
|  610 info: [DynamicInvoke] context['Object'].callMethod('keys', [object])['length'] r
     equires dynamic invoke (test/codegen/js_test.dart, line 544, col 14) |  611 info: [DynamicInvoke] context['Object'].callMethod('keys', [object])['length'] r
     equires dynamic invoke (test/codegen/js_test.dart, line 544, col 14) | 
|  611 info: [DynamicInvoke] context['Object'].callMethod('keys', [object]) requires dy
     namic invoke (test/codegen/js_test.dart, line 544, col 14) |  | 
|  612 info: [DynamicInvoke] expect(context['Object'].callMethod('keys', [object])[0], 
     "a") requires dynamic invoke (test/codegen/js_test.dart, line 545, col 7) |  612 info: [DynamicInvoke] expect(context['Object'].callMethod('keys', [object])[0], 
     "a") requires dynamic invoke (test/codegen/js_test.dart, line 545, col 7) | 
 |  613 info: [DynamicInvoke] context['Object'].callMethod('keys', [object]) requires dy
     namic invoke (test/codegen/js_test.dart, line 545, col 14) | 
|  613 info: [DynamicInvoke] context['Object'].callMethod('keys', [object])[0] requires
      dynamic invoke (test/codegen/js_test.dart, line 545, col 14) |  614 info: [DynamicInvoke] context['Object'].callMethod('keys', [object])[0] requires
      dynamic invoke (test/codegen/js_test.dart, line 545, col 14) | 
|  614 info: [DynamicInvoke] context['Object'].callMethod('keys', [object]) requires dy
     namic invoke (test/codegen/js_test.dart, line 545, col 14) |  | 
|  615 info: [DynamicInvoke] expect(context['Object'].callMethod('keys', [object])['len
     gth'], 0) requires dynamic invoke (test/codegen/js_test.dart, line 547, col 7) |  615 info: [DynamicInvoke] expect(context['Object'].callMethod('keys', [object])['len
     gth'], 0) requires dynamic invoke (test/codegen/js_test.dart, line 547, col 7) | 
 |  616 info: [DynamicInvoke] context['Object'].callMethod('keys', [object]) requires dy
     namic invoke (test/codegen/js_test.dart, line 547, col 14) | 
|  616 info: [DynamicInvoke] context['Object'].callMethod('keys', [object])['length'] r
     equires dynamic invoke (test/codegen/js_test.dart, line 547, col 14) |  617 info: [DynamicInvoke] context['Object'].callMethod('keys', [object])['length'] r
     equires dynamic invoke (test/codegen/js_test.dart, line 547, col 14) | 
|  617 info: [DynamicInvoke] context['Object'].callMethod('keys', [object]) requires dy
     namic invoke (test/codegen/js_test.dart, line 547, col 14) |  | 
|  618 info: [DynamicInvoke] test('hasProperty', () {var object = new JsObject.jsify({}
     ); object['a'] = 1; expect(object.hasProperty('a'), true); expect(object.hasProp
     erty('b'), false);}) requires dynamic invoke (test/codegen/js_test.dart, line 55
     0, col 5) |  618 info: [DynamicInvoke] test('hasProperty', () {var object = new JsObject.jsify({}
     ); object['a'] = 1; expect(object.hasProperty('a'), true); expect(object.hasProp
     erty('b'), false);}) requires dynamic invoke (test/codegen/js_test.dart, line 55
     0, col 5) | 
|  619 info: [DynamicInvoke] expect(object.hasProperty('a'), true) requires dynamic inv
     oke (test/codegen/js_test.dart, line 553, col 7) |  619 info: [DynamicInvoke] expect(object.hasProperty('a'), true) requires dynamic inv
     oke (test/codegen/js_test.dart, line 553, col 7) | 
|  620 info: [DynamicInvoke] expect(object.hasProperty('b'), false) requires dynamic in
     voke (test/codegen/js_test.dart, line 554, col 7) |  620 info: [DynamicInvoke] expect(object.hasProperty('b'), false) requires dynamic in
     voke (test/codegen/js_test.dart, line 554, col 7) | 
|  621 info: [DynamicInvoke] test('[] and []=', () {final myArray = context['myArray'];
      expect(myArray['length'], 1); expect(myArray[0], "value1"); myArray[0] = "value
     2"; expect(myArray['length'], 1); expect(myArray[0], "value2"); final foo = new 
     JsObject(context['Foo'], [1]); foo["getAge"] = () => 10; expect(foo.callMethod('
     getAge'), 10);}) requires dynamic invoke (test/codegen/js_test.dart, line 557, c
     ol 5) |  621 info: [DynamicInvoke] test('[] and []=', () {final myArray = context['myArray'];
      expect(myArray['length'], 1); expect(myArray[0], "value1"); myArray[0] = "value
     2"; expect(myArray['length'], 1); expect(myArray[0], "value2"); final foo = new 
     JsObject(context['Foo'], [1]); foo["getAge"] = () => 10; expect(foo.callMethod('
     getAge'), 10);}) requires dynamic invoke (test/codegen/js_test.dart, line 557, c
     ol 5) | 
|  622 info: [DynamicInvoke] expect(myArray['length'], 1) requires dynamic invoke (test
     /codegen/js_test.dart, line 559, col 7) |  622 info: [DynamicInvoke] expect(myArray['length'], 1) requires dynamic invoke (test
     /codegen/js_test.dart, line 559, col 7) | 
|  623 info: [DynamicInvoke] myArray['length'] requires dynamic invoke (test/codegen/js
     _test.dart, line 559, col 14) |  623 info: [DynamicInvoke] myArray['length'] requires dynamic invoke (test/codegen/js
     _test.dart, line 559, col 14) | 
|  624 info: [DynamicInvoke] expect(myArray[0], "value1") requires dynamic invoke (test
     /codegen/js_test.dart, line 560, col 7) |  624 info: [DynamicInvoke] expect(myArray[0], "value1") requires dynamic invoke (test
     /codegen/js_test.dart, line 560, col 7) | 
|  625 info: [DynamicInvoke] myArray[0] requires dynamic invoke (test/codegen/js_test.d
     art, line 560, col 14) |  625 info: [DynamicInvoke] myArray[0] requires dynamic invoke (test/codegen/js_test.d
     art, line 560, col 14) | 
|  626 info: [DynamicInvoke] myArray[0] requires dynamic invoke (test/codegen/js_test.d
     art, line 561, col 7) |  626 info: [DynamicInvoke] myArray[0] requires dynamic invoke (test/codegen/js_test.d
     art, line 561, col 7) | 
|  627 info: [DynamicInvoke] expect(myArray['length'], 1) requires dynamic invoke (test
     /codegen/js_test.dart, line 562, col 7) |  627 info: [DynamicInvoke] expect(myArray['length'], 1) requires dynamic invoke (test
     /codegen/js_test.dart, line 562, col 7) | 
|  628 info: [DynamicInvoke] myArray['length'] requires dynamic invoke (test/codegen/js
     _test.dart, line 562, col 14) |  628 info: [DynamicInvoke] myArray['length'] requires dynamic invoke (test/codegen/js
     _test.dart, line 562, col 14) | 
|  629 info: [DynamicInvoke] expect(myArray[0], "value2") requires dynamic invoke (test
     /codegen/js_test.dart, line 563, col 7) |  629 info: [DynamicInvoke] expect(myArray[0], "value2") requires dynamic invoke (test
     /codegen/js_test.dart, line 563, col 7) | 
|  630 info: [DynamicInvoke] myArray[0] requires dynamic invoke (test/codegen/js_test.d
     art, line 563, col 14) |  630 info: [DynamicInvoke] myArray[0] requires dynamic invoke (test/codegen/js_test.d
     art, line 563, col 14) | 
|  631 info: [DynamicCast] context['Foo'] (dynamic) will need runtime check to cast to 
     type JsFunction (test/codegen/js_test.dart, line 565, col 32) |  631 info: [DynamicCast] context['Foo'] (dynamic) will need runtime check to cast to 
     type JsFunction (test/codegen/js_test.dart, line 565, col 32) | 
|  632 info: [DynamicInvoke] expect(foo.callMethod('getAge'), 10) requires dynamic invo
     ke (test/codegen/js_test.dart, line 567, col 7) |  632 info: [DynamicInvoke] expect(foo.callMethod('getAge'), 10) requires dynamic invo
     ke (test/codegen/js_test.dart, line 567, col 7) | 
|  633 info: [DynamicInvoke] group('transferrables', () {group('JS->Dart', () {test('Da
     teTime', () {var date = context.callMethod('getNewDate'); expect(date is DateTim
     e, true);}); test('window', () {expect(context['window'] is Window, true);}); te
     st('foreign browser objects should be proxied', () {var iframe = document.create
     Element('iframe'); document.body.appendChild(iframe); var proxy = new JsObject.f
     romBrowserObject(iframe); var contentWindow = proxy['contentWindow']; expect(con
     tentWindow, isNot((a) => a is Window)); expect(contentWindow, (a) => a is JsObje
     ct); var foreignDoc = contentWindow['document']; expect(foreignDoc, isNot((a) =>
      a is Node)); expect(foreignDoc, (a) => a is JsObject); var clicked = false; for
     eignDoc['onclick'] = (e) {expect(e, isNot((a) => a is Event)); expect(e, (a) => 
     a is JsObject); clicked = true;}; context.callMethod('fireClickEvent', [contentW
     indow]); expect(clicked, true);}); test('document', () {expect(context['document
     '] is Document, true);}); test('Blob', () {var blob = context.callMethod('getNew
     Blob'); expect(blob is Blob, true); expect(blob.type, 'text/html');}); test('una
     ttached DivElement', () {var node = context.callMethod('getNewDivElement'); expe
     ct(node is DivElement, true);}); test('Event', () {var event = context.callMetho
     d('getNewEvent'); expect(event is Event, true);}); test('ImageData', () {var nod
     e = context.callMethod('getNewImageData'); expect(node is ImageData, true);});})
     ; group('Dart->JS', () {test('Date', () {context['o'] = new DateTime(1995, 12, 1
     7); var dateType = context['Date']; expect(context.callMethod('isPropertyInstanc
     eOf', ['o', dateType]), true); context.deleteProperty('o');}); test('window', ()
      {context['o'] = window; var windowType = context['Window']; expect(context.call
     Method('isPropertyInstanceOf', ['o', windowType]), true); context.deleteProperty
     ('o');}); test('document', () {context['o'] = document; var documentType = conte
     xt['Document']; expect(context.callMethod('isPropertyInstanceOf', ['o', document
     Type]), true); context.deleteProperty('o');}); test('Blob', () {var fileParts = 
     ['<a id="a"><b id="b">hey!</b></a>']; context['o'] = new Blob(fileParts, type: '
     text/html'); var blobType = context['Blob']; expect(context.callMethod('isProper
     tyInstanceOf', ['o', blobType]), true); context.deleteProperty('o');}); test('un
     attached DivElement', () {context['o'] = document.createElement('div'); var divT
     ype = context['HTMLDivElement']; expect(context.callMethod('isPropertyInstanceOf
     ', ['o', divType]), true); context.deleteProperty('o');}); test('Event', () {con
     text['o'] = new CustomEvent('test'); var eventType = context['Event']; expect(co
     ntext.callMethod('isPropertyInstanceOf', ['o', eventType]), true); context.delet
     eProperty('o');}); test('ImageData', () {CanvasElement canvas = document.createE
     lement('canvas'); var ctx = canvas.getContext('2d') as CanvasRenderingContext2D;
      context['o'] = ctx.createImageData(1, 1); var imageDataType = context['ImageDat
     a']; expect(context.callMethod('isPropertyInstanceOf', ['o', imageDataType]), tr
     ue); context.deleteProperty('o');});});}) requires dynamic invoke (test/codegen/
     js_test.dart, line 572, col 3) |  633 info: [DynamicInvoke] group('transferrables', () {group('JS->Dart', () {test('Da
     teTime', () {var date = context.callMethod('getNewDate'); expect(date is DateTim
     e, true);}); test('window', () {expect(context['window'] is Window, true);}); te
     st('foreign browser objects should be proxied', () {var iframe = document.create
     Element('iframe'); document.body.appendChild(iframe); var proxy = new JsObject.f
     romBrowserObject(iframe); var contentWindow = proxy['contentWindow']; expect(con
     tentWindow, isNot((a) => a is Window)); expect(contentWindow, (a) => a is JsObje
     ct); var foreignDoc = contentWindow['document']; expect(foreignDoc, isNot((a) =>
      a is Node)); expect(foreignDoc, (a) => a is JsObject); var clicked = false; for
     eignDoc['onclick'] = (e) {expect(e, isNot((a) => a is Event)); expect(e, (a) => 
     a is JsObject); clicked = true;}; context.callMethod('fireClickEvent', [contentW
     indow]); expect(clicked, true);}); test('document', () {expect(context['document
     '] is Document, true);}); test('Blob', () {var blob = context.callMethod('getNew
     Blob'); expect(blob is Blob, true); expect(blob.type, 'text/html');}); test('una
     ttached DivElement', () {var node = context.callMethod('getNewDivElement'); expe
     ct(node is DivElement, true);}); test('Event', () {var event = context.callMetho
     d('getNewEvent'); expect(event is Event, true);}); test('ImageData', () {var nod
     e = context.callMethod('getNewImageData'); expect(node is ImageData, true);});})
     ; group('Dart->JS', () {test('Date', () {context['o'] = new DateTime(1995, 12, 1
     7); var dateType = context['Date']; expect(context.callMethod('isPropertyInstanc
     eOf', ['o', dateType]), true); context.deleteProperty('o');}); test('window', ()
      {context['o'] = window; var windowType = context['Window']; expect(context.call
     Method('isPropertyInstanceOf', ['o', windowType]), true); context.deleteProperty
     ('o');}); test('document', () {context['o'] = document; var documentType = conte
     xt['Document']; expect(context.callMethod('isPropertyInstanceOf', ['o', document
     Type]), true); context.deleteProperty('o');}); test('Blob', () {var fileParts = 
     ['<a id="a"><b id="b">hey!</b></a>']; context['o'] = new Blob(fileParts, type: '
     text/html'); var blobType = context['Blob']; expect(context.callMethod('isProper
     tyInstanceOf', ['o', blobType]), true); context.deleteProperty('o');}); test('un
     attached DivElement', () {context['o'] = document.createElement('div'); var divT
     ype = context['HTMLDivElement']; expect(context.callMethod('isPropertyInstanceOf
     ', ['o', divType]), true); context.deleteProperty('o');}); test('Event', () {con
     text['o'] = new CustomEvent('test'); var eventType = context['Event']; expect(co
     ntext.callMethod('isPropertyInstanceOf', ['o', eventType]), true); context.delet
     eProperty('o');}); test('ImageData', () {CanvasElement canvas = document.createE
     lement('canvas'); var ctx = canvas.getContext('2d') as CanvasRenderingContext2D;
      context['o'] = ctx.createImageData(1, 1); var imageDataType = context['ImageDat
     a']; expect(context.callMethod('isPropertyInstanceOf', ['o', imageDataType]), tr
     ue); context.deleteProperty('o');});});}) requires dynamic invoke (test/codegen/
     js_test.dart, line 572, col 3) | 
|  634 info: [DynamicInvoke] group('JS->Dart', () {test('DateTime', () {var date = cont
     ext.callMethod('getNewDate'); expect(date is DateTime, true);}); test('window', 
     () {expect(context['window'] is Window, true);}); test('foreign browser objects 
     should be proxied', () {var iframe = document.createElement('iframe'); document.
     body.appendChild(iframe); var proxy = new JsObject.fromBrowserObject(iframe); va
     r contentWindow = proxy['contentWindow']; expect(contentWindow, isNot((a) => a i
     s Window)); expect(contentWindow, (a) => a is JsObject); var foreignDoc = conten
     tWindow['document']; expect(foreignDoc, isNot((a) => a is Node)); expect(foreign
     Doc, (a) => a is JsObject); var clicked = false; foreignDoc['onclick'] = (e) {ex
     pect(e, isNot((a) => a is Event)); expect(e, (a) => a is JsObject); clicked = tr
     ue;}; context.callMethod('fireClickEvent', [contentWindow]); expect(clicked, tru
     e);}); test('document', () {expect(context['document'] is Document, true);}); te
     st('Blob', () {var blob = context.callMethod('getNewBlob'); expect(blob is Blob,
      true); expect(blob.type, 'text/html');}); test('unattached DivElement', () {var
      node = context.callMethod('getNewDivElement'); expect(node is DivElement, true)
     ;}); test('Event', () {var event = context.callMethod('getNewEvent'); expect(eve
     nt is Event, true);}); test('ImageData', () {var node = context.callMethod('getN
     ewImageData'); expect(node is ImageData, true);});}) requires dynamic invoke (te
     st/codegen/js_test.dart, line 574, col 5) |  634 info: [DynamicInvoke] group('JS->Dart', () {test('DateTime', () {var date = cont
     ext.callMethod('getNewDate'); expect(date is DateTime, true);}); test('window', 
     () {expect(context['window'] is Window, true);}); test('foreign browser objects 
     should be proxied', () {var iframe = document.createElement('iframe'); document.
     body.appendChild(iframe); var proxy = new JsObject.fromBrowserObject(iframe); va
     r contentWindow = proxy['contentWindow']; expect(contentWindow, isNot((a) => a i
     s Window)); expect(contentWindow, (a) => a is JsObject); var foreignDoc = conten
     tWindow['document']; expect(foreignDoc, isNot((a) => a is Node)); expect(foreign
     Doc, (a) => a is JsObject); var clicked = false; foreignDoc['onclick'] = (e) {ex
     pect(e, isNot((a) => a is Event)); expect(e, (a) => a is JsObject); clicked = tr
     ue;}; context.callMethod('fireClickEvent', [contentWindow]); expect(clicked, tru
     e);}); test('document', () {expect(context['document'] is Document, true);}); te
     st('Blob', () {var blob = context.callMethod('getNewBlob'); expect(blob is Blob,
      true); expect(blob.type, 'text/html');}); test('unattached DivElement', () {var
      node = context.callMethod('getNewDivElement'); expect(node is DivElement, true)
     ;}); test('Event', () {var event = context.callMethod('getNewEvent'); expect(eve
     nt is Event, true);}); test('ImageData', () {var node = context.callMethod('getN
     ewImageData'); expect(node is ImageData, true);});}) requires dynamic invoke (te
     st/codegen/js_test.dart, line 574, col 5) | 
|  635 info: [DynamicInvoke] test('DateTime', () {var date = context.callMethod('getNew
     Date'); expect(date is DateTime, true);}) requires dynamic invoke (test/codegen/
     js_test.dart, line 576, col 7) |  635 info: [DynamicInvoke] test('DateTime', () {var date = context.callMethod('getNew
     Date'); expect(date is DateTime, true);}) requires dynamic invoke (test/codegen/
     js_test.dart, line 576, col 7) | 
|  636 info: [DynamicInvoke] expect(date is DateTime, true) requires dynamic invoke (te
     st/codegen/js_test.dart, line 578, col 9) |  636 info: [DynamicInvoke] expect(date is DateTime, true) requires dynamic invoke (te
     st/codegen/js_test.dart, line 578, col 9) | 
|  637 info: [DynamicInvoke] test('window', () {expect(context['window'] is Window, tru
     e);}) requires dynamic invoke (test/codegen/js_test.dart, line 581, col 7) |  637 info: [DynamicInvoke] test('window', () {expect(context['window'] is Window, tru
     e);}) requires dynamic invoke (test/codegen/js_test.dart, line 581, col 7) | 
|  638 info: [DynamicInvoke] expect(context['window'] is Window, true) requires dynamic
      invoke (test/codegen/js_test.dart, line 582, col 9) |  638 info: [DynamicInvoke] expect(context['window'] is Window, true) requires dynamic
      invoke (test/codegen/js_test.dart, line 582, col 9) | 
|  639 info: [DynamicInvoke] test('foreign browser objects should be proxied', () {var 
     iframe = document.createElement('iframe'); document.body.appendChild(iframe); va
     r proxy = new JsObject.fromBrowserObject(iframe); var contentWindow = proxy['con
     tentWindow']; expect(contentWindow, isNot((a) => a is Window)); expect(contentWi
     ndow, (a) => a is JsObject); var foreignDoc = contentWindow['document']; expect(
     foreignDoc, isNot((a) => a is Node)); expect(foreignDoc, (a) => a is JsObject); 
     var clicked = false; foreignDoc['onclick'] = (e) {expect(e, isNot((a) => a is Ev
     ent)); expect(e, (a) => a is JsObject); clicked = true;}; context.callMethod('fi
     reClickEvent', [contentWindow]); expect(clicked, true);}) requires dynamic invok
     e (test/codegen/js_test.dart, line 585, col 7) |  639 info: [DynamicInvoke] test('foreign browser objects should be proxied', () {var 
     iframe = document.createElement('iframe'); document.body.appendChild(iframe); va
     r proxy = new JsObject.fromBrowserObject(iframe); var contentWindow = proxy['con
     tentWindow']; expect(contentWindow, isNot((a) => a is Window)); expect(contentWi
     ndow, (a) => a is JsObject); var foreignDoc = contentWindow['document']; expect(
     foreignDoc, isNot((a) => a is Node)); expect(foreignDoc, (a) => a is JsObject); 
     var clicked = false; foreignDoc['onclick'] = (e) {expect(e, isNot((a) => a is Ev
     ent)); expect(e, (a) => a is JsObject); clicked = true;}; context.callMethod('fi
     reClickEvent', [contentWindow]); expect(clicked, true);}) requires dynamic invok
     e (test/codegen/js_test.dart, line 585, col 7) | 
|  640 info: [DynamicInvoke] document.createElement('iframe') requires dynamic invoke (
     test/codegen/js_test.dart, line 586, col 22) |  640 info: [DynamicInvoke] document.createElement('iframe') requires dynamic invoke (
     test/codegen/js_test.dart, line 586, col 22) | 
 |  641 info: [DynamicInvoke] document.body requires dynamic invoke (test/codegen/js_tes
     t.dart, line 587, col 9) | 
|  641 info: [DynamicInvoke] document.body.appendChild(iframe) requires dynamic invoke 
     (test/codegen/js_test.dart, line 587, col 9) |  642 info: [DynamicInvoke] document.body.appendChild(iframe) requires dynamic invoke 
     (test/codegen/js_test.dart, line 587, col 9) | 
|  642 info: [DynamicInvoke] document.body requires dynamic invoke (test/codegen/js_tes
     t.dart, line 587, col 9) |  | 
|  643 info: [DynamicInvoke] expect(contentWindow, isNot((a) => a is Window)) requires 
     dynamic invoke (test/codegen/js_test.dart, line 592, col 9) |  643 info: [DynamicInvoke] expect(contentWindow, isNot((a) => a is Window)) requires 
     dynamic invoke (test/codegen/js_test.dart, line 592, col 9) | 
|  644 info: [DynamicInvoke] isNot((a) => a is Window) requires dynamic invoke (test/co
     degen/js_test.dart, line 592, col 31) |  644 info: [DynamicInvoke] isNot((a) => a is Window) requires dynamic invoke (test/co
     degen/js_test.dart, line 592, col 31) | 
|  645 info: [DynamicInvoke] expect(contentWindow, (a) => a is JsObject) requires dynam
     ic invoke (test/codegen/js_test.dart, line 593, col 9) |  645 info: [DynamicInvoke] expect(contentWindow, (a) => a is JsObject) requires dynam
     ic invoke (test/codegen/js_test.dart, line 593, col 9) | 
|  646 info: [DynamicInvoke] contentWindow['document'] requires dynamic invoke (test/co
     degen/js_test.dart, line 596, col 26) |  646 info: [DynamicInvoke] contentWindow['document'] requires dynamic invoke (test/co
     degen/js_test.dart, line 596, col 26) | 
|  647 info: [DynamicInvoke] expect(foreignDoc, isNot((a) => a is Node)) requires dynam
     ic invoke (test/codegen/js_test.dart, line 597, col 9) |  647 info: [DynamicInvoke] expect(foreignDoc, isNot((a) => a is Node)) requires dynam
     ic invoke (test/codegen/js_test.dart, line 597, col 9) | 
|  648 info: [DynamicInvoke] isNot((a) => a is Node) requires dynamic invoke (test/code
     gen/js_test.dart, line 597, col 28) |  648 info: [DynamicInvoke] isNot((a) => a is Node) requires dynamic invoke (test/code
     gen/js_test.dart, line 597, col 28) | 
|  649 info: [DynamicInvoke] expect(foreignDoc, (a) => a is JsObject) requires dynamic 
     invoke (test/codegen/js_test.dart, line 598, col 9) |  649 info: [DynamicInvoke] expect(foreignDoc, (a) => a is JsObject) requires dynamic 
     invoke (test/codegen/js_test.dart, line 598, col 9) | 
|  650 info: [DynamicInvoke] foreignDoc['onclick'] requires dynamic invoke (test/codege
     n/js_test.dart, line 602, col 9) |  650 info: [DynamicInvoke] foreignDoc['onclick'] requires dynamic invoke (test/codege
     n/js_test.dart, line 602, col 9) | 
|  651 info: [DynamicInvoke] expect(e, isNot((a) => a is Event)) requires dynamic invok
     e (test/codegen/js_test.dart, line 603, col 11) |  651 info: [DynamicInvoke] expect(e, isNot((a) => a is Event)) requires dynamic invok
     e (test/codegen/js_test.dart, line 603, col 11) | 
|  652 info: [DynamicInvoke] isNot((a) => a is Event) requires dynamic invoke (test/cod
     egen/js_test.dart, line 603, col 21) |  652 info: [DynamicInvoke] isNot((a) => a is Event) requires dynamic invoke (test/cod
     egen/js_test.dart, line 603, col 21) | 
| (...skipping 23 matching lines...) Expand all  Loading... | 
|  676 info: [DynamicInvoke] test('unattached DivElement', () {context['o'] = document.
     createElement('div'); var divType = context['HTMLDivElement']; expect(context.ca
     llMethod('isPropertyInstanceOf', ['o', divType]), true); context.deleteProperty(
     'o');}) requires dynamic invoke (test/codegen/js_test.dart, line 674, col 7) |  676 info: [DynamicInvoke] test('unattached DivElement', () {context['o'] = document.
     createElement('div'); var divType = context['HTMLDivElement']; expect(context.ca
     llMethod('isPropertyInstanceOf', ['o', divType]), true); context.deleteProperty(
     'o');}) requires dynamic invoke (test/codegen/js_test.dart, line 674, col 7) | 
|  677 info: [DynamicInvoke] document.createElement('div') requires dynamic invoke (tes
     t/codegen/js_test.dart, line 675, col 24) |  677 info: [DynamicInvoke] document.createElement('div') requires dynamic invoke (tes
     t/codegen/js_test.dart, line 675, col 24) | 
|  678 info: [DynamicInvoke] expect(context.callMethod('isPropertyInstanceOf', ['o', di
     vType]), true) requires dynamic invoke (test/codegen/js_test.dart, line 677, col
      9) |  678 info: [DynamicInvoke] expect(context.callMethod('isPropertyInstanceOf', ['o', di
     vType]), true) requires dynamic invoke (test/codegen/js_test.dart, line 677, col
      9) | 
|  679 info: [DynamicInvoke] test('Event', () {context['o'] = new CustomEvent('test'); 
     var eventType = context['Event']; expect(context.callMethod('isPropertyInstanceO
     f', ['o', eventType]), true); context.deleteProperty('o');}) requires dynamic in
     voke (test/codegen/js_test.dart, line 682, col 7) |  679 info: [DynamicInvoke] test('Event', () {context['o'] = new CustomEvent('test'); 
     var eventType = context['Event']; expect(context.callMethod('isPropertyInstanceO
     f', ['o', eventType]), true); context.deleteProperty('o');}) requires dynamic in
     voke (test/codegen/js_test.dart, line 682, col 7) | 
|  680 info: [DynamicInvoke] expect(context.callMethod('isPropertyInstanceOf', ['o', ev
     entType]), true) requires dynamic invoke (test/codegen/js_test.dart, line 685, c
     ol 9) |  680 info: [DynamicInvoke] expect(context.callMethod('isPropertyInstanceOf', ['o', ev
     entType]), true) requires dynamic invoke (test/codegen/js_test.dart, line 685, c
     ol 9) | 
|  681 info: [DynamicInvoke] test('ImageData', () {CanvasElement canvas = document.crea
     teElement('canvas'); var ctx = canvas.getContext('2d') as CanvasRenderingContext
     2D; context['o'] = ctx.createImageData(1, 1); var imageDataType = context['Image
     Data']; expect(context.callMethod('isPropertyInstanceOf', ['o', imageDataType]),
      true); context.deleteProperty('o');}) requires dynamic invoke (test/codegen/js_
     test.dart, line 693, col 7) |  681 info: [DynamicInvoke] test('ImageData', () {CanvasElement canvas = document.crea
     teElement('canvas'); var ctx = canvas.getContext('2d') as CanvasRenderingContext
     2D; context['o'] = ctx.createImageData(1, 1); var imageDataType = context['Image
     Data']; expect(context.callMethod('isPropertyInstanceOf', ['o', imageDataType]),
      true); context.deleteProperty('o');}) requires dynamic invoke (test/codegen/js_
     test.dart, line 693, col 7) | 
|  682 info: [DynamicInvoke] document.createElement('canvas') requires dynamic invoke (
     test/codegen/js_test.dart, line 694, col 32) |  682 info: [DynamicInvoke] document.createElement('canvas') requires dynamic invoke (
     test/codegen/js_test.dart, line 694, col 32) | 
|  683 info: [DynamicInvoke] canvas.getContext('2d') requires dynamic invoke (test/code
     gen/js_test.dart, line 695, col 19) |  683 info: [DynamicInvoke] canvas.getContext('2d') requires dynamic invoke (test/code
     gen/js_test.dart, line 695, col 19) | 
|  684 info: [DynamicInvoke] ctx.createImageData(1, 1) requires dynamic invoke (test/co
     degen/js_test.dart, line 696, col 24) |  684 info: [DynamicInvoke] ctx.createImageData(1, 1) requires dynamic invoke (test/co
     degen/js_test.dart, line 696, col 24) | 
|  685 info: [DynamicInvoke] expect(context.callMethod('isPropertyInstanceOf', ['o', im
     ageDataType]), true) requires dynamic invoke (test/codegen/js_test.dart, line 69
     8, col 9) |  685 info: [DynamicInvoke] expect(context.callMethod('isPropertyInstanceOf', ['o', im
     ageDataType]), true) requires dynamic invoke (test/codegen/js_test.dart, line 69
     8, col 9) | 
| OLD | NEW |