| OLD | NEW |
| (Empty) | |
| 1 // Copyright (c) 2014, 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 |
| 5 // See inspector.txt for expected behavior. |
| 6 |
| 7 library manual_inspector_test; |
| 8 |
| 9 import 'dart:isolate'; |
| 10 import 'dart:mirrors'; |
| 11 import 'dart:profiler'; |
| 12 import 'dart:typed_data'; |
| 13 |
| 14 class A <T> {} |
| 15 class B <S extends num> {} |
| 16 |
| 17 var array; |
| 18 var bigint; |
| 19 var blockClean; |
| 20 var blockCopying; |
| 21 var blockFull; |
| 22 var blockFullWithChain; |
| 23 var boundedType; |
| 24 var capability; |
| 25 var counter; |
| 26 var expando; |
| 27 var float32x4; |
| 28 var float64; |
| 29 var float64x2; |
| 30 var gauge; |
| 31 var growableList; |
| 32 var int32x4; |
| 33 var isolate; |
| 34 var map; |
| 35 var mint; |
| 36 var mirrorClass; |
| 37 var mirrorClosure; |
| 38 var mirrorInstance; |
| 39 var mirrorReference; |
| 40 var portReceive; |
| 41 var portSend; |
| 42 var regex; |
| 43 var smi; |
| 44 var stacktrace; |
| 45 var string; |
| 46 var stringLatin1; |
| 47 var stringSnowflake; |
| 48 var stringUnicode; |
| 49 var theFalse; |
| 50 var theNull; |
| 51 var theTrue; |
| 52 var type; |
| 53 var typeParameter; |
| 54 var typedData; |
| 55 var uninitialized = new Object(); |
| 56 var userTag; |
| 57 var weakProperty; |
| 58 |
| 59 extractPrivateField(obj, name) { |
| 60 return reflect(obj).getField(MirrorSystem.getSymbol(name, reflect(obj).type.ow
ner)).reflectee; |
| 61 } |
| 62 |
| 63 genStacktrace() { |
| 64 try { |
| 65 num.parse(','); |
| 66 } catch (e, s) { |
| 67 return s; |
| 68 } |
| 69 } |
| 70 |
| 71 genCleanBlock() { |
| 72 block(x) => x; |
| 73 return block; |
| 74 } |
| 75 |
| 76 genCopyingBlock() { |
| 77 final x = 'I could be copied down'; |
| 78 block() => x; |
| 79 return block; |
| 80 } |
| 81 |
| 82 genFullBlock() { |
| 83 var x = 0; |
| 84 block() => x++; |
| 85 return block; |
| 86 } |
| 87 |
| 88 genFullBlockWithChain() { |
| 89 var x = 0; |
| 90 outer() { |
| 91 var y = 0; |
| 92 block() => x++ + y++; |
| 93 return block; |
| 94 } |
| 95 return outer; |
| 96 } |
| 97 |
| 98 secondMain(msg) { } |
| 99 |
| 100 main() { |
| 101 print("Started main"); |
| 102 |
| 103 array = new List(1); |
| 104 bigint = 1 << 65; |
| 105 blockClean = genCleanBlock(); |
| 106 blockCopying = genCopyingBlock(); |
| 107 blockFull = genFullBlock(); |
| 108 blockFullWithChain = genFullBlockWithChain(); |
| 109 boundedType = extractPrivateField(reflect(new B<int>()).type.typeVariables.sin
gle, '_reflectee'); |
| 110 counter = new Counter("CounterName", "Counter description"); |
| 111 expando = new Expando("expando-name"); |
| 112 expando[array] = 'The weakly associated value'; |
| 113 float32x4 = new Float32x4.zero(); |
| 114 float64 = 3.14; |
| 115 float64x2 = new Float64x2.zero(); |
| 116 gauge = new Gauge("GaugeName", "Gauge description", 0.0, 100.0); |
| 117 growableList = new List(); |
| 118 int32x4 = new Int32x4(0,0,0,0); |
| 119 map = { "x":3, "y":4 }; |
| 120 mint = 1 << 32; |
| 121 mirrorClass = reflectClass(Object); |
| 122 mirrorClosure = reflect(blockFull); |
| 123 mirrorInstance = reflect("a reflectee"); |
| 124 mirrorReference = extractPrivateField(mirrorClass, '_reflectee'); |
| 125 portReceive = new RawReceivePort(); |
| 126 regex = new RegExp("a*b+c"); |
| 127 smi = 7; |
| 128 stacktrace = genStacktrace(); |
| 129 string = "Hello"; |
| 130 stringLatin1 = "blåbærgrød"; |
| 131 stringSnowflake = "❄"; |
| 132 stringUnicode = "Îñţérñåţîöñåļîžåţîờñ"; |
| 133 theFalse = false; |
| 134 theNull = null; |
| 135 theTrue = true; |
| 136 type = String; |
| 137 typeParameter = extractPrivateField(reflectClass(A).typeVariables.single, '_re
flectee'); |
| 138 typedData = extractPrivateField(new ByteData(64), '_typedData'); |
| 139 userTag = new UserTag("Example tag name"); |
| 140 weakProperty = extractPrivateField(expando, '_data').firstWhere((e) => e != nu
ll); |
| 141 |
| 142 Isolate.spawn(secondMain, "Hello").then((otherIsolate) { |
| 143 isolate = otherIsolate; |
| 144 portSend = otherIsolate.controlPort; |
| 145 capability = otherIsolate.terminateCapability; |
| 146 }); |
| 147 |
| 148 print("Finished main"); |
| 149 } |
| OLD | NEW |