Chromium Code Reviews| OLD | NEW | 
|---|---|
| (Empty) | |
| 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 | |
| 3 // BSD-style license that can be found in the LICENSE file. | |
| 4 | |
| 5 /** | |
| 6 * An [Expando] allows adding new properties to objects. | |
| 
 
sra1
2012/06/12 07:10:26
It does not look like adding properties to an obje
 
 | |
| 7 */ | |
| 8 interface Expando<T> default _Expando<T> { | |
| 9 | |
| 10 /** | |
| 11 * The name of the this [Expando] as passed to the constructor. If | |
| 12 * no name was passed to the constructor, the name is [null]. | |
| 13 */ | |
| 14 final String name; | |
| 15 | |
| 16 /** | |
| 17 * Creates a new [Expando]. The optional name is only used for | |
| 
 
sra1
2012/06/12 07:10:26
'only used' - I'm confused.
If I create two const
 
 | |
| 18 * debugging purposes and creating two different (non-const) | |
| 19 * [Expando]s with the same name yields two [Expando]s that work on | |
| 20 * different properties of the objects they are used on. | |
| 21 */ | |
| 22 const Expando([String name]); | |
| 23 | |
| 24 /** | |
| 25 * Gets the value of this [Expando]'s property on the given | |
| 26 * object. If the object hasn't been expanded, the method returns | |
| 27 * [null]. | |
| 
 
sra1
2012/06/12 07:10:26
Explain when the call will fail,
 
 | |
| 28 */ | |
| 29 T operator [](Object object); | |
| 30 | |
| 31 /** | |
| 32 * Sets the value of this [Expando]'s property on the given | |
| 33 * object. Properties can effectively be removed again by setting | |
| 34 * their value to null. | |
| 35 */ | |
| 36 void operator []=(Object object, T value); | |
| 37 | |
| 38 } | |
| OLD | NEW |