| OLD | NEW |
| (Empty) | |
| 1 import 'dart:io'; |
| 2 import 'package:di/di.dart'; |
| 3 import 'package:di/dynamic_injector.dart'; |
| 4 import 'package:angular/core/parser/parser_library.dart'; |
| 5 import 'package:angular/tools/parser_generator/dart_code_gen.dart'; |
| 6 import 'package:angular/tools/parser_generator/generator.dart'; |
| 7 import 'package:angular/tools/parser_getter_setter/generator.dart'; |
| 8 |
| 9 main(arguments) { |
| 10 var isGetter = !arguments.isEmpty; |
| 11 |
| 12 Module module = new Module() |
| 13 ..type(ParserBackend, implementedBy: isGetter ? DartGetterSetterGen : DartCo
deGen); |
| 14 |
| 15 Injector injector = new DynamicInjector(modules: [module], |
| 16 allowImplicitInjection: true); |
| 17 |
| 18 // List generated using: |
| 19 // node node_modules/karma/bin/karma run | grep -Eo ":XNAY:.*:XNAY:" | sed -e
's/:XNAY://g' | sed -e "s/^/'/" | sed -e "s/$/',/" | sort | uniq > missing_expre
ssions |
| 20 injector.get(isGetter ? ParserGetterSetter : ParserGenerator).generateParser([ |
| 21 "foo == 'bar' ||\nbaz", |
| 22 "this['a'].b", |
| 23 "const", |
| 24 "null", |
| 25 "[1, 2].length", |
| 26 "doesNotExist", |
| 27 "a.b.c", |
| 28 "x.b.c", |
| 29 "e1.b", |
| 30 "o.f()", |
| 31 "1", "-1", "+1", |
| 32 "!true", |
| 33 "3*4/2%5", "3+6-2", |
| 34 "2<3", "2>3", "2<=2", "2>=2", |
| 35 "2==3", "2!=3", |
| 36 "true&&true", "true&&false", |
| 37 "true||true", "true||false", "false||false", |
| 38 "'str ' + 4", "4 + ' str'", "4 + 4", "4 + 4 + ' str'", |
| 39 "'str ' + 4 + 4", |
| 40 "a", "b.c" , "x.y.z", |
| 41 'ident.id(6)', 'ident.doubleId(4,5)', |
| 42 "a.b.c.d.e.f.g.h.i.j.k.l.m.n", |
| 43 'b', 'a.x', 'a.b.c.d', |
| 44 "(1+2)*3", |
| 45 "a=12", "arr[c=1]", "x.y.z=123;", |
| 46 "a=123; b=234", |
| 47 "constN()", |
| 48 "add(1,2)", |
| 49 "getter()()", |
| 50 "obj.elementAt(0)", |
| 51 "[]", |
| 52 "[1, 2]", |
| 53 "[1][0]", |
| 54 "[[1]][0][0]", |
| 55 "[].length", |
| 56 "{}", |
| 57 "{a:'b'}", |
| 58 "{'a':'b'}", |
| 59 "{\"a\":'b'}", |
| 60 "{false:'WC', true:'CC'}[false]", |
| 61 ')', |
| 62 '[{}]', |
| 63 '0&&2', |
| 64 '1%2', |
| 65 '1 + 2.5', |
| 66 '1+undefined', |
| 67 '4()', |
| 68 '5=4', |
| 69 '6[3]', |
| 70 '{a', |
| 71 'a[1]=2', |
| 72 'a=1;b=3;a+b', |
| 73 'a.b', |
| 74 'a(b', |
| 75 '\'a\' + \'b c\'', |
| 76 'a().name', |
| 77 'a[x()]()', |
| 78 'boo', |
| 79 '[].count(', |
| 80 'doesNotExist()', |
| 81 'false', |
| 82 'false && run()', |
| 83 '!false || true', |
| 84 'foo()', |
| 85 '\$id', |
| 86 'items[1] = "abc"', |
| 87 'items[1].name', |
| 88 'list[3] = 2', |
| 89 'map["square"] = 6', |
| 90 'method', |
| 91 'method()', |
| 92 'notAFn()', |
| 93 'notmixed', |
| 94 'obj[0].name=1', |
| 95 'obj.field = 1', |
| 96 'obj.field.key = 4', |
| 97 'obj.integer = "hello"', |
| 98 'obj.map.mapKey = 3', |
| 99 'obj.nested.field = 1', |
| 100 'obj.overload = 7', |
| 101 'obj.setter = 2', |
| 102 'str', |
| 103 'str="bob"', |
| 104 'suffix = "!"', |
| 105 'taxRate / 100 * subTotal', |
| 106 'true', |
| 107 'true || run()', |
| 108 'undefined', |
| 109 |
| 110 ';;1;;', |
| 111 '1==1', |
| 112 '!(11 == 10)', |
| 113 '1 + -2.5', |
| 114 '[{a', |
| 115 'array[5=4]', |
| 116 '\$root', |
| 117 'subTotal * taxRate / 100', |
| 118 '!!true', |
| 119 |
| 120 '1!=2', |
| 121 '1+2*3/4', |
| 122 '\$parent', |
| 123 '{true', |
| 124 |
| 125 '0--1+1.5', |
| 126 '1<2', |
| 127 '1<=1', |
| 128 |
| 129 '1>2', |
| 130 '{a:\'-\'}', |
| 131 '{a:a}', |
| 132 '[{a:[]}, {b:1}]', |
| 133 '{true:"a", false:"b"}[!!true]', |
| 134 |
| 135 '2>=1', |
| 136 'true==2<3', |
| 137 '6[3]=2', |
| 138 |
| 139 'map.dot = 7', |
| 140 'exists(doesNotExist())', |
| 141 'doesNotExists(exists())', |
| 142 'a[0]()', |
| 143 '{}()', |
| 144 'items[1]', |
| 145 "-0--1++2*-3/-4", |
| 146 "1/2*3", |
| 147 "0||2", |
| 148 "0||1&&2", |
| 149 'undefined+1', |
| 150 "12/6/2", |
| 151 "a=undefined", |
| 152 'add(a,b)', |
| 153 'notAProperty', |
| 154 "'Foo'|uppercase", |
| 155 "1|increment:2", |
| 156 "'abcd'|substring:1:offset", |
| 157 "'abcd'|substring:1:3|uppercase", |
| 158 "3*4~/2%5", |
| 159 "7==3+4?10:20", |
| 160 "false?10:20", |
| 161 "5?10:20", |
| 162 "null?10:20", |
| 163 "true||false?10:20", |
| 164 "true&&false?10:20", |
| 165 "true?a=10:a=20", |
| 166 "b=true?a=false?11:c=12:a=13", |
| 167 '0?0:2', |
| 168 '1?0:2', |
| 169 '0?0?0:0:2', |
| 170 '1?0?0:0:2', |
| 171 '0?1?0:0:2', |
| 172 '0?0?1:0:2', |
| 173 '0?0?0:2:3', |
| 174 '1?1?0:0:2', |
| 175 '1?1?1:0:2', |
| 176 '1?1?1:2:3', |
| 177 '0?0:0?0:2', |
| 178 '1?0:0?0:2', |
| 179 '0?1:0?0:2', |
| 180 '0?0:1?0:2', |
| 181 '0?0:0?2:3', |
| 182 '1?1:0?0:2', |
| 183 '1?1:1?0:2', |
| 184 '1?1:1?2:3', |
| 185 '0&&1?0:1', |
| 186 '1||0?0:0', |
| 187 '0?0&&1:2', |
| 188 '0?1&&1:2', |
| 189 '0?0||0:1', |
| 190 '0?0||1:2', |
| 191 '1?0&&1:2', |
| 192 '1?1&&1:2', |
| 193 '1?0||0:1', |
| 194 '1?0||1:2', |
| 195 '0?1:0&&1', |
| 196 '0?2:1&&1', |
| 197 '0?1:0||0', |
| 198 '0?2:0||1', |
| 199 '1?1:0&&1', |
| 200 '1?2:1&&1', |
| 201 '1?1:0||0', |
| 202 '1?2:0||1', |
| 203 'returnTrue() ? returnString() : returnInt()', |
| 204 'returnFalse() ? returnString() : returnInt()', |
| 205 'identity(returnFalse() ? returnString() : returnInt())', |
| 206 "taxRate ~/ 100 * subTotal", |
| 207 "'fOo'|uppercase|lowercase", |
| 208 "n = (name|lowercase)", |
| 209 "n", |
| 210 "1|nonexistent" |
| 211 ]); |
| 212 } |
| OLD | NEW |