| Index: frog/member.dart
|
| diff --git a/frog/member.dart b/frog/member.dart
|
| index e9fd27d5910d63a51c45ee14f12cb0c236928bc8..04ecd2fab28cb6fe268212ccb0054b118a75214b 100644
|
| --- a/frog/member.dart
|
| +++ b/frog/member.dart
|
| @@ -115,6 +115,8 @@ class Member implements Named {
|
| bool get isProperty() => false;
|
| bool get isAbstract() => false;
|
|
|
| + bool get isFinal() => false;
|
| +
|
| // TODO(jmesserly): these only makes sense on methods, but because of
|
| // ConcreteMember we need to support them on Member.
|
| bool get isConst() => false;
|
| @@ -142,6 +144,10 @@ class Member implements Named {
|
| world.internalError('cannot have initializers', span);
|
| }
|
|
|
| + Value computeValue() {
|
| + world.internalError('cannot have value', span);
|
| + }
|
| +
|
| /**
|
| * The inferred returnType. Right now this is just used to track
|
| * non-nullable bools.
|
| @@ -556,6 +562,7 @@ class ConcreteMember extends Member {
|
| bool get isAbstract() => baseMember.isAbstract;
|
| bool get isConst() => baseMember.isConst;
|
| bool get isFactory() => baseMember.isFactory;
|
| + bool get isFinal() => baseMember.isFinal;
|
|
|
| String get jsname() => baseMember.jsname;
|
| set jsname(String name) =>
|
| @@ -592,6 +599,8 @@ class ConcreteMember extends Member {
|
| return type.resolveTypeParams(declaringType);
|
| }
|
|
|
| + Value computeValue() => baseMember.computeValue();
|
| +
|
| // TODO(jimhug): Add support for type params.
|
| bool override(Member other) => baseMember.override(other);
|
|
|
|
|