Chromium Code Reviews| Index: pkg/compiler/lib/src/ssa/nodes.dart |
| diff --git a/pkg/compiler/lib/src/ssa/nodes.dart b/pkg/compiler/lib/src/ssa/nodes.dart |
| index f4e813b870b72674a4401c262ebc78b05794359c..062463e1d341816802bb7751058e15c579eb81cd 100644 |
| --- a/pkg/compiler/lib/src/ssa/nodes.dart |
| +++ b/pkg/compiler/lib/src/ssa/nodes.dart |
| @@ -2300,12 +2300,21 @@ class HInterceptor extends HInstruction { |
| // This field should originally be null to allow GVN'ing all |
| // [HInterceptor] on the same input. |
| Set<ClassElement> interceptedClasses; |
| + |
| + // inputs[0] is initially the only input, the receiver. |
|
floitsch
2015/03/26 20:26:45
Create getters.
sra1
2015/04/01 23:06:59
Done.
|
| + |
| + // inputs[1] is a constant interceptor when the interceptor is a constant |
| + // except for a `null` receiver. This is used when the receiver can't, except |
| + // for `null`, be a falsy JavaScript value, allowing the generation of code |
| + // like `(a && C.JSArray_methods).get$first(a)`. |
| + |
| HInterceptor(HInstruction receiver, TypeMask type) |
| : super(<HInstruction>[receiver], type) { |
| sideEffects.clearAllSideEffects(); |
| sideEffects.clearAllDependencies(); |
| setUseGvn(); |
| } |
| + |
| String toString() => 'interceptor on $interceptedClasses'; |
| accept(HVisitor visitor) => visitor.visitInterceptor(this); |
| HInstruction get receiver => inputs[0]; |