| Index: runtime/bin/vmservice/observatory/deployed/web/packages/observatory/src/elements/instance_view.html
|
| diff --git a/runtime/bin/vmservice/observatory/deployed/web/packages/observatory/src/elements/instance_view.html b/runtime/bin/vmservice/observatory/deployed/web/packages/observatory/src/elements/instance_view.html
|
| index fee5ce919026e09d7d3399b617d79f5d482050f6..22fa0ea35c932d255d4550c1547080444344c98e 100644
|
| --- a/runtime/bin/vmservice/observatory/deployed/web/packages/observatory/src/elements/instance_view.html
|
| +++ b/runtime/bin/vmservice/observatory/deployed/web/packages/observatory/src/elements/instance_view.html
|
| @@ -9,6 +9,8 @@
|
| <link rel="import" href="instance_ref.html">
|
| <link rel="import" href="observatory_element.html">
|
| <link rel="import" href="nav_bar.html">
|
| +<link rel="import" href="object_common.html">
|
| +<link rel="import" href="context_ref.html">
|
|
|
| <polymer-element name="instance-view" extends="observatory-element">
|
| <template>
|
| @@ -35,88 +37,19 @@
|
| <template if="{{ !instance.isType }}">
|
| <h1>instance of {{ instance.clazz.name }}</h1>
|
| </template>
|
| +
|
| + <object-common object="{{ instance }}"></object-common>
|
| +
|
| <div class="memberList">
|
| - <div class="memberItem">
|
| - <div class="memberName">class</div>
|
| - <div class="memberValue">
|
| - <class-ref ref="{{ instance.clazz }}">
|
| - </class-ref>
|
| - </div>
|
| - </div>
|
| + <div class="memberItem"> </div>
|
| +
|
| <template if="{{ instance.valueAsString != null }}">
|
| <div class="memberItem">
|
| <div class="memberName">value</div>
|
| <div class="memberValue">{{ instance.valueAsString }}</div>
|
| </div>
|
| </template>
|
| - <div class="memberItem" title="Space for this object in memory">
|
| - <div class="memberName">size</div>
|
| - <div class="memberValue">{{ instance.size | formatSize }}</div>
|
| - </div>
|
| - <div class="memberItem" title="Space that would be reclaimed if references to this object were replaced with null">
|
| - <div class="memberName">retained size</div>
|
| - <div class="memberValue">
|
| - <template if="{{ retainedBytes == null }}">
|
| - <eval-link callback="{{ retainedSize }}"
|
| - label="[calculate]">
|
| - </eval-link>
|
| - </template>
|
| - <template if="{{ retainedBytes != null }}">
|
| - {{ retainedBytes | formatSize }}
|
| - </template>
|
| - </div>
|
| - </div>
|
| - <div class="memberItem">
|
| - <div class="memberName">retaining path</div>
|
| - <div class="memberValue">
|
| - <template if="{{ path == null }}">
|
| - <eval-link callback="{{ retainingPath }}"
|
| - label="[find]"
|
| - expr="10">
|
| - </eval-link>
|
| - </template>
|
| - <template if="{{ path != null }}">
|
| - <template repeat="{{ element in path['elements'] }}">
|
| - <div class="memberItem">
|
| - <div class="memberName">[{{ element['index']}}]</div>
|
| - <div class="memberValue">
|
| - <any-service-ref ref="{{ element['value'] }}"></any-service-ref>
|
| - <template if="{{ element['parentField'] != null }}">
|
| - in <field-ref ref="{{ element['parentField'] }}"></field-ref> of
|
| - </template>
|
| - <template if="{{ element['parentListIndex'] != null }}">
|
| - in [{{ element['parentListIndex'] }}] of
|
| - </template>
|
| - </div>
|
| - </div>
|
| - </template>
|
| - <template if="{{ path['length'] > path['elements'].length }}">
|
| - showing {{ path['elements'].length }} of {{ path['length'] }}
|
| - <eval-link
|
| - callback="{{ retainingPath }}"
|
| - label="[find more]"
|
| - expr="{{ path['elements'].length * 2 }}">
|
| - </eval-link>
|
| - </template>
|
| - </template>
|
| - </div>
|
| - </div>
|
| - <div class="memberItem" title="Objects which directly reference this object">
|
| - <div class="memberName">inbound references</div>
|
| - <div class="memberValue">
|
| - <template if="{{ inboundReferences == null }}">
|
| - <eval-link callback="{{ fetchInboundReferences }}"
|
| - label="[find]"
|
| - expr="100">
|
| - </eval-link>
|
| - </template>
|
| - <template if="{{ inboundReferences != null }}">
|
| - <template repeat="{{ reference in inboundReferences['references'] }}">
|
| - <inbound-reference ref="{{ reference }}"></inbound-reference>
|
| - </template>
|
| - </template>
|
| - </div>
|
| - </div>
|
| +
|
| <template if="{{ instance.typeClass != null }}">
|
| <div class="memberItem">
|
| <div class="memberName">type class</div>
|
| @@ -126,6 +59,7 @@
|
| </div>
|
| </div>
|
| </template>
|
| +
|
| <template if="{{ instance.isClosure }}">
|
| <div class="memberItem">
|
| <div class="memberName">closure function</div>
|
| @@ -135,8 +69,15 @@
|
| </div>
|
| </div>
|
| </template>
|
| -
|
| - <div class="memberItem"> </div>
|
| + <template if="{{ instance.isClosure }}">
|
| + <div class="memberItem">
|
| + <div class="memberName">closure context</div>
|
| + <div class="memberValue">
|
| + <any-service-ref ref="{{ instance.closureCtxt }}">
|
| + </any-service-ref>
|
| + </div>
|
| + </div>
|
| + </template>
|
|
|
| <div class="memberItem">
|
| <div class="memberName">toString()</div>
|
| @@ -150,6 +91,20 @@
|
| <hr>
|
|
|
| <div class="content">
|
| + <template if="{{ instance.nativeFields.isNotEmpty }}">
|
| + native fields ({{ instance.nativeFields.length }})
|
| + <curly-block expand="{{ instance.nativeFields.length <= 8 }}">
|
| + <div class="memberList">
|
| + <template repeat="{{ field in instance.nativeFields }}">
|
| + <div class="memberItem">
|
| + <div class="memberName">[{{ field['index']}}]</div>
|
| + <div class="memberValue">[{{ field['value']}}]</div>
|
| + </div>
|
| + </template>
|
| + </div>
|
| + </curly-block><br><br>
|
| + </template>
|
| +
|
| <template if="{{ instance.fields.isNotEmpty }}">
|
| fields ({{ instance.fields.length }})
|
| <curly-block expand="{{ instance.fields.length <= 8 }}">
|
| @@ -168,20 +123,6 @@
|
| </curly-block><br><br>
|
| </template>
|
|
|
| - <template if="{{ instance.nativeFields.isNotEmpty }}">
|
| - native fields ({{ instance.nativeFields.length }})
|
| - <curly-block expand="{{ instance.nativeFields.length <= 8 }}">
|
| - <div class="memberList">
|
| - <template repeat="{{ field in instance.nativeFields }}">
|
| - <div class="memberItem">
|
| - <div class="memberName">[{{ field['index']}}]</div>
|
| - <div class="memberValue">[{{ field['value']}}]</div>
|
| - </div>
|
| - </template>
|
| - </div>
|
| - </curly-block><br><br>
|
| - </template>
|
| -
|
| <template if="{{ instance.elements.isNotEmpty }}">
|
| elements ({{ instance.elements.length }})
|
| <curly-block expand="{{ instance.elements.length <= 8 }}">
|
| @@ -190,8 +131,7 @@
|
| <div class="memberItem">
|
| <div class="memberName">[{{ element['index']}}]</div>
|
| <div class="memberValue">
|
| - <any-service-ref ref="{{ element['value'] }}">
|
| - </instance-ref>
|
| + <any-service-ref ref="{{ element['value'] }}"></any-service-ref>
|
| </div>
|
| </div>
|
| </template>
|
| @@ -205,6 +145,7 @@
|
| <div class="content">
|
| <eval-box callback="{{ eval }}"></eval-box>
|
| </div>
|
| +
|
| <br><br><br><br>
|
| <br><br><br><br>
|
|
|
|
|