| 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 |