OLD | NEW |
| (Empty) |
1 <link rel="import" href="../../../../packages/polymer/polymer.html"> | |
2 <link rel="import" href="curly_block.html"> | |
3 <link rel="import" href="eval_box.html"> | |
4 <link rel="import" href="eval_link.html"> | |
5 <link rel="import" href="field_ref.html"> | |
6 <link rel="import" href="function_ref.html"> | |
7 <link rel="import" href="instance_ref.html"> | |
8 <link rel="import" href="library_ref.html"> | |
9 <link rel="import" href="nav_bar.html"> | |
10 <link rel="import" href="observatory_element.html"> | |
11 <link rel="import" href="script_inset.html"> | |
12 <link rel="import" href="script_ref.html"> | |
13 | |
14 <polymer-element name="class-view" extends="observatory-element"> | |
15 <template> | |
16 <link rel="stylesheet" href="css/shared.css"> | |
17 <nav-bar> | |
18 <top-nav-menu></top-nav-menu> | |
19 <isolate-nav-menu isolate="{{ cls.isolate }}"></isolate-nav-menu> | |
20 <library-nav-menu library="{{ cls.library }}"></library-nav-menu> | |
21 <class-nav-menu cls="{{ cls }}" last="{{ true }}"></class-nav-menu> | |
22 <nav-refresh callback="{{ refreshCoverage }}" label="Refresh Coverage"></n
av-refresh> | |
23 <nav-refresh callback="{{ refresh }}"></nav-refresh> | |
24 <nav-control></nav-control> | |
25 </nav-bar> | |
26 | |
27 <div class="content"> | |
28 <h1> | |
29 <template if="{{ cls.isAbstract }}"> | |
30 abstract | |
31 </template> | |
32 <template if="{{ cls.isPatch }}"> | |
33 patch | |
34 </template> | |
35 class {{ cls.name }} | |
36 </h1> | |
37 <div class="memberList"> | |
38 <div class="memberItem"> | |
39 <div class="memberName">library</div> | |
40 <div class="memberValue"> | |
41 <library-ref ref="{{ cls.library }}"></library-ref> | |
42 </div> | |
43 </div> | |
44 <div class="memberItem"> | |
45 <div class="memberName">script</div> | |
46 <div class="memberValue"> | |
47 <script-ref ref="{{ cls.script }}" pos="{{ cls.tokenPos }}"> | |
48 </script-ref> | |
49 </div> | |
50 </div> | |
51 | |
52 <div class="memberItem"> </div> | |
53 | |
54 <template if="{{ cls.superclass != null }}"> | |
55 <div class="memberItem"> | |
56 <div class="memberName">extends</div> | |
57 <div class="memberValue"> | |
58 <class-ref ref="{{ cls.superclass }}"></class-ref> | |
59 </div> | |
60 </div> | |
61 </template> | |
62 <template if="{{ cls.subclasses.length > 0 }}"> | |
63 <div class="memberItem"> | |
64 <div class="memberName">extended by</div> | |
65 <div class="memberValue"> | |
66 <template repeat="{{ subclass in cls.subclasses }}"> | |
67 <class-ref ref="{{ subclass }}"></class-ref> | |
68 </template> | |
69 </div> | |
70 </div> | |
71 </template> | |
72 | |
73 <div class="memberItem"> </div> | |
74 | |
75 <template if="{{ cls.interfaces.length > 0 }}"> | |
76 <div class="memberItem"> | |
77 <div class="memberName">implements</div> | |
78 <div class="memberValue"> | |
79 <template repeat="{{ interface in cls.interfaces }}"> | |
80 <class-ref ref="{{ interface }}"></class-ref> | |
81 </template> | |
82 </div> | |
83 </div> | |
84 </template> | |
85 <template if="{{ cls.name != cls.vmName }}"> | |
86 <div class="memberItem"> | |
87 <div class="memberName">vm name</div> | |
88 <div class="memberValue">{{ cls.vmName }}</div> | |
89 </div> | |
90 </template> | |
91 </div> | |
92 </div> | |
93 | |
94 <template if="{{ cls.error != null }}"> | |
95 <error-ref ref="{{ cls.error }}"></error-ref> | |
96 </template> | |
97 | |
98 <hr> | |
99 | |
100 <div class="content"> | |
101 <template if="{{ cls.fields.isNotEmpty }}"> | |
102 fields ({{ cls.fields.length }}) | |
103 <curly-block expand="{{ cls.fields.length <= 8 }}"> | |
104 <div class="memberList"> | |
105 <template repeat="{{ field in cls.fields }}"> | |
106 <div class="memberItem"> | |
107 <div class="memberName"> | |
108 <field-ref ref="{{ field }}"></field-ref> | |
109 </div> | |
110 <div class="memberValue"> | |
111 <template if="{{ field.value != null }}"> | |
112 <any-service-ref ref="{{ field.value }}"></any-service-ref> | |
113 </template> | |
114 </div> | |
115 </div> | |
116 </template> | |
117 </div> | |
118 </curly-block><br><br> | |
119 </template> | |
120 | |
121 <template if="{{ cls.functions.isNotEmpty }}"> | |
122 functions ({{ cls.functions.length }}) | |
123 <curly-block expand="{{ cls.functions.length <= 8 }}"> | |
124 <div class="memberList"> | |
125 <template repeat="{{ function in cls.functions }}"> | |
126 <div class="memberItem"> | |
127 <div class="memberValue"> | |
128 <function-ref ref="{{ function }}" qualified="{{ false }}"> | |
129 </function-ref> | |
130 </div> | |
131 </div> | |
132 </template> | |
133 </div> | |
134 </curly-block><br><br> | |
135 </template> | |
136 | |
137 <template if="{{ !cls.hasNoAllocations }}"> | |
138 instances | |
139 <div class="memberItem"> | |
140 <div class="memberName">currently allocated</div> | |
141 <div class="memberValue"> | |
142 count {{ cls.newSpace.current.instances + cls.oldSpace.current.ins
tances }} | |
143 (shallow size {{ cls.newSpace.current.bytes + cls.oldSpace.current
.bytes | formatSize }}) | |
144 </div> | |
145 </div> | |
146 <div class="memberItem"> | |
147 <div class="memberName">strongly reachable</div> | |
148 <div class="memberValue"> | |
149 <template if="{{ instances == null }}"> | |
150 <eval-link callback="{{ reachable }}" | |
151 label="[find]" | |
152 expr="100"> | |
153 </eval-link> | |
154 </template> | |
155 <template if="{{ instances != null }}"> | |
156 sample | |
157 <any-service-ref ref="{{ instances['sample'] }}"></any-service-r
ef> | |
158 <template if="{{ instances['totalCount'] > instances['sampleCoun
t'] }}"> | |
159 <eval-link callback="{{ reachable }}" | |
160 label="[more]" | |
161 expr="{{ instances['sampleCount'] * 2 }}"> | |
162 </eval-link> | |
163 </template> | |
164 of total {{ instances['totalCount'] }} | |
165 </template> | |
166 </div> | |
167 </div> | |
168 <div class="memberItem"> | |
169 <div class="memberName">retained size</div> | |
170 <div class="memberValue"> | |
171 <template if="{{ retainedBytes == null }}"> | |
172 <eval-link callback="{{ retainedSize }}" | |
173 label="[calculate]"> | |
174 </eval-link> | |
175 </template> | |
176 <template if="{{ retainedBytes != null }}"> | |
177 {{ retainedBytes | formatSize }} | |
178 </template> | |
179 </div> | |
180 </div> | |
181 </template> | |
182 </div> | |
183 | |
184 <hr> | |
185 | |
186 <div class="content"> | |
187 <eval-box callback="{{ eval }}"></eval-box> | |
188 </div> | |
189 | |
190 <hr> | |
191 <script-inset script="{{ cls.script }}" | |
192 startPos="{{ cls.tokenPos }}" | |
193 endPos="{{ cls.endTokenPos }}"> | |
194 </script-inset> | |
195 | |
196 <br><br><br><br> | |
197 <br><br><br><br> | |
198 </template> | |
199 </polymer-element> | |
200 | |
201 <script type="application/dart" src="class_view.dart"></script> | |
OLD | NEW |