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 class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { | 5 class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { |
6 _NodeListImpl get nodes() { | 6 _NodeListImpl get nodes() { |
7 final list = _childNodes; | 7 final list = _childNodes; |
8 list._parent = this; | 8 list._parent = this; |
9 return list; | 9 return list; |
10 } | 10 } |
11 | 11 |
12 void set nodes(Collection<Node> value) { | 12 void set nodes(Collection<Node> value) { |
13 // Copy list first since we don't want liveness during iteration. | 13 // Copy list first since we don't want liveness during iteration. |
14 // TODO(jacobr): there is a better way to do this. | 14 // TODO(jacobr): there is a better way to do this. |
| 15 List copy = new List.from(value); |
15 text = ''; | 16 text = ''; |
16 for (Node node in value) { | 17 for (Node node in copy) { |
17 _appendChild(node); | 18 _appendChild(node); |
18 } | 19 } |
19 } | 20 } |
20 | 21 |
21 // TODO(jacobr): should we throw an exception if parent is already null? | 22 // TODO(jacobr): should we throw an exception if parent is already null? |
22 _NodeImpl remove() { | 23 _NodeImpl remove() { |
23 if (this.parent != null) { | 24 if (this.parent != null) { |
24 this.parent._removeChild(this); | 25 this.parent._removeChild(this); |
25 } | 26 } |
26 return this; | 27 return this; |
27 } | 28 } |
28 | 29 |
29 _NodeImpl replaceWith(Node otherNode) { | 30 _NodeImpl replaceWith(Node otherNode) { |
30 try { | 31 try { |
31 this.parent._replaceChild(otherNode, this); | 32 this.parent._replaceChild(otherNode, this); |
32 } catch(var e) { | 33 } catch(var e) { |
33 | 34 |
34 }; | 35 }; |
35 return this; | 36 return this; |
36 } | 37 } |
37 | 38 |
38 $!MEMBERS | 39 $!MEMBERS |
39 } | 40 } |
OLD | NEW |