Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(139)

Side by Side Diff: runtime/bin/vmservice/observatory/tests/ui/inspector.dart

Issue 545343002: Add a manual test for inspecting types that have a special VM implementation. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | runtime/bin/vmservice/observatory/tests/ui/inspector.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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 }
OLDNEW
« no previous file with comments | « no previous file | runtime/bin/vmservice/observatory/tests/ui/inspector.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698