| OLD | NEW | 
|---|
| 1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
| 2 // for details. All rights reserved. Use of this source code is governed by a | 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. | 3 // BSD-style license that can be found in the LICENSE file. | 
| 4 | 4 | 
| 5 library instance_view_element; | 5 library instance_view_element; | 
| 6 | 6 | 
| 7 import 'dart:async'; | 7 import 'dart:async'; | 
| 8 import 'dart:html'; | 8 import 'dart:html'; | 
| 9 import 'package:observatory/models.dart' as M; | 9 import 'package:observatory/models.dart' as M; | 
| 10 import 'package:observatory/src/elements/class_ref.dart'; | 10 import 'package:observatory/src/elements/class_ref.dart'; | 
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 57   RenderingScheduler<InstanceViewElement> _r; | 57   RenderingScheduler<InstanceViewElement> _r; | 
| 58 | 58 | 
| 59   Stream<RenderedEvent<InstanceViewElement>> get onRendered => _r.onRendered; | 59   Stream<RenderedEvent<InstanceViewElement>> get onRendered => _r.onRendered; | 
| 60 | 60 | 
| 61   M.VM _vm; | 61   M.VM _vm; | 
| 62   M.IsolateRef _isolate; | 62   M.IsolateRef _isolate; | 
| 63   M.EventRepository _events; | 63   M.EventRepository _events; | 
| 64   M.NotificationRepository _notifications; | 64   M.NotificationRepository _notifications; | 
| 65   M.Instance _instance; | 65   M.Instance _instance; | 
| 66   M.LibraryRef _library; | 66   M.LibraryRef _library; | 
| 67   M.InstanceRepository _instances; | 67   M.ObjectRepository _objects; | 
| 68   M.ClassRepository _classes; | 68   M.ClassRepository _classes; | 
| 69   M.RetainedSizeRepository _retainedSizes; | 69   M.RetainedSizeRepository _retainedSizes; | 
| 70   M.ReachableSizeRepository _reachableSizes; | 70   M.ReachableSizeRepository _reachableSizes; | 
| 71   M.InboundReferencesRepository _references; | 71   M.InboundReferencesRepository _references; | 
| 72   M.RetainingPathRepository _retainingPaths; | 72   M.RetainingPathRepository _retainingPaths; | 
| 73   M.ScriptRepository _scripts; | 73   M.ScriptRepository _scripts; | 
| 74   M.EvalRepository _eval; | 74   M.EvalRepository _eval; | 
| 75   M.TypeArguments _typeArguments; | 75   M.TypeArguments _typeArguments; | 
| 76   M.TypeArgumentsRepository _arguments; | 76   M.TypeArgumentsRepository _arguments; | 
| 77   M.BreakpointRepository _breakpoints; | 77   M.BreakpointRepository _breakpoints; | 
| 78   M.FunctionRepository _functions; | 78   M.FunctionRepository _functions; | 
| 79   M.SourceLocation _location; | 79   M.SourceLocation _location; | 
| 80 | 80 | 
| 81   M.VMRef get vm => _vm; | 81   M.VMRef get vm => _vm; | 
| 82   M.IsolateRef get isolate => _isolate; | 82   M.IsolateRef get isolate => _isolate; | 
| 83   M.NotificationRepository get notifications => _notifications; | 83   M.NotificationRepository get notifications => _notifications; | 
| 84   M.Instance get instance => _instance; | 84   M.Instance get instance => _instance; | 
| 85 | 85 | 
| 86   factory InstanceViewElement( | 86   factory InstanceViewElement( | 
| 87       M.VM vm, | 87       M.VM vm, | 
| 88       M.IsolateRef isolate, | 88       M.IsolateRef isolate, | 
| 89       M.Instance instance, | 89       M.Instance instance, | 
| 90       M.EventRepository events, | 90       M.EventRepository events, | 
| 91       M.NotificationRepository notifications, | 91       M.NotificationRepository notifications, | 
| 92       M.InstanceRepository instances, | 92       M.ObjectRepository objects, | 
| 93       M.ClassRepository classes, | 93       M.ClassRepository classes, | 
| 94       M.RetainedSizeRepository retainedSizes, | 94       M.RetainedSizeRepository retainedSizes, | 
| 95       M.ReachableSizeRepository reachableSizes, | 95       M.ReachableSizeRepository reachableSizes, | 
| 96       M.InboundReferencesRepository references, | 96       M.InboundReferencesRepository references, | 
| 97       M.RetainingPathRepository retainingPaths, | 97       M.RetainingPathRepository retainingPaths, | 
| 98       M.ScriptRepository scripts, | 98       M.ScriptRepository scripts, | 
| 99       M.EvalRepository eval, | 99       M.EvalRepository eval, | 
| 100       M.TypeArgumentsRepository arguments, | 100       M.TypeArgumentsRepository arguments, | 
| 101       M.BreakpointRepository breakpoints, | 101       M.BreakpointRepository breakpoints, | 
| 102       M.FunctionRepository functions, | 102       M.FunctionRepository functions, | 
| 103       {RenderingQueue queue}) { | 103       {RenderingQueue queue}) { | 
| 104     assert(vm != null); | 104     assert(vm != null); | 
| 105     assert(isolate != null); | 105     assert(isolate != null); | 
| 106     assert(events != null); | 106     assert(events != null); | 
| 107     assert(notifications != null); | 107     assert(notifications != null); | 
| 108     assert(instance != null); | 108     assert(instance != null); | 
| 109     assert(instances != null); | 109     assert(objects != null); | 
| 110     assert(classes != null); | 110     assert(classes != null); | 
| 111     assert(retainedSizes != null); | 111     assert(retainedSizes != null); | 
| 112     assert(reachableSizes != null); | 112     assert(reachableSizes != null); | 
| 113     assert(references != null); | 113     assert(references != null); | 
| 114     assert(retainingPaths != null); | 114     assert(retainingPaths != null); | 
| 115     assert(scripts != null); | 115     assert(scripts != null); | 
| 116     assert(eval != null); | 116     assert(eval != null); | 
| 117     assert(arguments != null); | 117     assert(arguments != null); | 
| 118     assert(breakpoints != null); | 118     assert(breakpoints != null); | 
| 119     assert(functions != null); | 119     assert(functions != null); | 
| 120     InstanceViewElement e = document.createElement(tag.name); | 120     InstanceViewElement e = document.createElement(tag.name); | 
| 121     e._r = new RenderingScheduler(e, queue: queue); | 121     e._r = new RenderingScheduler(e, queue: queue); | 
| 122     e._vm = vm; | 122     e._vm = vm; | 
| 123     e._isolate = isolate; | 123     e._isolate = isolate; | 
| 124     e._events = events; | 124     e._events = events; | 
| 125     e._notifications = notifications; | 125     e._notifications = notifications; | 
| 126     e._instance = instance; | 126     e._instance = instance; | 
| 127     e._instances = instances; | 127     e._objects = objects; | 
| 128     e._classes = classes; | 128     e._classes = classes; | 
| 129     e._retainedSizes = retainedSizes; | 129     e._retainedSizes = retainedSizes; | 
| 130     e._reachableSizes = reachableSizes; | 130     e._reachableSizes = reachableSizes; | 
| 131     e._references = references; | 131     e._references = references; | 
| 132     e._retainingPaths = retainingPaths; | 132     e._retainingPaths = retainingPaths; | 
| 133     e._scripts = scripts; | 133     e._scripts = scripts; | 
| 134     e._eval = eval; | 134     e._eval = eval; | 
| 135     e._arguments = arguments; | 135     e._arguments = arguments; | 
| 136     e._breakpoints = breakpoints; | 136     e._breakpoints = breakpoints; | 
| 137     e._functions = functions; | 137     e._functions = functions; | 
| (...skipping 17 matching lines...) Expand all  Loading... | 
| 155   } | 155   } | 
| 156 | 156 | 
| 157   void render() { | 157   void render() { | 
| 158     final content = [ | 158     final content = [ | 
| 159       new HeadingElement.h2() | 159       new HeadingElement.h2() | 
| 160         ..text = M.isAbstractType(_instance.kind) | 160         ..text = M.isAbstractType(_instance.kind) | 
| 161             ? 'type ${_instance.name}' | 161             ? 'type ${_instance.name}' | 
| 162             : 'instance of ${_instance.clazz.name}', | 162             : 'instance of ${_instance.clazz.name}', | 
| 163       new HRElement(), | 163       new HRElement(), | 
| 164       new ObjectCommonElement(_isolate, _instance, _retainedSizes, | 164       new ObjectCommonElement(_isolate, _instance, _retainedSizes, | 
| 165           _reachableSizes, _references, _retainingPaths, _instances, | 165           _reachableSizes, _references, _retainingPaths, _objects, | 
| 166           queue: _r.queue), | 166           queue: _r.queue), | 
| 167       new BRElement(), | 167       new BRElement(), | 
| 168       new DivElement() | 168       new DivElement() | 
| 169         ..classes = ['memberList'] | 169         ..classes = ['memberList'] | 
| 170         ..children = _createMembers(), | 170         ..children = _createMembers(), | 
| 171       new HRElement(), | 171       new HRElement(), | 
| 172       new EvalBoxElement(_isolate, _instance, _instances, _eval, | 172       new EvalBoxElement(_isolate, _instance, _objects, _eval, | 
| 173           quickExpressions: const ['toString()', 'runtimeType'], | 173           quickExpressions: const ['toString()', 'runtimeType'], | 
| 174           queue: _r.queue) | 174           queue: _r.queue) | 
| 175     ]; | 175     ]; | 
| 176     if (_location != null) { | 176     if (_location != null) { | 
| 177       content.addAll([ | 177       content.addAll([ | 
| 178         new HRElement(), | 178         new HRElement(), | 
| 179         new SourceInsetElement( | 179         new SourceInsetElement(_isolate, _location, _scripts, _objects, _events, | 
| 180             _isolate, _location, _scripts, _instances, _events, |  | 
| 181             queue: _r.queue) | 180             queue: _r.queue) | 
| 182       ]); | 181       ]); | 
| 183     } | 182     } | 
| 184     content.addAll([new HRElement(), new ViewFooterElement(queue: _r.queue)]); | 183     content.addAll([new HRElement(), new ViewFooterElement(queue: _r.queue)]); | 
| 185     children = [ | 184     children = [ | 
| 186       navBar(_createMenu()), | 185       navBar(_createMenu()), | 
| 187       new DivElement() | 186       new DivElement() | 
| 188         ..classes = ['content-centered-big'] | 187         ..classes = ['content-centered-big'] | 
| 189         ..children = content | 188         ..children = content | 
| 190     ]; | 189     ]; | 
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 250       members.add(new DivElement() | 249       members.add(new DivElement() | 
| 251         ..classes = ['memberItem'] | 250         ..classes = ['memberItem'] | 
| 252         ..children = [ | 251         ..children = [ | 
| 253           new DivElement() | 252           new DivElement() | 
| 254             ..classes = ['memberName'] | 253             ..classes = ['memberName'] | 
| 255             ..text = 'type arguments', | 254             ..text = 'type arguments', | 
| 256           new DivElement() | 255           new DivElement() | 
| 257             ..classes = ['memberValue'] | 256             ..classes = ['memberValue'] | 
| 258             ..children = ([new SpanElement()..text = '< '] | 257             ..children = ([new SpanElement()..text = '< '] | 
| 259               ..addAll(_typeArguments.types.expand((type) => [ | 258               ..addAll(_typeArguments.types.expand((type) => [ | 
| 260                     new InstanceRefElement(_isolate, type, _instances, | 259                     new InstanceRefElement(_isolate, type, _objects, | 
| 261                         queue: _r.queue), | 260                         queue: _r.queue), | 
| 262                     new SpanElement()..text = ', ' | 261                     new SpanElement()..text = ', ' | 
| 263                   ])) | 262                   ])) | 
| 264               ..removeLast() | 263               ..removeLast() | 
| 265               ..add(new SpanElement()..text = ' >')) | 264               ..add(new SpanElement()..text = ' >')) | 
| 266         ]); | 265         ]); | 
| 267     } | 266     } | 
| 268     if (_instance.parameterizedClass != null) { | 267     if (_instance.parameterizedClass != null) { | 
| 269       members.add(new DivElement() | 268       members.add(new DivElement() | 
| 270         ..classes = ['memberItem'] | 269         ..classes = ['memberItem'] | 
| (...skipping 24 matching lines...) Expand all  Loading... | 
| 295     if (_instance.targetType != null) { | 294     if (_instance.targetType != null) { | 
| 296       members.add(new DivElement() | 295       members.add(new DivElement() | 
| 297         ..classes = ['memberItem'] | 296         ..classes = ['memberItem'] | 
| 298         ..children = [ | 297         ..children = [ | 
| 299           new DivElement() | 298           new DivElement() | 
| 300             ..classes = ['memberName'] | 299             ..classes = ['memberName'] | 
| 301             ..text = 'target type', | 300             ..text = 'target type', | 
| 302           new DivElement() | 301           new DivElement() | 
| 303             ..classes = ['memberValue'] | 302             ..classes = ['memberValue'] | 
| 304             ..children = [ | 303             ..children = [ | 
| 305               new InstanceRefElement(_isolate, _instance.targetType, _instances, | 304               new InstanceRefElement(_isolate, _instance.targetType, _objects, | 
| 306                   queue: _r.queue) | 305                   queue: _r.queue) | 
| 307             ] | 306             ] | 
| 308         ]); | 307         ]); | 
| 309     } | 308     } | 
| 310     if (_instance.bound != null) { | 309     if (_instance.bound != null) { | 
| 311       members.add(new DivElement() | 310       members.add(new DivElement() | 
| 312         ..classes = ['memberItem'] | 311         ..classes = ['memberItem'] | 
| 313         ..children = [ | 312         ..children = [ | 
| 314           new DivElement() | 313           new DivElement() | 
| 315             ..classes = ['memberName'] | 314             ..classes = ['memberName'] | 
| 316             ..text = 'bound', | 315             ..text = 'bound', | 
| 317           new DivElement() | 316           new DivElement() | 
| 318             ..classes = ['memberValue'] | 317             ..classes = ['memberValue'] | 
| 319             ..children = [ | 318             ..children = [ | 
| 320               new InstanceRefElement(_isolate, _instance.bound, _instances, | 319               new InstanceRefElement(_isolate, _instance.bound, _objects, | 
| 321                   queue: _r.queue) | 320                   queue: _r.queue) | 
| 322             ] | 321             ] | 
| 323         ]); | 322         ]); | 
| 324     } | 323     } | 
| 325     if (_instance.closureFunction != null) { | 324     if (_instance.closureFunction != null) { | 
| 326       members.add(new DivElement() | 325       members.add(new DivElement() | 
| 327         ..classes = ['memberItem'] | 326         ..classes = ['memberItem'] | 
| 328         ..children = [ | 327         ..children = [ | 
| 329           new DivElement() | 328           new DivElement() | 
| 330             ..classes = ['memberName'] | 329             ..classes = ['memberName'] | 
| 331             ..text = 'closure function', | 330             ..text = 'closure function', | 
| 332           new DivElement() | 331           new DivElement() | 
| 333             ..classes = ['memberValue'] | 332             ..classes = ['memberValue'] | 
| 334             ..children = [ | 333             ..children = [ | 
| 335               new FunctionRefElement(_isolate, _instance.closureFunction, | 334               new FunctionRefElement(_isolate, _instance.closureFunction, | 
| 336                   queue: _r.queue) | 335                   queue: _r.queue) | 
| 337             ] | 336             ] | 
| 338         ]); | 337         ]); | 
| 339     } | 338     } | 
| 340     if (_instance.closureContext != null) { | 339     if (_instance.closureContext != null) { | 
| 341       members.add(new DivElement() | 340       members.add(new DivElement() | 
| 342         ..classes = ['memberItem'] | 341         ..classes = ['memberItem'] | 
| 343         ..children = [ | 342         ..children = [ | 
| 344           new DivElement() | 343           new DivElement() | 
| 345             ..classes = ['memberName'] | 344             ..classes = ['memberName'] | 
| 346             ..text = 'closure context', | 345             ..text = 'closure context', | 
| 347           new DivElement() | 346           new DivElement() | 
| 348             ..classes = ['memberValue'] | 347             ..classes = ['memberValue'] | 
| 349             ..children = [ | 348             ..children = [ | 
| 350               new ContextRefElement(_isolate, _instance.closureContext, | 349               new ContextRefElement( | 
|  | 350                   _isolate, _instance.closureContext, _objects, | 
| 351                   queue: _r.queue) | 351                   queue: _r.queue) | 
| 352             ] | 352             ] | 
| 353         ]); | 353         ]); | 
| 354     } | 354     } | 
| 355     if (_instance.kind == M.InstanceKind.closure) { | 355     if (_instance.kind == M.InstanceKind.closure) { | 
| 356       ButtonElement btn; | 356       ButtonElement btn; | 
| 357       members.add(new DivElement() | 357       members.add(new DivElement() | 
| 358         ..classes = ['memberItem'] | 358         ..classes = ['memberItem'] | 
| 359         ..children = [ | 359         ..children = [ | 
| 360           new DivElement() | 360           new DivElement() | 
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 425                 ..content = [ | 425                 ..content = [ | 
| 426                   new DivElement() | 426                   new DivElement() | 
| 427                     ..classes = ['memberList'] | 427                     ..classes = ['memberList'] | 
| 428                     ..children = fields | 428                     ..children = fields | 
| 429                         .map((f) => new DivElement() | 429                         .map((f) => new DivElement() | 
| 430                           ..classes = ['memberItem'] | 430                           ..classes = ['memberItem'] | 
| 431                           ..children = [ | 431                           ..children = [ | 
| 432                             new DivElement() | 432                             new DivElement() | 
| 433                               ..classes = ['memberName'] | 433                               ..classes = ['memberName'] | 
| 434                               ..children = [ | 434                               ..children = [ | 
| 435                                 new FieldRefElement( | 435                                 new FieldRefElement(_isolate, f.decl, _objects, | 
| 436                                     _isolate, f.decl, _instances, |  | 
| 437                                     queue: _r.queue) | 436                                     queue: _r.queue) | 
| 438                               ], | 437                               ], | 
| 439                             new DivElement() | 438                             new DivElement() | 
| 440                               ..classes = ['memberValue'] | 439                               ..classes = ['memberValue'] | 
| 441                               ..children = [ | 440                               ..children = [ | 
| 442                                 new SpanElement()..text = ' = ', | 441                                 new SpanElement()..text = ' = ', | 
| 443                                 anyRef(_isolate, f.value, _instances, | 442                                 anyRef(_isolate, f.value, _objects, | 
| 444                                     queue: _r.queue) | 443                                     queue: _r.queue) | 
| 445                               ] | 444                               ] | 
| 446                           ]) | 445                           ]) | 
| 447                         .toList() | 446                         .toList() | 
| 448                 ] | 447                 ] | 
| 449             ] | 448             ] | 
| 450         ]); | 449         ]); | 
| 451     } | 450     } | 
| 452 | 451 | 
| 453     if (_instance.elements != null && _instance.elements.isNotEmpty) { | 452     if (_instance.elements != null && _instance.elements.isNotEmpty) { | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
| 470                     ..children = elements | 469                     ..children = elements | 
| 471                         .map((element) => new DivElement() | 470                         .map((element) => new DivElement() | 
| 472                           ..classes = ['memberItem'] | 471                           ..classes = ['memberItem'] | 
| 473                           ..children = [ | 472                           ..children = [ | 
| 474                             new DivElement() | 473                             new DivElement() | 
| 475                               ..classes = ['memberName'] | 474                               ..classes = ['memberName'] | 
| 476                               ..text = '[ ${i++} ]', | 475                               ..text = '[ ${i++} ]', | 
| 477                             new DivElement() | 476                             new DivElement() | 
| 478                               ..classes = ['memberValue'] | 477                               ..classes = ['memberValue'] | 
| 479                               ..children = [ | 478                               ..children = [ | 
| 480                                 anyRef(_isolate, element, _instances, | 479                                 anyRef(_isolate, element, _objects, | 
| 481                                     queue: _r.queue) | 480                                     queue: _r.queue) | 
| 482                               ] | 481                               ] | 
| 483                           ]) | 482                           ]) | 
| 484                         .toList() | 483                         .toList() | 
| 485                 ] | 484                 ] | 
| 486             ] | 485             ] | 
| 487         ]); | 486         ]); | 
| 488       if (_instance.length != elements.length) { | 487       if (_instance.length != elements.length) { | 
| 489         members.add(new DivElement() | 488         members.add(new DivElement() | 
| 490           ..classes = ['memberItem'] | 489           ..classes = ['memberItem'] | 
| (...skipping 25 matching lines...) Expand all  Loading... | 
| 516                   new DivElement() | 515                   new DivElement() | 
| 517                     ..classes = ['memberList'] | 516                     ..classes = ['memberList'] | 
| 518                     ..children = associations | 517                     ..children = associations | 
| 519                         .map((a) => new DivElement() | 518                         .map((a) => new DivElement() | 
| 520                           ..classes = ['memberItem'] | 519                           ..classes = ['memberItem'] | 
| 521                           ..children = [ | 520                           ..children = [ | 
| 522                             new DivElement() | 521                             new DivElement() | 
| 523                               ..classes = ['memberName'] | 522                               ..classes = ['memberName'] | 
| 524                               ..children = [ | 523                               ..children = [ | 
| 525                                 new SpanElement()..text = '[ ', | 524                                 new SpanElement()..text = '[ ', | 
| 526                                 anyRef(_isolate, a.key, _instances, | 525                                 anyRef(_isolate, a.key, _objects, | 
| 527                                     queue: _r.queue), | 526                                     queue: _r.queue), | 
| 528                                 new SpanElement()..text = ' ]', | 527                                 new SpanElement()..text = ' ]', | 
| 529                               ], | 528                               ], | 
| 530                             new DivElement() | 529                             new DivElement() | 
| 531                               ..classes = ['memberValue'] | 530                               ..classes = ['memberValue'] | 
| 532                               ..children = [ | 531                               ..children = [ | 
| 533                                 anyRef(_isolate, a.value, _instances, | 532                                 anyRef(_isolate, a.value, _objects, | 
| 534                                     queue: _r.queue) | 533                                     queue: _r.queue) | 
| 535                               ] | 534                               ] | 
| 536                           ]) | 535                           ]) | 
| 537                         .toList() | 536                         .toList() | 
| 538                 ] | 537                 ] | 
| 539             ] | 538             ] | 
| 540         ]); | 539         ]); | 
| 541       if (_instance.length != associations.length) { | 540       if (_instance.length != associations.length) { | 
| 542         members.add(new DivElement() | 541         members.add(new DivElement() | 
| 543           ..classes = ['memberItem'] | 542           ..classes = ['memberItem'] | 
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 604       members.addAll([ | 603       members.addAll([ | 
| 605         new DivElement() | 604         new DivElement() | 
| 606           ..classes = ['memberItem'] | 605           ..classes = ['memberItem'] | 
| 607           ..children = [ | 606           ..children = [ | 
| 608             new DivElement() | 607             new DivElement() | 
| 609               ..classes = ['memberName'] | 608               ..classes = ['memberName'] | 
| 610               ..text = 'pattern', | 609               ..text = 'pattern', | 
| 611             new DivElement() | 610             new DivElement() | 
| 612               ..classes = ['memberValue'] | 611               ..classes = ['memberValue'] | 
| 613               ..children = [ | 612               ..children = [ | 
| 614                 anyRef(_isolate, _instance.pattern, _instances, queue: _r.queue) | 613                 anyRef(_isolate, _instance.pattern, _objects, queue: _r.queue) | 
| 615               ] | 614               ] | 
| 616           ], | 615           ], | 
| 617         new DivElement() | 616         new DivElement() | 
| 618           ..classes = ['memberItem'] | 617           ..classes = ['memberItem'] | 
| 619           ..children = [ | 618           ..children = [ | 
| 620             new DivElement() | 619             new DivElement() | 
| 621               ..classes = ['memberName'] | 620               ..classes = ['memberName'] | 
| 622               ..text = 'isCaseSensitive', | 621               ..text = 'isCaseSensitive', | 
| 623             new DivElement() | 622             new DivElement() | 
| 624               ..classes = ['memberValue'] | 623               ..classes = ['memberValue'] | 
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 691         new DivElement() | 690         new DivElement() | 
| 692           ..classes = ['memberItem'] | 691           ..classes = ['memberItem'] | 
| 693           ..children = [ | 692           ..children = [ | 
| 694             new DivElement() | 693             new DivElement() | 
| 695               ..classes = ['memberName'] | 694               ..classes = ['memberName'] | 
| 696               ..text = 'oneByteBytecode', | 695               ..text = 'oneByteBytecode', | 
| 697             new DivElement() | 696             new DivElement() | 
| 698               ..classes = ['memberValue'] | 697               ..classes = ['memberValue'] | 
| 699               ..children = [ | 698               ..children = [ | 
| 700                 new InstanceRefElement( | 699                 new InstanceRefElement( | 
| 701                     _isolate, _instance.oneByteBytecode, _instances, | 700                     _isolate, _instance.oneByteBytecode, _objects, | 
| 702                     queue: _r.queue) | 701                     queue: _r.queue) | 
| 703               ] | 702               ] | 
| 704           ], | 703           ], | 
| 705         new DivElement() | 704         new DivElement() | 
| 706           ..classes = ['memberItem'] | 705           ..classes = ['memberItem'] | 
| 707           ..children = [ | 706           ..children = [ | 
| 708             new DivElement() | 707             new DivElement() | 
| 709               ..classes = ['memberName'] | 708               ..classes = ['memberName'] | 
| 710               ..text = 'twoByteBytecode', | 709               ..text = 'twoByteBytecode', | 
| 711             new DivElement() | 710             new DivElement() | 
| 712               ..classes = ['memberValue'] | 711               ..classes = ['memberValue'] | 
| 713               ..children = [ | 712               ..children = [ | 
| 714                 new InstanceRefElement( | 713                 new InstanceRefElement( | 
| 715                     _isolate, _instance.twoByteBytecode, _instances, | 714                     _isolate, _instance.twoByteBytecode, _objects, | 
| 716                     queue: _r.queue) | 715                     queue: _r.queue) | 
| 717               ] | 716               ] | 
| 718           ] | 717           ] | 
| 719       ]); | 718       ]); | 
| 720     } | 719     } | 
| 721 | 720 | 
| 722     if (_instance.kind == M.InstanceKind.mirrorReference) { | 721     if (_instance.kind == M.InstanceKind.mirrorReference) { | 
| 723       members.add(new DivElement() | 722       members.add(new DivElement() | 
| 724         ..classes = ['memberItem'] | 723         ..classes = ['memberItem'] | 
| 725         ..children = [ | 724         ..children = [ | 
| 726           new DivElement() | 725           new DivElement() | 
| 727             ..classes = ['memberName'] | 726             ..classes = ['memberName'] | 
| 728             ..text = 'referent', | 727             ..text = 'referent', | 
| 729           new DivElement() | 728           new DivElement() | 
| 730             ..classes = ['memberValue'] | 729             ..classes = ['memberValue'] | 
| 731             ..children = [ | 730             ..children = [ | 
| 732               new ContextRefElement(_isolate, _instance.referent, | 731               anyRef(_isolate, _instance.referent, _objects, queue: _r.queue) | 
| 733                   queue: _r.queue) |  | 
| 734             ] | 732             ] | 
| 735         ]); | 733         ]); | 
| 736     } | 734     } | 
| 737     if (_instance.kind == M.InstanceKind.weakProperty) { | 735     if (_instance.kind == M.InstanceKind.weakProperty) { | 
| 738       members.addAll([ | 736       members.addAll([ | 
| 739         new DivElement() | 737         new DivElement() | 
| 740           ..classes = ['memberItem'] | 738           ..classes = ['memberItem'] | 
| 741           ..children = [ | 739           ..children = [ | 
| 742             new DivElement() | 740             new DivElement() | 
| 743               ..classes = ['memberName'] | 741               ..classes = ['memberName'] | 
| 744               ..text = 'key', | 742               ..text = 'key', | 
| 745             new DivElement() | 743             new DivElement() | 
| 746               ..classes = ['memberValue'] | 744               ..classes = ['memberValue'] | 
| 747               ..children = [ | 745               ..children = [ | 
| 748                 new InstanceRefElement(_isolate, _instance.key, _instances, | 746                 new InstanceRefElement(_isolate, _instance.key, _objects, | 
| 749                     queue: _r.queue), | 747                     queue: _r.queue), | 
| 750               ] | 748               ] | 
| 751           ], | 749           ], | 
| 752         new DivElement() | 750         new DivElement() | 
| 753           ..classes = ['memberItem'] | 751           ..classes = ['memberItem'] | 
| 754           ..children = [ | 752           ..children = [ | 
| 755             new DivElement() | 753             new DivElement() | 
| 756               ..classes = ['memberName'] | 754               ..classes = ['memberName'] | 
| 757               ..text = 'value', | 755               ..text = 'value', | 
| 758             new DivElement() | 756             new DivElement() | 
| 759               ..classes = ['memberValue'] | 757               ..classes = ['memberValue'] | 
| 760               ..children = [ | 758               ..children = [ | 
| 761                 new InstanceRefElement(_isolate, _instance.value, _instances, | 759                 new InstanceRefElement(_isolate, _instance.value, _objects, | 
| 762                     queue: _r.queue), | 760                     queue: _r.queue), | 
| 763               ] | 761               ] | 
| 764           ] | 762           ] | 
| 765       ]); | 763       ]); | 
| 766     } | 764     } | 
| 767     return members; | 765     return members; | 
| 768   } | 766   } | 
| 769 | 767 | 
| 770   Future _refresh() async { | 768   Future _refresh() async { | 
| 771     _instance = await _instances.get(_isolate, _instance.id); | 769     _instance = await _objects.get(_isolate, _instance.id); | 
| 772     await _loadExtraData(); | 770     await _loadExtraData(); | 
| 773     _r.dirty(); | 771     _r.dirty(); | 
| 774   } | 772   } | 
| 775 | 773 | 
| 776   Future _loadExtraData() async { | 774   Future _loadExtraData() async { | 
| 777     _library = (await _classes.get(_isolate, _instance.clazz.id)).library; | 775     _library = (await _classes.get(_isolate, _instance.clazz.id)).library; | 
| 778     if (_instance.typeArguments != null) { | 776     if (_instance.typeArguments != null) { | 
| 779       _typeArguments = | 777       _typeArguments = | 
| 780           await _arguments.get(_isolate, _instance.typeArguments.id); | 778           await _arguments.get(_isolate, _instance.typeArguments.id); | 
| 781     } else { | 779     } else { | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
| 793 | 791 | 
| 794   Future _toggleBreakpoint() async { | 792   Future _toggleBreakpoint() async { | 
| 795     if (_instance.activationBreakpoint == null) { | 793     if (_instance.activationBreakpoint == null) { | 
| 796       await _breakpoints.addOnActivation(_isolate, _instance); | 794       await _breakpoints.addOnActivation(_isolate, _instance); | 
| 797     } else { | 795     } else { | 
| 798       await _breakpoints.remove(_isolate, _instance.activationBreakpoint); | 796       await _breakpoints.remove(_isolate, _instance.activationBreakpoint); | 
| 799     } | 797     } | 
| 800     await _refresh(); | 798     await _refresh(); | 
| 801   } | 799   } | 
| 802 } | 800 } | 
| OLD | NEW | 
|---|