@@ -43,11 +43,10 @@ private static void GenerateBinaryExpression(ScriptGenerator generator, MemberSy
43
43
Debug . Assert ( propExpression . Type == ExpressionType . PropertySet ) ;
44
44
45
45
if ( propExpression . ObjectReference is BaseExpression ) {
46
- writer . Write ( "ss.base(" ) ;
47
- writer . Write ( generator . CurrentImplementation . ThisIdentifier ) ;
48
- writer . Write ( ", 'set_" ) ;
46
+ writer . Write ( ( ( BaseExpression ) propExpression . ObjectReference ) . EvaluatedType . FullGeneratedName ) ;
47
+ writer . Write ( ".prototype.set_" ) ;
49
48
writer . Write ( propExpression . Property . GeneratedName ) ;
50
- writer . Write ( "') .call(" ) ;
49
+ writer . Write ( ".call(" ) ;
51
50
writer . Write ( generator . CurrentImplementation . ThisIdentifier ) ;
52
51
writer . Write ( ", " ) ;
53
52
GenerateExpression ( generator , symbol , expression . RightOperand ) ;
@@ -71,11 +70,10 @@ private static void GenerateBinaryExpression(ScriptGenerator generator, MemberSy
71
70
Debug . Assert ( indexExpression . Type == ExpressionType . Indexer ) ;
72
71
73
72
if ( indexExpression . ObjectReference is BaseExpression ) {
74
- writer . Write ( "ss.base(" ) ;
75
- writer . Write ( generator . CurrentImplementation . ThisIdentifier ) ;
76
- writer . Write ( ", 'set_" ) ;
73
+ writer . Write ( ( ( BaseExpression ) indexExpression . ObjectReference ) . EvaluatedType . FullGeneratedName ) ;
74
+ writer . Write ( ".prototype.set_" ) ;
77
75
writer . Write ( indexExpression . Indexer . GeneratedName ) ;
78
- writer . Write ( "') .call(" ) ;
76
+ writer . Write ( ".call(" ) ;
79
77
writer . Write ( generator . CurrentImplementation . ThisIdentifier ) ;
80
78
writer . Write ( ", " ) ;
81
79
GenerateExpressionList ( generator , symbol , indexExpression . Indices ) ;
@@ -478,11 +476,10 @@ private static void GenerateIndexerExpression(ScriptGenerator generator, MemberS
478
476
writer . Write ( "]" ) ;
479
477
}
480
478
else if ( expression . ObjectReference is BaseExpression ) {
481
- writer . Write ( "ss.base(" ) ;
482
- writer . Write ( generator . CurrentImplementation . ThisIdentifier ) ;
483
- writer . Write ( ", 'get_" ) ;
479
+ writer . Write ( ( ( BaseExpression ) expression . ObjectReference ) . EvaluatedType . FullGeneratedName ) ;
480
+ writer . Write ( ".prototype.get_" ) ;
484
481
writer . Write ( expression . Indexer . GeneratedName ) ;
485
- writer . Write ( "') .call(" ) ;
482
+ writer . Write ( ".call(" ) ;
486
483
writer . Write ( generator . CurrentImplementation . ThisIdentifier ) ;
487
484
writer . Write ( ", " ) ;
488
485
GenerateExpressionList ( generator , symbol , expression . Indices ) ;
@@ -707,11 +704,10 @@ private static void GenerateMethodExpression(ScriptGenerator generator, MemberSy
707
704
if ( expression . ObjectReference is BaseExpression ) {
708
705
Debug . Assert ( expression . Method . IsExtension == false ) ;
709
706
710
- writer . Write ( "ss.base(" ) ;
711
- writer . Write ( generator . CurrentImplementation . ThisIdentifier ) ;
712
- writer . Write ( ", '" ) ;
707
+ writer . Write ( ( ( BaseExpression ) expression . ObjectReference ) . EvaluatedType . FullGeneratedName ) ;
708
+ writer . Write ( ".prototype." ) ;
713
709
writer . Write ( expression . Method . GeneratedName ) ;
714
- writer . Write ( "') .call(" ) ;
710
+ writer . Write ( ".call(" ) ;
715
711
writer . Write ( generator . CurrentImplementation . ThisIdentifier ) ;
716
712
if ( ( expression . Parameters != null ) && ( expression . Parameters . Count != 0 ) ) {
717
713
writer . Write ( ", " ) ;
0 commit comments