| OLD | NEW |
| 1 import 'package:angular/core/parser/parser.dart'; | 1 import 'package:angular/core/parser/parser.dart'; |
| 2 import 'package:angular/utils.dart' show isReservedWord; | 2 import 'package:angular/tools/reserved_dart_keywords.dart'; |
| 3 import 'dart:math'; | 3 import 'dart:math'; |
| 4 | 4 |
| 5 class DartGetterSetterGen extends ParserBackend { | 5 class DartGetterSetterGen extends ParserBackend { |
| 6 final Set<String> properties = new Set<String>(); | 6 final Set<String> properties = new Set<String>(); |
| 7 final Map<String, Set<int>> calls = new Map<String, Set<int>>(); | 7 final Map<String, Set<int>> calls = new Map<String, Set<int>>(); |
| 8 | 8 |
| 9 bool isAssignable(expression) => true; | 9 bool isAssignable(expression) => true; |
| 10 | 10 |
| 11 registerAccess(String name) { | 11 registerAccess(String name) { |
| 12 if (isReservedWord(name)) return; | 12 if (isReserved(name)) return; |
| 13 properties.add(name); | 13 properties.add(name); |
| 14 } | 14 } |
| 15 | 15 |
| 16 registerCall(String name, List arguments) { | 16 registerCall(String name, List arguments) { |
| 17 if (isReservedWord(name)) return; | 17 if (isReserved(name)) return; |
| 18 Set<int> arities = calls.putIfAbsent(name, () => new Set<int>()); | 18 Set<int> arities = calls.putIfAbsent(name, () => new Set<int>()); |
| 19 arities.add(arguments.length); | 19 arities.add(arguments.length); |
| 20 } | 20 } |
| 21 | 21 |
| 22 newAccessScope(String name) | 22 newAccessScope(String name) |
| 23 => registerAccess(name); | 23 => registerAccess(name); |
| 24 newAccessMember(var object, String name) | 24 newAccessMember(var object, String name) |
| 25 => registerAccess(name); | 25 => registerAccess(name); |
| 26 newCallScope(String name, List arguments) | 26 newCallScope(String name, List arguments) |
| 27 => registerCall(name, arguments); | 27 => registerCall(name, arguments); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 var args = new List.generate(arity, (e) => "a$e").join(','); | 92 var args = new List.generate(arity, (e) => "a$e").join(','); |
| 93 var p = args.isEmpty ? '' : ', $args'; | 93 var p = args.isEmpty ? '' : ', $args'; |
| 94 var lines = names.map((name) => 'r"$name": (o$p) => o.$name($args)'); | 94 var lines = names.map((name) => 'r"$name": (o$p) => o.$name($args)'); |
| 95 return '{\n ${lines.join(",\n ")}\n }'; | 95 return '{\n ${lines.join(",\n ")}\n }'; |
| 96 } | 96 } |
| 97 }); | 97 }); |
| 98 | 98 |
| 99 return '[${maps.join(",")}]'; | 99 return '[${maps.join(",")}]'; |
| 100 } | 100 } |
| 101 } | 101 } |
| OLD | NEW |