@@ -68,7 +68,7 @@ var logDumper = (function($, module){
6868 ) +
6969 dumpObjectProperties ( abs , { 'viaDebugInfo' : abs . viaDebugInfo } ) +
7070 ( abs . collectMethods // outputMethods
71- ? dumpObjectMethods ( abs . methods )
71+ ? dumpObjectMethods ( abs )
7272 : ''
7373 ) +
7474 '</dl>' ;
@@ -136,8 +136,8 @@ var logDumper = (function($, module){
136136 }
137137 if ( info . phpDoc ) {
138138 if ( typeof info . phpDoc . return != "undefined" ) {
139- info . phpDoc . return [ 0 ] . desc = atob ( info . phpDoc . return [ 0 ] . desc ) ;
140- info . phpDoc . return [ 0 ] . type = atob ( info . phpDoc . return [ 0 ] . type ) ;
139+ info . phpDoc . return . desc = atob ( info . phpDoc . return . desc ) ;
140+ info . phpDoc . return . type = atob ( info . phpDoc . return . type ) ;
141141 }
142142 info . phpDoc . summary = info . phpDoc . summary
143143 ? atob ( info . phpDoc . summary ) : null ;
@@ -172,7 +172,6 @@ var logDumper = (function($, module){
172172 }
173173
174174 function dumpObjectProperties ( abs , meta ) {
175-
176175 var html = '' ;
177176 var properties = abs . properties ;
178177 var label = Object . keys ( properties ) . length
@@ -182,17 +181,15 @@ var logDumper = (function($, module){
182181 label += ' <span class="text-muted">(via __debugInfo)</span>' ;
183182 }
184183 html = '<dt class="properties">' + label + '</dt>' ;
185- if ( abs . methods . __get ) {
186- html += '<dd class="magic-method info">This object has a <code>__get()</code> method</dd>' + "\n" ;
187- }
184+ html += magicMethodInfo ( abs , [ '__get' , '__set' ] ) ;
188185 $ . each ( properties , function ( k , info ) {
189186 // console.info('property info', info);
190187 var viaDebugInfo = info . viaDebugInfo ;
191188 var isPrivateAncestor = info [ 'visibility' ] == 'private' && info [ 'inheritedFrom' ] ;
192189 var $dd = $ ( '<dd class="property">' +
193190 '<span class="t_modifier_' + info . visibility + '">' + info . visibility + '</span>' +
194191 ( info . type
195- ? ' <span class="t_type">[ ' + info . type + '] </span>'
192+ ? ' <span class="t_type">' + info . type + '</span>'
196193 : ''
197194 ) +
198195 ' <span class="property-name"' +
@@ -208,9 +205,6 @@ var logDumper = (function($, module){
208205 if ( info . visibility != "debug" ) {
209206 $dd . addClass ( info . visibility ) ;
210207 }
211- if ( info . isMagic ) {
212- $dd . addClass ( 'magic-property' ) ;
213- }
214208 if ( viaDebugInfo ) {
215209 $dd . addClass ( "debug-value" ) ;
216210 }
@@ -222,12 +216,13 @@ var logDumper = (function($, module){
222216 return html ;
223217 }
224218
225- function dumpObjectMethods ( methods ) {
226- var label = Object . keys ( methods ) . length
219+ function dumpObjectMethods ( abs ) {
220+ var label = Object . keys ( abs . methods ) . length
227221 ? 'methods'
228222 : 'no methods' ;
229223 var html = '<dt class="methods">' + label + '</dt>' ;
230- $ . each ( methods , function ( k , info ) {
224+ html += magicMethodInfo ( abs , [ '__call' , '__callStatic' ] ) ;
225+ $ . each ( abs . methods , function ( k , info ) {
231226 // console.info('method info', info);
232227 var paramStr = dumpMethodParams ( info . params ) ;
233228 var modifiers = [ ] ;
@@ -242,11 +237,11 @@ var logDumper = (function($, module){
242237 }
243238 if ( typeof info . phpDoc . return != "undefined" ) {
244239 returnType = ' <span class="t_type"' +
245- ( info . phpDoc . return [ 0 ] . desc !== null
246- ? ' title="' + info . phpDoc . return [ 0 ] . desc . escapeHtml ( ) + '"'
240+ ( info . phpDoc . return . desc !== null
241+ ? ' title="' + info . phpDoc . return . desc . escapeHtml ( ) + '"'
247242 : ''
248243 ) +
249- '>' + info . phpDoc . return [ 0 ] . type + '</span>' ;
244+ '>' + info . phpDoc . return . type + '</span>' ;
250245 }
251246 $dd = $ ( '<dd class="method">' +
252247 modifiers . join ( ' ' ) +
@@ -292,7 +287,8 @@ var logDumper = (function($, module){
292287 defaultValue = defaultValue . replace ( "\n" , " " ) ;
293288 }
294289 html += ' <span class="t_operator">=</span> ' ;
295- html += '<span class="t_parameter-default">' + module . dump ( defaultValue , true , true , false ) + '</span>' ;
290+ html += $ ( module . dump ( defaultValue , true , true , false ) )
291+ . addClass ( 't_parameter-default' ) [ 0 ] . outerHTML ;
296292 }
297293 html += '</span>, ' ; // end .parameter
298294 } ) ;
@@ -302,6 +298,25 @@ var logDumper = (function($, module){
302298 return html ;
303299 }
304300
301+ function magicMethodInfo ( abs , methods ) {
302+ var methodsHave = [ ] ,
303+ method ;
304+ for ( i = 0 ; i < methods . length ; i ++ ) {
305+ method = methods [ i ] ;
306+ if ( abs . methods [ method ] ) {
307+ methodsHave . push ( '<code>' + method + '</code>' ) ;
308+ }
309+ }
310+ if ( methodsHave . length < 1 ) {
311+ return '' ;
312+ }
313+ methods = methodsHave . join ( ' and ' ) ;
314+ methods = methodsHave . length == 1
315+ ? 'a ' + methods + ' method'
316+ : methods + ' methods' ;
317+ return '<dd class="magic info">This object has ' + methods + '</dd>' ;
318+ }
319+
305320 return module ;
306321
307322} ( jQuery , logDumper || { } ) ) ;
0 commit comments