@@ -284,6 +284,18 @@ export class RecordRange {
284284 record . funcOrValue = proto . funcOrValue ;
285285 record . updateContext ( context ) ;
286286 }
287+
288+ inspect ( ) {
289+ return _inspect ( this ) ;
290+ }
291+ }
292+
293+ function _inspect ( recordRange :RecordRange ) {
294+ var res = [ ] ;
295+ for ( var r = recordRange . headRecord . next ; r != recordRange . tailRecord ; r = r . next ) {
296+ ListWrapper . push ( res , r . inspect ( ) . description ) ;
297+ }
298+ return res ;
287299}
288300
289301function _link ( a :Record , b :Record ) {
@@ -336,14 +348,14 @@ class ProtoRecordCreator {
336348
337349 visitBinary ( ast :Binary , dest ) {
338350 var record = this . construct ( RECORD_TYPE_INVOKE_PURE_FUNCTION ,
339- _operationToFunction ( ast . operation ) , 2 , null , dest ) ;
351+ _operationToFunction ( ast . operation ) , 2 , ast . operation , dest ) ;
340352 ast . left . visit ( this , new Destination ( record , 0 ) ) ;
341353 ast . right . visit ( this , new Destination ( record , 1 ) ) ;
342354 this . add ( record ) ;
343355 }
344356
345357 visitPrefixNot ( ast :PrefixNot , dest ) {
346- var record = this . construct ( RECORD_TYPE_INVOKE_PURE_FUNCTION , _operation_negate , 1 , null , dest ) ;
358+ var record = this . construct ( RECORD_TYPE_INVOKE_PURE_FUNCTION , _operation_negate , 1 , "-" , dest ) ;
347359 ast . expression . visit ( this , new Destination ( record , 0 ) ) ;
348360 this . add ( record ) ;
349361 }
@@ -359,15 +371,15 @@ class ProtoRecordCreator {
359371 }
360372
361373 visitFormatter ( ast :Formatter , dest ) {
362- var record = this . construct ( RECORD_TYPE_INVOKE_FORMATTER , ast . name , ast . allArgs . length , null , dest ) ;
374+ var record = this . construct ( RECORD_TYPE_INVOKE_FORMATTER , ast . name , ast . allArgs . length , ast . name , dest ) ;
363375 for ( var i = 0 ; i < ast . allArgs . length ; ++ i ) {
364376 ast . allArgs [ i ] . visit ( this , new Destination ( record , i ) ) ;
365377 }
366378 this . add ( record ) ;
367379 }
368380
369381 visitMethodCall ( ast :MethodCall , dest ) {
370- var record = this . construct ( RECORD_TYPE_INVOKE_METHOD , ast . fn , ast . args . length , null , dest ) ;
382+ var record = this . construct ( RECORD_TYPE_INVOKE_METHOD , ast . fn , ast . args . length , ast . name , dest ) ;
371383 for ( var i = 0 ; i < ast . args . length ; ++ i ) {
372384 ast . args [ i ] . visit ( this , new Destination ( record , i ) ) ;
373385 }
@@ -395,23 +407,23 @@ class ProtoRecordCreator {
395407 }
396408
397409 visitConditional ( ast :Conditional , dest ) {
398- var record = this . construct ( RECORD_TYPE_INVOKE_PURE_FUNCTION , _cond , 3 , null , dest ) ;
410+ var record = this . construct ( RECORD_TYPE_INVOKE_PURE_FUNCTION , _cond , 3 , "?:" , dest ) ;
399411 ast . condition . visit ( this , new Destination ( record , 0 ) ) ;
400412 ast . trueExp . visit ( this , new Destination ( record , 1 ) ) ;
401413 ast . falseExp . visit ( this , new Destination ( record , 2 ) ) ;
402414 this . add ( record ) ;
403415 }
404416
405417 visitKeyedAccess ( ast :KeyedAccess , dest ) {
406- var record = this . construct ( RECORD_TYPE_INVOKE_METHOD , _keyedAccess , 1 , null , dest ) ;
418+ var record = this . construct ( RECORD_TYPE_INVOKE_METHOD , _keyedAccess , 1 , "[]" , dest ) ;
407419 ast . obj . visit ( this , new Destination ( record , null ) ) ;
408420 ast . key . visit ( this , new Destination ( record , 0 ) ) ;
409421 this . add ( record ) ;
410422 }
411423
412424 visitLiteralArray ( ast :LiteralArray , dest ) {
413425 var length = ast . expressions . length ;
414- var record = this . construct ( RECORD_TYPE_INVOKE_PURE_FUNCTION , _arrayFn ( length ) , length , null , dest ) ;
426+ var record = this . construct ( RECORD_TYPE_INVOKE_PURE_FUNCTION , _arrayFn ( length ) , length , "Array()" , dest ) ;
415427 for ( var i = 0 ; i < length ; ++ i ) {
416428 ast . expressions [ i ] . visit ( this , new Destination ( record , i ) ) ;
417429 }
@@ -420,7 +432,7 @@ class ProtoRecordCreator {
420432
421433 visitLiteralMap ( ast :LiteralMap , dest ) {
422434 var length = ast . values . length ;
423- var record = this . construct ( RECORD_TYPE_INVOKE_PURE_FUNCTION , _mapFn ( ast . keys , length ) , length , null , dest ) ;
435+ var record = this . construct ( RECORD_TYPE_INVOKE_PURE_FUNCTION , _mapFn ( ast . keys , length ) , length , "Map()" , dest ) ;
424436 for ( var i = 0 ; i < length ; ++ i ) {
425437 ast . values [ i ] . visit ( this , new Destination ( record , i ) ) ;
426438 }
0 commit comments