| OLD | NEW |
| 1 <head> | 1 <head> |
| 2 <link rel="import" href="curly_block.html"> | 2 <link rel="import" href="curly_block.html"> |
| 3 <link rel="import" href="eval_box.html"> | 3 <link rel="import" href="eval_box.html"> |
| 4 <link rel="import" href="eval_link.html"> | 4 <link rel="import" href="eval_link.html"> |
| 5 <link rel="import" href="field_ref.html"> | 5 <link rel="import" href="field_ref.html"> |
| 6 <link rel="import" href="function_ref.html"> | 6 <link rel="import" href="function_ref.html"> |
| 7 <link rel="import" href="instance_ref.html"> | 7 <link rel="import" href="instance_ref.html"> |
| 8 <link rel="import" href="library_ref.html"> | 8 <link rel="import" href="library_ref.html"> |
| 9 <link rel="import" href="nav_bar.html"> | 9 <link rel="import" href="nav_bar.html"> |
| 10 <link rel="import" href="observatory_element.html"> | 10 <link rel="import" href="observatory_element.html"> |
| 11 <link rel="import" href="script_ref.html"> | 11 <link rel="import" href="script_ref.html"> |
| 12 </head> | 12 </head> |
| 13 <polymer-element name="class-view" extends="observatory-element"> | 13 <polymer-element name="class-view" extends="observatory-element"> |
| 14 <template> | 14 <template> |
| 15 <link rel="stylesheet" href="css/shared.css"> | 15 <link rel="stylesheet" href="css/shared.css"> |
| 16 <nav-bar> | 16 <nav-bar> |
| 17 <top-nav-menu></top-nav-menu> | 17 <top-nav-menu></top-nav-menu> |
| 18 <isolate-nav-menu isolate="{{ cls.isolate }}"></isolate-nav-menu> | 18 <isolate-nav-menu isolate="{{ cls.isolate }}"></isolate-nav-menu> |
| 19 <library-nav-menu library="{{ cls['library'] }}"></library-nav-menu> | 19 <library-nav-menu library="{{ cls.library }}"></library-nav-menu> |
| 20 <class-nav-menu cls="{{ cls }}" last="{{ true }}"></class-nav-menu> | 20 <class-nav-menu cls="{{ cls }}" last="{{ true }}"></class-nav-menu> |
| 21 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 21 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 22 <nav-control></nav-control> |
| 22 </nav-bar> | 23 </nav-bar> |
| 23 | 24 |
| 24 <div class="content"> | 25 <div class="content"> |
| 25 <h1> | 26 <h1> |
| 26 <template if="{{ cls['abstract'] }}"> | 27 <template if="{{ cls.isAbstract }}"> |
| 27 abstract | 28 abstract |
| 28 </template> | 29 </template> |
| 29 <template if="{{ cls['patch'] }}"> | 30 <template if="{{ cls.isPatch }}"> |
| 30 patch | 31 patch |
| 31 </template> | 32 </template> |
| 32 class {{ cls.name }} | 33 class {{ cls.name }} |
| 33 </h1> | 34 </h1> |
| 34 <div class="memberList"> | 35 <div class="memberList"> |
| 35 <div class="memberItem"> | 36 <div class="memberItem"> |
| 36 <div class="memberName">library</div> | 37 <div class="memberName">library</div> |
| 37 <div class="memberValue"> | 38 <div class="memberValue"> |
| 38 <library-ref ref="{{ cls['library'] }}"></library-ref> | 39 <library-ref ref="{{ cls.library }}"></library-ref> |
| 39 </div> | 40 </div> |
| 40 </div> | 41 </div> |
| 41 <div class="memberItem"> | 42 <div class="memberItem"> |
| 42 <div class="memberName">script</div> | 43 <div class="memberName">script</div> |
| 43 <div class="memberValue"> | 44 <div class="memberValue"> |
| 44 <script-ref ref="{{ cls['script'] }}" pos="{{ cls['tokenPos'] }}"> | 45 <script-ref ref="{{ cls.script }}" pos="{{ cls.tokenPos }}"> |
| 45 </script-ref> | 46 </script-ref> |
| 46 </div> | 47 </div> |
| 47 </div> | 48 </div> |
| 48 | 49 |
| 49 <div class="memberItem"> </div> | 50 <div class="memberItem"> </div> |
| 50 | 51 |
| 51 <template if="{{ cls['super'] != null }}"> | 52 <template if="{{ cls.superClass != null }}"> |
| 52 <div class="memberItem"> | 53 <div class="memberItem"> |
| 53 <div class="memberName">extends</div> | 54 <div class="memberName">extends</div> |
| 54 <div class="memberValue"> | 55 <div class="memberValue"> |
| 55 <class-ref ref="{{ cls['super'] }}"></class-ref> | 56 <class-ref ref="{{ cls.superClass }}"></class-ref> |
| 56 </div> | 57 </div> |
| 57 </div> | 58 </div> |
| 58 </template> | 59 </template> |
| 59 <template if="{{ cls['subclasses'].length > 0 }}"> | 60 <template if="{{ cls.subClasses.length > 0 }}"> |
| 60 <div class="memberItem"> | 61 <div class="memberItem"> |
| 61 <div class="memberName">extended by</div> | 62 <div class="memberName">extended by</div> |
| 62 <div class="memberValue"> | 63 <div class="memberValue"> |
| 63 <template repeat="{{ subclass in cls['subclasses'] }}"> | 64 <template repeat="{{ subclass in cls.subClasses }}"> |
| 64 <class-ref ref="{{ subclass }}"></class-ref> | 65 <class-ref ref="{{ subclass }}"></class-ref> |
| 65 </template> | 66 </template> |
| 66 </div> | 67 </div> |
| 67 </div> | 68 </div> |
| 68 </template> | 69 </template> |
| 69 | 70 |
| 70 <div class="memberItem"> </div> | 71 <div class="memberItem"> </div> |
| 71 | 72 |
| 72 <template if="{{ cls['interfaces'].length > 0 }}"> | 73 <template if="{{ cls.interfaces.length > 0 }}"> |
| 73 <div class="memberItem"> | 74 <div class="memberItem"> |
| 74 <div class="memberName">implements</div> | 75 <div class="memberName">implements</div> |
| 75 <div class="memberValue"> | 76 <div class="memberValue"> |
| 76 <template repeat="{{ interface in cls['interfaces'] }}"> | 77 <template repeat="{{ interface in cls.interfaces }}"> |
| 77 <class-ref ref="{{ interface }}"></class-ref> | 78 <class-ref ref="{{ interface }}"></class-ref> |
| 78 </template> | 79 </template> |
| 79 </div> | 80 </div> |
| 80 </div> | 81 </div> |
| 81 </template> | 82 </template> |
| 82 <template if="{{ cls.name != cls.vmName }}"> | 83 <template if="{{ cls.name != cls.vmName }}"> |
| 83 <div class="memberItem"> | 84 <div class="memberItem"> |
| 84 <div class="memberName">vm name</div> | 85 <div class="memberName">vm name</div> |
| 85 <div class="memberValue">{{ cls.vmName }}</div> | 86 <div class="memberValue">{{ cls.vmName }}</div> |
| 86 </div> | 87 </div> |
| 87 </template> | 88 </template> |
| 88 <div class="memberItem"> | 89 <div class="memberItem"> |
| 89 <div class="memberName">retained size<br>(all instances)</div> | 90 <div class="memberName">retained size<br>(all instances)</div> |
| 90 <div class="memberValue"> | 91 <div class="memberValue"> |
| 91 <eval-link callback="{{ retainedSize }}"></eval-link> | 92 <eval-link callback="{{ retainedSize }}"></eval-link> |
| 92 </div> | 93 </div> |
| 93 </div> | 94 </div> |
| 94 </div> | 95 </div> |
| 95 </div> | 96 </div> |
| 96 | 97 |
| 97 <template if="{{ cls['error'] != null }}"> | 98 <template if="{{ cls.error != null }}"> |
| 98 <!-- TODO(turnidge): Don't use instance-ref for error display here --> | 99 <!-- TODO(turnidge): Don't use instance-ref for error display here --> |
| 99 <instance-ref ref="{{ cls['error'] }}"></instance-ref> | 100 <instance-ref ref="{{ cls.error }}"></instance-ref> |
| 100 </template> | 101 </template> |
| 101 | 102 |
| 102 <hr> | 103 <hr> |
| 103 | 104 |
| 104 <div class="content"> | 105 <div class="content"> |
| 105 <template if="{{ cls['fields'].isNotEmpty }}"> | 106 <template if="{{ cls.fields.isNotEmpty }}"> |
| 106 fields ({{ cls['fields'].length }}) | 107 fields ({{ cls['fields'].length }}) |
| 107 <curly-block expand="{{ cls['fields'].length <= 8 }}"> | 108 <curly-block expand="{{ cls.fields.length <= 8 }}"> |
| 108 <div class="memberList"> | 109 <div class="memberList"> |
| 109 <template repeat="{{ field in cls['fields'] }}"> | 110 <template repeat="{{ field in cls.fields }}"> |
| 110 <div class="memberItem"> | 111 <div class="memberItem"> |
| 111 <div class="memberName"> | 112 <div class="memberName"> |
| 112 <field-ref ref="{{ field }}"></field-ref> | 113 <field-ref ref="{{ field }}"></field-ref> |
| 113 </div> | 114 </div> |
| 114 <div class="memberValue"> | 115 <div class="memberValue"> |
| 115 <template if="{{ field['value'] != null }}"> | 116 <template if="{{ field['value'] != null }}"> |
| 116 <instance-ref ref="{{ field['value'] }}"></instance-ref> | 117 <instance-ref ref="{{ field['value'] }}"></instance-ref> |
| 117 </template> | 118 </template> |
| 118 </div> | 119 </div> |
| 119 </div> | 120 </div> |
| 120 </template> | 121 </template> |
| 121 </div> | 122 </div> |
| 122 </curly-block><br><br> | 123 </curly-block><br><br> |
| 123 </template> | 124 </template> |
| 124 | 125 |
| 125 <template if="{{ cls['functions'].isNotEmpty }}"> | 126 <template if="{{ cls.functions.isNotEmpty }}"> |
| 126 functions ({{ cls['functions'].length }}) | 127 functions ({{ cls.functions.length }}) |
| 127 <curly-block expand="{{ cls['functions'].length <= 8 }}"> | 128 <curly-block expand="{{ cls.functions.length <= 8 }}"> |
| 128 <div class="memberList"> | 129 <div class="memberList"> |
| 129 <template repeat="{{ function in cls['functions'] }}"> | 130 <template repeat="{{ function in cls.functions }}"> |
| 130 <div class="memberItem"> | 131 <div class="memberItem"> |
| 131 <div class="memberValue"> | 132 <div class="memberValue"> |
| 132 <function-ref ref="{{ function }}" qualified="{{ false }}"> | 133 <function-ref ref="{{ function }}" qualified="{{ false }}"> |
| 133 </function-ref> | 134 </function-ref> |
| 134 </div> | 135 </div> |
| 135 </div> | 136 </div> |
| 136 </template> | 137 </template> |
| 137 </div> | 138 </div> |
| 138 </curly-block><br><br> | 139 </curly-block><br><br> |
| 139 </template> | 140 </template> |
| 140 </div> | 141 </div> |
| 141 | 142 |
| 142 <hr> | 143 <hr> |
| 143 | 144 |
| 144 <div class="content"> | 145 <div class="content"> |
| 145 <eval-box callback="{{ eval }}"></eval-box> | 146 <eval-box callback="{{ eval }}"></eval-box> |
| 146 </div> | 147 </div> |
| 147 <br><br><br><br> | 148 <br><br><br><br> |
| 148 <br><br><br><br> | 149 <br><br><br><br> |
| 149 </template> | 150 </template> |
| 150 <script type="application/dart" src="class_view.dart"></script> | 151 <script type="application/dart" src="class_view.dart"></script> |
| 151 </polymer-element> | 152 </polymer-element> |
| OLD | NEW |