Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(661)

Side by Side Diff: frog/member.dart

Issue 8588060: Fixes to get Swarm demo working again. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merged Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 8
9 String name; 9 String name;
10 Type type; 10 Type type;
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 Library get library() => declaringType.library; 108 Library get library() => declaringType.library;
109 109
110 bool get isPrivate() => name.startsWith('_'); 110 bool get isPrivate() => name.startsWith('_');
111 111
112 bool get isConstructor() => false; 112 bool get isConstructor() => false;
113 bool get isField() => false; 113 bool get isField() => false;
114 bool get isMethod() => false; 114 bool get isMethod() => false;
115 bool get isProperty() => false; 115 bool get isProperty() => false;
116 bool get isAbstract() => false; 116 bool get isAbstract() => false;
117 117
118 bool get isFinal() => false;
119
118 // TODO(jmesserly): these only makes sense on methods, but because of 120 // TODO(jmesserly): these only makes sense on methods, but because of
119 // ConcreteMember we need to support them on Member. 121 // ConcreteMember we need to support them on Member.
120 bool get isConst() => false; 122 bool get isConst() => false;
121 bool get isFactory() => false; 123 bool get isFactory() => false;
122 124
123 bool get isOperator() => name.startsWith('\$'); 125 bool get isOperator() => name.startsWith('\$');
124 bool get isCallMethod() => name == '\$call'; 126 bool get isCallMethod() => name == '\$call';
125 127
126 bool get prefersPropertySyntax() => true; 128 bool get prefersPropertySyntax() => true;
127 bool get requiresFieldSyntax() => false; 129 bool get requiresFieldSyntax() => false;
128 130
129 bool get isNative() => false; 131 bool get isNative() => false;
130 String get constructorName() { 132 String get constructorName() {
131 world.internalError('can not be a constructor', span); 133 world.internalError('can not be a constructor', span);
132 } 134 }
133 135
134 // Don't display an error here; we'll get a better error later. 136 // Don't display an error here; we'll get a better error later.
135 void provideFieldSyntax() {} 137 void provideFieldSyntax() {}
136 void providePropertySyntax() {} 138 void providePropertySyntax() {}
137 139
138 Member get initDelegate() { 140 Member get initDelegate() {
139 world.internalError('cannot have initializers', span); 141 world.internalError('cannot have initializers', span);
140 } 142 }
141 Member set initDelegate(ctor) { 143 Member set initDelegate(ctor) {
142 world.internalError('cannot have initializers', span); 144 world.internalError('cannot have initializers', span);
143 } 145 }
144 146
147 Value computeValue() {
148 world.internalError('cannot have value', span);
149 }
150
145 /** 151 /**
146 * The inferred returnType. Right now this is just used to track 152 * The inferred returnType. Right now this is just used to track
147 * non-nullable bools. 153 * non-nullable bools.
148 */ 154 */
149 Type get inferredResult() { 155 Type get inferredResult() {
150 var t = returnType; 156 var t = returnType;
151 if (t.isBool && (library.isCore || library.isCoreImpl)) { 157 if (t.isBool && (library.isCore || library.isCoreImpl)) {
152 // We trust our core libraries not to return null from bools. 158 // We trust our core libraries not to return null from bools.
153 // I hope this trust is well placed! 159 // I hope this trust is well placed!
154 return world.nonNullBool; 160 return world.nonNullBool;
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 } 555 }
550 } 556 }
551 } 557 }
552 558
553 SourceSpan get span() => baseMember.span; 559 SourceSpan get span() => baseMember.span;
554 560
555 bool get isStatic() => baseMember.isStatic; 561 bool get isStatic() => baseMember.isStatic;
556 bool get isAbstract() => baseMember.isAbstract; 562 bool get isAbstract() => baseMember.isAbstract;
557 bool get isConst() => baseMember.isConst; 563 bool get isConst() => baseMember.isConst;
558 bool get isFactory() => baseMember.isFactory; 564 bool get isFactory() => baseMember.isFactory;
565 bool get isFinal() => baseMember.isFinal;
559 566
560 String get jsname() => baseMember.jsname; 567 String get jsname() => baseMember.jsname;
561 set jsname(String name) => 568 set jsname(String name) =>
562 world.internalError('bad set of jsname on ConcreteMember'); 569 world.internalError('bad set of jsname on ConcreteMember');
563 570
564 571
565 bool get canGet() => baseMember.canGet; 572 bool get canGet() => baseMember.canGet;
566 bool get canSet() => baseMember.canSet; 573 bool get canSet() => baseMember.canSet;
567 bool canInvoke(MethodGenerator context, Arguments args) => 574 bool canInvoke(MethodGenerator context, Arguments args) =>
568 baseMember.canInvoke(context, args); 575 baseMember.canInvoke(context, args);
(...skipping 16 matching lines...) Expand all
585 592
586 // TODO(sigmund): this is EGREGIOUS 593 // TODO(sigmund): this is EGREGIOUS
587 Member get initDelegate() => baseMember.initDelegate; 594 Member get initDelegate() => baseMember.initDelegate;
588 Member set initDelegate(ctor) { baseMember.initDelegate = ctor; } 595 Member set initDelegate(ctor) { baseMember.initDelegate = ctor; }
589 596
590 Type resolveType(TypeReference node, bool isRequired) { 597 Type resolveType(TypeReference node, bool isRequired) {
591 var type = baseMember.resolveType(node, isRequired); 598 var type = baseMember.resolveType(node, isRequired);
592 return type.resolveTypeParams(declaringType); 599 return type.resolveTypeParams(declaringType);
593 } 600 }
594 601
602 Value computeValue() => baseMember.computeValue();
603
595 // TODO(jimhug): Add support for type params. 604 // TODO(jimhug): Add support for type params.
596 bool override(Member other) => baseMember.override(other); 605 bool override(Member other) => baseMember.override(other);
597 606
598 Value _get(MethodGenerator context, Node node, Value target, 607 Value _get(MethodGenerator context, Node node, Value target,
599 [bool isDynamic=false]) { 608 [bool isDynamic=false]) {
600 Value ret = baseMember._get(context, node, target, isDynamic); 609 Value ret = baseMember._get(context, node, target, isDynamic);
601 return new Value(inferredResult, ret.code, node.span); 610 return new Value(inferredResult, ret.code, node.span);
602 } 611 }
603 612
604 Value _set(MethodGenerator context, Node node, Value target, Value value, 613 Value _set(MethodGenerator context, Node node, Value target, Value value,
(...skipping 1084 matching lines...) Expand 10 before | Expand all | Expand 10 after
1689 } 1698 }
1690 1699
1691 void forEach(void f(Member member)) { 1700 void forEach(void f(Member member)) {
1692 factories.forEach((_, Map constructors) { 1701 factories.forEach((_, Map constructors) {
1693 constructors.forEach((_, Member member) { 1702 constructors.forEach((_, Member member) {
1694 f(member); 1703 f(member);
1695 }); 1704 });
1696 }); 1705 });
1697 } 1706 }
1698 } 1707 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698