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

Side by Side Diff: pkg/compiler/lib/src/kernel/unresolved.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 | « pkg/compiler/lib/src/kernel/accessors.dart ('k') | no next file » | 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 6
7 import "../dart_types.dart" show DartType, InterfaceType; 7 import "../dart_types.dart" show DartType, InterfaceType;
8 import "../elements/elements.dart" 8 import "../elements/elements.dart"
9 show 9 show
10 AstElement, 10 AstElement,
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 name, 123 name,
124 new ir.Arguments(<ir.Expression>[argument])); 124 new ir.Arguments(<ir.Expression>[argument]));
125 } 125 }
126 126
127 ir.Expression buildThrowSingleArgumentError( 127 ir.Expression buildThrowSingleArgumentError(
128 ir.Procedure exceptionBuilder, String errorMessage) { 128 ir.Procedure exceptionBuilder, String errorMessage) {
129 return new ir.Throw(new ir.StaticInvocation(exceptionBuilder, 129 return new ir.Throw(new ir.StaticInvocation(exceptionBuilder,
130 new ir.Arguments(<ir.Expression>[new ir.StringLiteral(errorMessage)]))); 130 new ir.Arguments(<ir.Expression>[new ir.StringLiteral(errorMessage)])));
131 } 131 }
132 132
133 SuperIndexAccessor buildUnresolvedSuperIndexAccessor(
134 Node index, Element element) {
135 ir.Member member = possiblyErroneousFunctionToIr(element);
136 return new SuperIndexAccessor(this, visitForValue(index), member, member);
137 }
138
139 SuperPropertyAccessor buildUnresolvedSuperPropertyAccessor(
140 String name, Element getter) {
141 return new SuperPropertyAccessor(this, kernel.irName(name, currentElement),
142 getter == null ? null : possiblyErroneousFunctionToIr(getter), null);
143 }
144
133 ir.Expression visitUnresolvedClassConstructorInvoke( 145 ir.Expression visitUnresolvedClassConstructorInvoke(
134 NewExpression node, 146 NewExpression node,
135 ErroneousElement element, 147 ErroneousElement element,
136 DartType type, 148 DartType type,
137 NodeList arguments, 149 NodeList arguments,
138 Selector selector, 150 Selector selector,
139 _) { 151 _) {
140 // TODO(asgerf): The VM includes source information as part of the error 152 // TODO(asgerf): The VM includes source information as part of the error
141 // message. We could do the same when we add source maps. 153 // message. We could do the same when we add source maps.
142 return buildThrowSingleArgumentError( 154 return buildThrowSingleArgumentError(
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 new ir.Arguments(<ir.Expression>[visitForValue(argument)])); 285 new ir.Arguments(<ir.Expression>[visitForValue(argument)]));
274 } 286 }
275 287
276 ir.Expression visitUnresolvedSuperCompound( 288 ir.Expression visitUnresolvedSuperCompound(
277 Send node, Element element, AssignmentOperator operator, Node rhs, _) { 289 Send node, Element element, AssignmentOperator operator, Node rhs, _) {
278 return buildThrowUnresolvedSuperGetter('${node.selector}'); 290 return buildThrowUnresolvedSuperGetter('${node.selector}');
279 } 291 }
280 292
281 ir.Expression visitUnresolvedSuperCompoundIndexSet(Send node, Element element, 293 ir.Expression visitUnresolvedSuperCompoundIndexSet(Send node, Element element,
282 Node index, AssignmentOperator operator, Node rhs, _) { 294 Node index, AssignmentOperator operator, Node rhs, _) {
283 var accessor = new SuperIndexAccessor(this, visitForValue(index), 295 return buildUnresolvedSuperIndexAccessor(index, element)
284 possiblyErroneousFunctionToIr(element), null); 296 .buildCompoundAssignment(
285 return accessor.buildCompoundAssignment( 297 new ir.Name(operator.selectorName), visitForValue(rhs));
286 new ir.Name(operator.selectorName), visitForValue(rhs));
287 } 298 }
288 299
289 ir.Expression visitUnresolvedSuperGet(Send node, Element element, _) { 300 ir.Expression visitUnresolvedSuperGet(Send node, Element element, _) {
290 return buildThrowUnresolvedSuperGetter('${node.selector}'); 301 return buildThrowUnresolvedSuperGetter('${node.selector}');
291 } 302 }
292 303
293 ir.Expression visitUnresolvedSuperGetterCompound(Send node, Element element, 304 ir.Expression visitUnresolvedSuperGetterCompound(Send node, Element element,
294 MethodElement setter, AssignmentOperator operator, Node rhs, _) { 305 MethodElement setter, AssignmentOperator operator, Node rhs, _) {
295 return buildThrowUnresolvedSuperGetter('${node.selector}'); 306 return buildThrowUnresolvedSuperGetter('${node.selector}');
296 } 307 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 return buildThrowUnresolvedSuperGetter('${node.selector}'); 347 return buildThrowUnresolvedSuperGetter('${node.selector}');
337 } 348 }
338 349
339 ir.Expression visitUnresolvedSuperGetterSetIfNull( 350 ir.Expression visitUnresolvedSuperGetterSetIfNull(
340 Send node, Element element, MethodElement setter, Node rhs, _) { 351 Send node, Element element, MethodElement setter, Node rhs, _) {
341 return buildThrowUnresolvedSuperGetter('${node.selector}'); 352 return buildThrowUnresolvedSuperGetter('${node.selector}');
342 } 353 }
343 354
344 ir.Expression visitUnresolvedSuperIndex( 355 ir.Expression visitUnresolvedSuperIndex(
345 Send node, Element element, Node index, _) { 356 Send node, Element element, Node index, _) {
346 return new SuperIndexAccessor(this, visitForValue(index), null, null) 357 return buildUnresolvedSuperIndexAccessor(index, element).buildSimpleRead();
347 .buildSimpleRead();
348 } 358 }
349 359
350 ir.Expression visitUnresolvedSuperIndexPostfix( 360 ir.Expression visitUnresolvedSuperIndexPostfix(
351 Send node, Element element, Node index, IncDecOperator operator, _) { 361 Send node, Element element, Node index, IncDecOperator operator, _) {
352 return new SuperIndexAccessor(this, visitForValue(index), null, null) 362 return buildUnresolvedSuperIndexAccessor(index, element).buildSimpleRead();
353 .buildSimpleRead();
354 } 363 }
355 364
356 ir.Expression visitUnresolvedSuperIndexPrefix( 365 ir.Expression visitUnresolvedSuperIndexPrefix(
357 Send node, Element element, Node index, IncDecOperator operator, _) { 366 Send node, Element element, Node index, IncDecOperator operator, _) {
358 return new SuperIndexAccessor(this, visitForValue(index), null, null) 367 return buildUnresolvedSuperIndexAccessor(index, element).buildSimpleRead();
359 .buildSimpleRead();
360 } 368 }
361 369
362 ir.Expression visitUnresolvedSuperIndexSet( 370 ir.Expression visitUnresolvedSuperIndexSet(
363 Send node, Element element, Node index, Node rhs, _) { 371 Send node, Element element, Node index, Node rhs, _) {
364 return new SuperIndexAccessor(this, visitForValue(index), null, null) 372 return buildUnresolvedSuperIndexAccessor(index, element)
365 .buildAssignment(visitForValue(rhs)); 373 .buildAssignment(visitForValue(rhs));
366 } 374 }
367 375
368 ir.Expression visitUnresolvedSuperInvoke( 376 ir.Expression visitUnresolvedSuperInvoke(
369 Send node, Element element, NodeList arguments, Selector selector, _) { 377 Send node, Element element, NodeList arguments, Selector selector, _) {
370 // TODO(asgerf): Should really invoke 'super.noSuchMethod'. 378 // TODO(asgerf): Should really invoke 'super.noSuchMethod'.
371 return buildThrowNoSuchMethodError(kernel.getUnresolvedSuperMethodBuilder(), 379 return buildThrowNoSuchMethodError(kernel.getUnresolvedSuperMethodBuilder(),
372 new ir.ThisExpression(), '${node.selector}', buildArguments(arguments)); 380 new ir.ThisExpression(), '${node.selector}', buildArguments(arguments));
373 } 381 }
374 382
(...skipping 12 matching lines...) Expand all
387 return buildThrowUnresolvedSuperGetter('${node.selector}'); 395 return buildThrowUnresolvedSuperGetter('${node.selector}');
388 } 396 }
389 397
390 ir.Expression visitUnresolvedSuperSetterCompound( 398 ir.Expression visitUnresolvedSuperSetterCompound(
391 Send node, 399 Send node,
392 MethodElement getter, 400 MethodElement getter,
393 Element element, 401 Element element,
394 AssignmentOperator operator, 402 AssignmentOperator operator,
395 Node rhs, 403 Node rhs,
396 _) { 404 _) {
397 var accessor = new SuperPropertyAccessor( 405 return buildUnresolvedSuperPropertyAccessor('${node.selector}', getter)
398 this, '${node.selector}', possiblyErroneousFunctionToIr(getter), null); 406 .buildCompoundAssignment(
399 return accessor.buildCompoundAssignment( 407 new ir.Name(operator.selectorName), visitForValue(rhs));
400 new ir.Name(operator.selectorName), visitForValue(rhs));
401 } 408 }
402 409
403 ir.Expression visitUnresolvedSuperSetterCompoundIndexSet( 410 ir.Expression visitUnresolvedSuperSetterCompoundIndexSet(
404 Send node, 411 Send node,
405 MethodElement getter, 412 MethodElement getter,
406 Element element, 413 Element element,
407 Node index, 414 Node index,
408 AssignmentOperator operator, 415 AssignmentOperator operator,
409 Node rhs, 416 Node rhs,
410 _) { 417 _) {
411 var accessor = new SuperIndexAccessor(this, visitForValue(index), 418 return buildUnresolvedSuperIndexAccessor(index, element)
412 possiblyErroneousFunctionToIr(getter), null); 419 .buildCompoundAssignment(
413 return accessor.buildCompoundAssignment( 420 new ir.Name(operator.selectorName), visitForValue(rhs));
414 new ir.Name(operator.selectorName), visitForValue(rhs));
415 } 421 }
416 422
417 ir.Expression visitUnresolvedSuperSetterIndexPostfix( 423 ir.Expression visitUnresolvedSuperSetterIndexPostfix(
418 Send node, 424 Send node,
419 MethodElement indexFunction, 425 MethodElement indexFunction,
420 Element element, 426 Element element,
421 Node index, 427 Node index,
422 IncDecOperator operator, 428 IncDecOperator operator,
423 _) { 429 _) {
424 var accessor = new SuperIndexAccessor(this, visitForValue(index), 430 return buildUnresolvedSuperIndexAccessor(index, element)
425 possiblyErroneousFunctionToIr(indexFunction), null); 431 .buildPostfixIncrement(new ir.Name(operator.selectorName));
426 return accessor.buildPostfixIncrement(new ir.Name(operator.selectorName));
427 } 432 }
428 433
429 ir.Expression visitUnresolvedSuperSetterIndexPrefix( 434 ir.Expression visitUnresolvedSuperSetterIndexPrefix(
430 Send node, 435 Send node,
431 MethodElement indexFunction, 436 MethodElement indexFunction,
432 Element element, 437 Element element,
433 Node index, 438 Node index,
434 IncDecOperator operator, 439 IncDecOperator operator,
435 _) { 440 _) {
436 var accessor = new SuperIndexAccessor(this, visitForValue(index), 441 return buildUnresolvedSuperIndexAccessor(index, element)
437 possiblyErroneousFunctionToIr(indexFunction), null); 442 .buildPrefixIncrement(new ir.Name(operator.selectorName));
438 return accessor.buildPrefixIncrement(new ir.Name(operator.selectorName));
439 } 443 }
440 444
441 ir.Expression visitUnresolvedSuperSetterPostfix(Send node, 445 ir.Expression visitUnresolvedSuperSetterPostfix(Send node,
442 MethodElement getter, Element element, IncDecOperator operator, _) { 446 MethodElement getter, Element element, IncDecOperator operator, _) {
443 var accessor = new SuperPropertyAccessor( 447 return buildUnresolvedSuperPropertyAccessor('${node.selector}', getter)
444 this, '${node.selector}', possiblyErroneousFunctionToIr(getter), null); 448 .buildPostfixIncrement(new ir.Name(operator.selectorName));
445 return accessor.buildPostfixIncrement(new ir.Name(operator.selectorName));
446 } 449 }
447 450
448 ir.Expression visitUnresolvedSuperSetterPrefix(Send node, 451 ir.Expression visitUnresolvedSuperSetterPrefix(Send node,
449 MethodElement getter, Element element, IncDecOperator operator, _) { 452 MethodElement getter, Element element, IncDecOperator operator, _) {
450 var accessor = new SuperPropertyAccessor( 453 return buildUnresolvedSuperPropertyAccessor('${node.selector}', getter)
451 this, '${node.selector}', possiblyErroneousFunctionToIr(getter), null); 454 .buildPrefixIncrement(new ir.Name(operator.selectorName));
452 return accessor.buildPrefixIncrement(new ir.Name(operator.selectorName));
453 } 455 }
454 456
455 ir.Expression visitUnresolvedSuperSetterSetIfNull( 457 ir.Expression visitUnresolvedSuperSetterSetIfNull(
456 Send node, MethodElement getter, Element element, Node rhs, _) { 458 Send node, MethodElement getter, Element element, Node rhs, _) {
457 var accessor = new SuperPropertyAccessor( 459 return buildUnresolvedSuperPropertyAccessor('${node.selector}', getter)
458 this, '${node.selector}', possiblyErroneousFunctionToIr(getter), null); 460 .buildNullAwareAssignment(visitForValue(rhs));
459 return accessor.buildNullAwareAssignment(visitForValue(rhs));
460 } 461 }
461 462
462 ir.Expression visitUnresolvedSuperUnary( 463 ir.Expression visitUnresolvedSuperUnary(
463 Send node, UnaryOperator operator, Element element, _) { 464 Send node, UnaryOperator operator, Element element, _) {
464 // TODO(asgerf): Should really call 'super.noSuchMethod'. 465 // TODO(asgerf): Should really call 'super.noSuchMethod'.
465 return buildThrowNoSuchMethodError( 466 return buildThrowNoSuchMethodError(
466 kernel.getUnresolvedSuperMethodBuilder(), 467 kernel.getUnresolvedSuperMethodBuilder(),
467 new ir.ThisExpression(), 468 new ir.ThisExpression(),
468 operator.selectorName, 469 operator.selectorName,
469 new ir.Arguments.empty()); 470 new ir.Arguments.empty());
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
531 ir.Expression visitUnresolvedTopLevelSetterSetIfNull( 532 ir.Expression visitUnresolvedTopLevelSetterSetIfNull(
532 Send node, MethodElement getter, Element element, Node rhs, _) { 533 Send node, MethodElement getter, Element element, Node rhs, _) {
533 var accessor = new TopLevelStaticAccessor( 534 var accessor = new TopLevelStaticAccessor(
534 this, getter.name, possiblyErroneousFunctionToIr(getter), null); 535 this, getter.name, possiblyErroneousFunctionToIr(getter), null);
535 return accessor.buildNullAwareAssignment(visitForValue(rhs), 536 return accessor.buildNullAwareAssignment(visitForValue(rhs),
536 voidContext: isVoidContext); 537 voidContext: isVoidContext);
537 } 538 }
538 539
539 ir.Expression visitUnresolvedSuperGetterIndexSetIfNull(Send node, 540 ir.Expression visitUnresolvedSuperGetterIndexSetIfNull(Send node,
540 Element element, MethodElement setter, Node index, Node rhs, _) { 541 Element element, MethodElement setter, Node index, Node rhs, _) {
541 var accessor = new SuperIndexAccessor(this, visitForValue(index), null, 542 return buildUnresolvedSuperIndexAccessor(index, element)
542 possiblyErroneousFunctionToIr(setter)); 543 .buildNullAwareAssignment(visitForValue(rhs));
543 return accessor.buildNullAwareAssignment(visitForValue(rhs));
544 } 544 }
545 545
546 ir.Expression visitUnresolvedSuperSetterIndexSetIfNull(Send node, 546 ir.Expression visitUnresolvedSuperSetterIndexSetIfNull(Send node,
547 MethodElement getter, Element element, Node index, Node rhs, _) { 547 MethodElement getter, Element element, Node index, Node rhs, _) {
548 var accessor = new SuperIndexAccessor(this, visitForValue(index), 548 return buildUnresolvedSuperIndexAccessor(index, element)
549 possiblyErroneousFunctionToIr(getter), null); 549 .buildNullAwareAssignment(visitForValue(rhs));
550 return accessor.buildNullAwareAssignment(visitForValue(rhs));
551 } 550 }
552 551
553 ir.Expression visitUnresolvedSuperIndexSetIfNull( 552 ir.Expression visitUnresolvedSuperIndexSetIfNull(
554 Send node, Element element, Node index, Node rhs, _) { 553 Send node, Element element, Node index, Node rhs, _) {
555 var accessor = 554 return buildUnresolvedSuperIndexAccessor(index, element)
556 new SuperIndexAccessor(this, visitForValue(index), null, null); 555 .buildNullAwareAssignment(visitForValue(rhs));
557 return accessor.buildNullAwareAssignment(visitForValue(rhs));
558 } 556 }
559 557
560 ir.Expression visitUnresolvedSuperSet( 558 ir.Expression visitUnresolvedSuperSet(
561 Send node, Element element, Node rhs, _) { 559 Send node, Element element, Node rhs, _) {
562 return buildThrowUnresolvedSuperSetter( 560 return buildThrowUnresolvedSuperSetter(
563 '${node.selector}', visitForValue(rhs)); 561 '${node.selector}', visitForValue(rhs));
564 } 562 }
565 } 563 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/kernel/accessors.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698