Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 /** A formal parameter to a [Method]. */ | 5 /** A formal parameter to a [Method]. */ |
| 6 class Parameter { | 6 class Parameter { |
| 7 FormalNode definition; | 7 FormalNode definition; |
| 8 Member method; | 8 Member method; |
| 9 | 9 |
| 10 String name; | 10 String name; |
| (...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 528 parent = c.baseMember; | 528 parent = c.baseMember; |
| 529 } else { | 529 } else { |
| 530 parent = parentMember; | 530 parent = parentMember; |
| 531 } | 531 } |
| 532 | 532 |
| 533 if (getter == null) getter = parent.getter; | 533 if (getter == null) getter = parent.getter; |
| 534 if (setter == null) setter = parent.setter; | 534 if (setter == null) setter = parent.setter; |
| 535 } | 535 } |
| 536 | 536 |
| 537 resolve() { | 537 resolve() { |
| 538 if (getter != null) getter.resolve(); | 538 if (getter != null) { |
| 539 if (setter != null) setter.resolve(); | 539 getter.resolve(); |
| 540 if (getter.parameters.length != 0) { | |
| 541 world.error('getter methods should take no arguments', | |
| 542 getter.definition.span); | |
| 543 } | |
| 544 } | |
| 545 if (setter != null) { | |
| 546 setter.resolve(); | |
| 547 if (setter.parameters.length != 1) { | |
|
Jennifer Messerly
2011/12/08 03:22:30
is it worth warning if getter.returnType.isVoid, o
Siggi Cherem (dart-lang)
2011/12/08 20:43:53
addressing in follow up CL.
| |
| 548 world.error('setter methods should take a single argument', | |
| 549 setter.definition.span); | |
| 550 } | |
| 551 } | |
| 540 | 552 |
| 541 library._addMember(this); | 553 library._addMember(this); |
| 542 } | 554 } |
| 543 } | 555 } |
| 544 | 556 |
| 545 | 557 |
| 546 class ConcreteMember extends Member { | 558 class ConcreteMember extends Member { |
| 547 final Member baseMember; | 559 final Member baseMember; |
| 548 Type returnType; | 560 Type returnType; |
| 549 List<Parameter> parameters; | 561 List<Parameter> parameters; |
| (...skipping 1197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1747 } | 1759 } |
| 1748 | 1760 |
| 1749 void forEach(void f(Member member)) { | 1761 void forEach(void f(Member member)) { |
| 1750 factories.forEach((_, Map constructors) { | 1762 factories.forEach((_, Map constructors) { |
| 1751 constructors.forEach((_, Member member) { | 1763 constructors.forEach((_, Member member) { |
| 1752 f(member); | 1764 f(member); |
| 1753 }); | 1765 }); |
| 1754 }); | 1766 }); |
| 1755 } | 1767 } |
| 1756 } | 1768 } |
| OLD | NEW |