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

Unified Diff: runtime/observatory/lib/src/elements/helpers/any_ref.dart

Issue 2244433003: Converted Observatory refs elements (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: All element tested Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: runtime/observatory/lib/src/elements/helpers/any_ref.dart
diff --git a/runtime/observatory/lib/src/elements/helpers/any_ref.dart b/runtime/observatory/lib/src/elements/helpers/any_ref.dart
new file mode 100644
index 0000000000000000000000000000000000000000..1f91a8191a854b040a24fc1f1d3ddd88521a722f
--- /dev/null
+++ b/runtime/observatory/lib/src/elements/helpers/any_ref.dart
@@ -0,0 +1,68 @@
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'dart:html';
+import 'package:observatory/models.dart' as M;
+import 'package:observatory/src/elements/class_ref.dart';
+import 'package:observatory/src/elements/code_ref.dart';
+import 'package:observatory/src/elements/context_ref.dart';
+import 'package:observatory/src/elements/error_ref.dart';
+import 'package:observatory/src/elements/field_ref.dart';
+import 'package:observatory/src/elements/function_ref.dart';
+import 'package:observatory/src/elements/helpers/rendering_scheduler.dart';
+import 'package:observatory/src/elements/icdata_ref.dart';
+import 'package:observatory/src/elements/instance_ref.dart';
+import 'package:observatory/src/elements/instructions_ref.dart';
+import 'package:observatory/src/elements/megamorphiccache_ref.dart';
+import 'package:observatory/src/elements/library_ref.dart';
+import 'package:observatory/src/elements/local_var_descriptors_ref.dart';
+import 'package:observatory/src/elements/objectpool_ref.dart';
+import 'package:observatory/src/elements/pc_descriptors_ref.dart';
+import 'package:observatory/src/elements/script_ref.dart';
+import 'package:observatory/src/elements/sentinel_value.dart';
+import 'package:observatory/src/elements/token_stream_ref.dart';
+
+Element anyRef(M.Isolate isolate, ref, M.InstanceRepository instances,
+ {RenderingQueue queue}) {
+ if (ref is M.Guarded) {
+ return anyRef(isolate, ref.asSentinel ?? ref.asValue, instances,
+ queue: queue);
+ } else if (ref is M.ClassRef) {
+ return new ClassRefElement(isolate, ref, queue: queue);
+ } else if (ref is M.CodeRef) {
+ return new CodeRefElement(isolate, ref, queue: queue);
+ } else if (ref is M.ContextRef) {
+ return new ContextRefElement(isolate, ref, queue: queue);
+ } else if (ref is M.Error ) {
+ return new ErrorRefElement(ref, queue: queue);
+ } else if (ref is M.FieldRef) {
+ return new FieldRefElement(isolate, ref, instances, queue: queue);
+ } else if (ref is M.FunctionRef) {
+ return new FunctionRefElement(isolate, ref, queue: queue);
+ } else if (ref is M.ICDataRef) {
+ return new ICDataRefElement(isolate, ref, queue: queue);
+ } else if (ref is M.InstanceRef) {
+ return new InstanceRefElement(isolate, ref, instances, queue: queue);
+ } else if (ref is M.InstructionsRef) {
+ return new InstructionsRefElement(isolate, ref, queue: queue);
+ } else if (ref is M.LibraryRef) {
+ return new LibraryRefElement(isolate, ref, queue: queue);
+ } else if (ref is M.LocalVarDescriptorsRef) {
+ return new LocalVarDescriptorsRefElement(isolate, ref, queue: queue);
+ } else if (ref is M.MegamorphicCacheRef) {
+ return new MegamorphicCacheRefElement(isolate, ref, queue: queue);
+ } else if (ref is M.ObjectPoolRef) {
+ return new ObjectPoolRefElement(isolate, ref, queue: queue);
+ } else if (ref is M.PcDescriptorsRef) {
+ return new PcDescriptorsRefElement(isolate, ref, queue: queue);
+ } else if (ref is M.Sentinel) {
+ return new SentinelValueElement(ref, queue: queue);
+ } else if (ref is M.ScriptRef) {
+ return new ScriptRefElement(isolate, ref, queue: queue);
+ } else if (ref is M.TokenStreamRef) {
+ return new TokenStreamRefElement(isolate, ref, queue: queue);
+ } else {
+ return null;
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698