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

Side by Side Diff: pkg/compiler/lib/src/ssa/builder.dart

Issue 1152903003: Create SendStructure for unary and binary in resolution. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments Created 5 years, 6 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
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of ssa; 5 part of ssa;
6 6
7 class SsaFunctionCompiler implements FunctionCompiler { 7 class SsaFunctionCompiler implements FunctionCompiler {
8 SsaCodeGeneratorTask generator; 8 SsaCodeGeneratorTask generator;
9 SsaBuilderTask builder; 9 SsaBuilderTask builder;
10 SsaOptimizerTask optimizer; 10 SsaOptimizerTask optimizer;
(...skipping 4460 matching lines...) Expand 10 before | Expand all | Expand 10 after
4471 void visitSuperBinary( 4471 void visitSuperBinary(
4472 ast.Send node, 4472 ast.Send node,
4473 MethodElement method, 4473 MethodElement method,
4474 BinaryOperator operator, 4474 BinaryOperator operator,
4475 ast.Node argument, 4475 ast.Node argument,
4476 _) { 4476 _) {
4477 handleSuperMethodInvoke(node, method); 4477 handleSuperMethodInvoke(node, method);
4478 } 4478 }
4479 4479
4480 @override 4480 @override
4481 void visitSuperNotEquals(
4482 ast.Send node,
4483 MethodElement method,
4484 ast.Node argument,
4485 _) {
4486 handleSuperMethodInvoke(node, method);
4487 pushWithPosition(new HNot(popBoolified(), backend.boolType), node.selector);
4488 }
4489
4490 @override
4481 void visitSuperUnary( 4491 void visitSuperUnary(
4482 ast.Send node, 4492 ast.Send node,
4483 UnaryOperator operator, 4493 UnaryOperator operator,
4484 MethodElement method, 4494 MethodElement method,
4485 _) { 4495 _) {
4486 handleSuperMethodInvoke(node, method); 4496 handleSuperMethodInvoke(node, method);
4487 } 4497 }
4488 4498
4489 @override 4499 @override
4490 void visitSuperMethodIncompatibleInvoke( 4500 void visitSuperMethodIncompatibleInvoke(
(...skipping 3173 matching lines...) Expand 10 before | Expand all | Expand 10 after
7664 if (unaliased is TypedefType) throw 'unable to unalias $type'; 7674 if (unaliased is TypedefType) throw 'unable to unalias $type';
7665 unaliased.accept(this, builder); 7675 unaliased.accept(this, builder);
7666 } 7676 }
7667 7677
7668 void visitDynamicType(DynamicType type, SsaBuilder builder) { 7678 void visitDynamicType(DynamicType type, SsaBuilder builder) {
7669 JavaScriptBackend backend = builder.compiler.backend; 7679 JavaScriptBackend backend = builder.compiler.backend;
7670 ClassElement cls = backend.findHelper('DynamicRuntimeType'); 7680 ClassElement cls = backend.findHelper('DynamicRuntimeType');
7671 builder.push(new HDynamicType(type, new TypeMask.exact(cls, classWorld))); 7681 builder.push(new HDynamicType(type, new TypeMask.exact(cls, classWorld)));
7672 } 7682 }
7673 } 7683 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/resolution/send_structure.dart ('k') | pkg/compiler/lib/src/types/flat_type_mask.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698