| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 // Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file |  | 
| 2 // for details. All rights reserved. Use of this source code is governed by a |  | 
| 3 // BSD-style license that can be found in the LICENSE file. |  | 
| 4 // VMOptions=--enable_type_checks |  | 
| 5 // |  | 
| 6 // Dart test program testing type checks in map literals. |  | 
| 7 |  | 
| 8 class MapLiteral4Test<T> { |  | 
| 9   test() { |  | 
| 10     int result = 0; |  | 
| 11     try { |  | 
| 12       var m = <String>{"a": 0};  // 0 is not a String. |  | 
| 13     } catch (TypeError error) { |  | 
| 14       result += 1; |  | 
| 15     } |  | 
| 16     try { |  | 
| 17       var m = <int>{"a": 0}; |  | 
| 18       m[2] = 1;  // 2 is not a String. |  | 
| 19     } catch (TypeError error) { |  | 
| 20       result += 10; |  | 
| 21     } |  | 
| 22     try { |  | 
| 23       var m = <T>{"a": "b"};  // "b" is not an int. |  | 
| 24     } catch (TypeError error) { |  | 
| 25       result += 100; |  | 
| 26     } |  | 
| 27     try { |  | 
| 28       var m = <T>{"a": 0};  // OK. |  | 
| 29     } catch (TypeError error) { |  | 
| 30       result += 1000; |  | 
| 31     } |  | 
| 32     try { |  | 
| 33       var m = <T>{"a": 0}; |  | 
| 34       m[2] = 1;  // 2 is not a String. |  | 
| 35     } catch (TypeError error) { |  | 
| 36       result += 10000; |  | 
| 37     } |  | 
| 38     try { |  | 
| 39       var m = const <int>{"a": 0}; |  | 
| 40       m[2] = 1;  // 2 is not a String. |  | 
| 41     } catch (TypeError error) { |  | 
| 42       result += 100000; |  | 
| 43     } |  | 
| 44     return result; |  | 
| 45   } |  | 
| 46 } |  | 
| 47 |  | 
| 48 main() { |  | 
| 49   var t = new MapLiteral4Test<int>(); |  | 
| 50   Expect.equals(110111, t.test()); |  | 
| 51 } |  | 
| 52 |  | 
| 53 |  | 
| OLD | NEW | 
|---|