| Index: dart/frog/leg/emitter.dart
|
| diff --git a/dart/frog/leg/emitter.dart b/dart/frog/leg/emitter.dart
|
| index a536e473d163ebc1c00209588adba73c91b20612..fa4c17e003039a67ec0031d5f814e61a1c41c834 100644
|
| --- a/dart/frog/leg/emitter.dart
|
| +++ b/dart/frog/leg/emitter.dart
|
| @@ -170,6 +170,7 @@ function(child, parent) {
|
| || member.kind === ElementKind.GENERATIVE_CONSTRUCTOR_BODY
|
| || member.kind === ElementKind.GETTER
|
| || member.kind === ElementKind.SETTER) {
|
| + if (member.modifiers !== null && member.modifiers.isAbstract()) return;
|
| String codeBlock = compiler.universe.generatedCode[member];
|
| if (codeBlock == null) return;
|
| buffer.add('$prototype.${namer.getName(member)} = $codeBlock;\n');
|
| @@ -185,7 +186,8 @@ function(child, parent) {
|
| } else if (member.kind === ElementKind.FIELD) {
|
| // TODO(ngeoffray): Have another class generate the code for the
|
| // fields.
|
| - if (compiler.universe.invokedSetters.contains(member.name)) {
|
| + if ((member.modifiers === null || !member.modifiers.isFinal()) &&
|
| + compiler.universe.invokedSetters.contains(member.name)) {
|
| String setterName = namer.setterName(member.name);
|
| buffer.add('$prototype.$setterName = function(v){\n' +
|
| ' this.${namer.getName(member)} = v;\n};\n');
|
|
|