Commit Graph

40 Commits

Author SHA1 Message Date
9957c1338e feat(change_detection): reimplement change detection 2015-01-21 14:21:14 -08:00
156f3d99e0 feat(parser): make method calls aware of ContextWithVariableBindings 2015-01-21 09:58:01 +01:00
3d534928b5 refactor(parser): align expression language with host language
Remove "enhancements" to the language from the parser, so the expression language mimics the host language.
2014-12-18 10:57:34 -08:00
1d03c2af5d feat(change_detector): add a way to inspect records and record ranges 2014-12-17 15:43:36 -08:00
d5fcac4d7a feat(compiler): pass compilation unit to the parser 2014-12-12 18:52:53 -08:00
59d6d604b4 fix(analyzer): fix a warning about an unused variable 2014-12-11 00:31:31 +01:00
8acf9fb609 feat(change_detection): ensure that expression do not change after they have been checked 2014-12-08 18:51:19 -08:00
174613067c feat(views): adds (de)hydration of views and template vars.
Dehydrated views are views that are structurally fixed, but their
directive instances and viewports are purged.

Support for local bindings is added to the view.
2014-12-04 22:40:51 -08:00
bf71b94bde feat(Change Detector): Add support for collection content watch 2014-12-03 10:37:13 +01:00
0758165fb5 fix(compiler): allow identifiers with - in the template bindings as keys. 2014-12-01 16:39:36 -08:00
0703ee526c fix(Dart1.8): fix analyzer warnings 2014-12-01 21:17:16 +01:00
1863d50978 feat(parser): adds support for variable bindings 2014-11-26 14:03:05 -08:00
a3d9f0fead fix(parser): handle empty strings 2014-11-26 12:59:11 -08:00
6e8175a816 feat(Reflection): extract reflection capabilities into a separate module 2014-11-24 16:53:12 -08:00
044625a098 chore: Make field declarations explicit
This used to be valid code:

```
class Foo {
  constructor() {
    this.bar = ‘string’;
  }
}
```

This will now fail since ‘bar’ is not explicitly
defined as a field. We now have to write:

```
class Foo {
  bar:string; // << REQUIRED
  constructor() {
    this.bar = ‘string’;
  }
}
```
2014-11-24 16:35:39 -08:00
c6846f1163 feat(compiler): new semantics for template attributes and view variables.
- Supports `<div template=“…”>`, including parsing the expressions within
  the attribute.
- Supports `<template let-ng-repeat=“rows”>`
- Adds attribute interpolation (was missing previously)
2014-11-19 14:32:15 -08:00
8dfbc242af refactor(benchmark): simplify writing benchmarks
Adds `benchmarks/benchpress` module and adjusts the compiler
benchmarks to use it. Also adds the Angular 1.3 benchmark
to the compiler benchmarks.

Closes #202
2014-11-17 12:27:29 -08:00
f38b94067a feat(change_detector): add support for negate 2014-11-14 13:16:55 -08:00
4e38e3a96c feat(change_detector): add support for method calls 2014-11-14 13:16:55 -08:00
79a9430f2c feat(change_detection): add support for binary operations and literals 2014-11-14 13:16:55 -08:00
90fd1a9227 refactor(Parser): cleanup 2014-11-07 16:21:12 -08:00
7908533336 refactor(Parser): cleanup 2014-11-06 09:59:22 -08:00
693489ce38 refactor(Parser): cleanup 2014-11-06 09:11:13 -08:00
7b777b1f71 feat(Parser): add support for method invocations 2014-11-06 09:11:13 -08:00
977bc77c96 feat(Parser): improve error handling 2014-11-06 09:11:13 -08:00
ac060ed405 feat(Parser): add support for arrays and maps 2014-11-06 09:11:13 -08:00
8cc008bda1 feat(Parser): add support for assignments 2014-11-06 09:11:13 -08:00
03c779321f cleanup(parser): add type annotations to all AST classes 2014-11-04 15:56:43 -08:00
52b3838a21 feat(parser): split parse into parseBinding and parseAction 2014-11-04 15:51:56 -08:00
00bc9e5d56 feat(parser): add support for formatters 2014-11-04 10:47:33 -08:00
8a829d346b feat(parser): throw when expected an identifier 2014-11-04 09:21:28 -08:00
c41f59c794 feat(parser): change Parser to return null when one of the operands is null 2014-11-04 09:06:46 -08:00
a7fe25d93f feat(parser): add support for ternary operator 2014-11-03 17:25:16 -08:00
965fa1a985 feat(parser): adds basic expressions to the parser.
Mostly copy pasta from angular.dart.

Remove GetterFactory in favor for ClosureMap (which has basically the same
implementation).
2014-10-31 14:32:12 -07:00
01e6c7b70c feat(Parser): implement Parser
Add a simple parser implementation that supports only field reads.
2014-10-29 18:29:34 -04:00
e4ce69dcc7 test(scanner): port the rest of the lexer tests from AngularDart
Closes #64
2014-10-07 16:47:50 -07:00
33af1d0b39 chore(build): execute pub get only if a pubspec.yaml changed and run dart analyzer on all dart files
`pub get` is now only executed when the `pubspec.yaml` in the `modules`
folder is different than the `pubspec.yaml` in the `build/dart` folder.

Generates the file `build/dart/_analyzer.dart` that imports all modules
to run `dart analyzer` against all of them. The build will fail whenever
there are errors, warnings or hints in `dart analyzer`.

Changes the sources so that `dart analyzer` does not report any
error, warning or hint.

Closes #40
2014-10-02 16:10:08 -07:00
78d758b4bb fixes to get tests green with karma dart 2014-10-01 19:58:22 -07:00
d7d52aaef2 refactor(lexer): rename to scanner, use ints, etc. 2014-10-01 17:06:17 -07:00
c85ab3a5a4 feat(lexer): initial (wip) implementation. 2014-10-01 12:50:44 -07:00