Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(358)

Side by Side Diff: pkg/compiler/lib/src/kernel/accessors.dart

Issue 2323373003: fix other files in kernel after roll (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | pkg/compiler/lib/src/kernel/unresolved.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE.md file. 3 // BSD-style license that can be found in the LICENSE.md file.
4 4
5 import 'package:kernel/ast.dart' as ir; 5 import 'package:kernel/ast.dart' as ir;
6 import 'package:kernel/frontend/accessors.dart' as ir_accessors; 6 import 'package:kernel/frontend/accessors.dart' as ir_accessors;
7 7
8 import 'kernel.dart' show Kernel; 8 import 'kernel.dart' show Kernel;
9 import 'unresolved.dart' show UnresolvedVisitor; 9 import 'unresolved.dart' show UnresolvedVisitor;
10 10
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 kernel.getUnresolvedStaticSetterBuilder(), 70 kernel.getUnresolvedStaticSetterBuilder(),
71 new ir.NullLiteral(), 71 new ir.NullLiteral(),
72 name, 72 name,
73 new ir.Arguments(<ir.Expression>[value])); 73 new ir.Arguments(<ir.Expression>[value]));
74 } 74 }
75 } 75 }
76 76
77 class SuperPropertyAccessor extends ir_accessors.SuperPropertyAccessor { 77 class SuperPropertyAccessor extends ir_accessors.SuperPropertyAccessor {
78 final UnresolvedVisitor builder; 78 final UnresolvedVisitor builder;
79 79
80 /// Name of the property attempted to be accessed, used to generate an
81 /// error if unresolved.
82 final String name;
83
84 SuperPropertyAccessor( 80 SuperPropertyAccessor(
85 this.builder, this.name, ir.Member readTarget, ir.Member writeTarget) 81 this.builder, ir.Name name, ir.Member getter, ir.Member setter)
86 : super(readTarget, writeTarget); 82 : super(name, getter, setter);
87 83
88 @override 84 @override
89 makeInvalidRead() { 85 makeInvalidRead() {
90 // TODO(asgerf): Technically, we should invoke 'super.noSuchMethod' for 86 // TODO(asgerf): Technically, we should invoke 'super.noSuchMethod' for
91 // this and the other invalid super cases. 87 // this and the other invalid super cases.
92 return builder.buildThrowUnresolvedSuperGetter(name); 88 return builder.buildThrowUnresolvedSuperGetter(name.name);
93 } 89 }
94 90
95 @override 91 @override
96 makeInvalidWrite(ir.Expression value) { 92 makeInvalidWrite(ir.Expression value) {
97 return builder.buildThrowUnresolvedSuperSetter(name, value); 93 return builder.buildThrowUnresolvedSuperSetter(name.name, value);
98 } 94 }
99 } 95 }
100 96
101 class SuperIndexAccessor extends ir_accessors.SuperIndexAccessor { 97 class SuperIndexAccessor extends ir_accessors.SuperIndexAccessor {
102 final UnresolvedVisitor builder; 98 final UnresolvedVisitor builder;
103 99
104 Kernel get kernel => builder.kernel; 100 Kernel get kernel => builder.kernel;
105 101
106 SuperIndexAccessor(this.builder, ir.Expression index, ir.Member readTarget, 102 SuperIndexAccessor(
107 ir.Member writeTarget) 103 this.builder, ir.Expression index, ir.Member getter, ir.Member setter)
108 : super(index, readTarget, writeTarget); 104 : super(index, getter, setter);
109 105
110 @override 106 @override
111 makeInvalidRead() { 107 makeInvalidRead() {
112 return builder.buildThrowNoSuchMethodError( 108 return builder.buildThrowNoSuchMethodError(
113 kernel.getUnresolvedSuperMethodBuilder(), 109 kernel.getUnresolvedSuperMethodBuilder(),
114 new ir.ThisExpression(), 110 new ir.ThisExpression(),
115 '[]', 111 '[]',
116 new ir.Arguments(<ir.Expression>[indexAccess()])); 112 new ir.Arguments(<ir.Expression>[indexAccess()]));
117 } 113 }
118 114
119 @override 115 @override
120 makeInvalidWrite(ir.Expression value) { 116 makeInvalidWrite(ir.Expression value) {
121 return builder.buildThrowNoSuchMethodError( 117 return builder.buildThrowNoSuchMethodError(
122 kernel.getUnresolvedSuperMethodBuilder(), 118 kernel.getUnresolvedSuperMethodBuilder(),
123 new ir.ThisExpression(), 119 new ir.ThisExpression(),
124 '[]=', 120 '[]=',
125 new ir.Arguments(<ir.Expression>[indexAccess(), value])); 121 new ir.Arguments(<ir.Expression>[indexAccess(), value]));
126 } 122 }
127 } 123 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/kernel/unresolved.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698