OLD | NEW |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |