diff --git a/modules/angular2/src/compiler/template_normalizer.ts b/modules/angular2/src/compiler/template_normalizer.ts
index 9ce943ebd7..06f26a2690 100644
--- a/modules/angular2/src/compiler/template_normalizer.ts
+++ b/modules/angular2/src/compiler/template_normalizer.ts
@@ -112,6 +112,10 @@ class TemplatePreparseVisitor implements HtmlAstVisitor {
case PreparsedElementType.STYLESHEET:
this.styleUrls.push(preparsedElement.hrefAttr);
break;
+ default:
+ // DDC reports this as error. See:
+ // https://github.com/dart-lang/dev_compiler/issues/428
+ break;
}
if (preparsedElement.nonBindable) {
this.ngNonBindableStackCount++;
diff --git a/modules/angular2/src/router/instruction.ts b/modules/angular2/src/router/instruction.ts
index 817e91a56d..0afb9926ea 100644
--- a/modules/angular2/src/router/instruction.ts
+++ b/modules/angular2/src/router/instruction.ts
@@ -107,9 +107,8 @@ export var BLANK_ROUTE_DATA = new RouteData();
* ```
*/
export abstract class Instruction {
- public component: ComponentInstruction;
- public child: Instruction;
- public auxInstruction: {[key: string]: Instruction} = {};
+ constructor(public component: ComponentInstruction, public child: Instruction,
+ public auxInstruction: {[key: string]: Instruction}) {}
get urlPath(): string { return isPresent(this.component) ? this.component.urlPath : ''; }
@@ -210,9 +209,9 @@ export abstract class Instruction {
* a resolved instruction has an outlet instruction for itself, but maybe not for...
*/
export class ResolvedInstruction extends Instruction {
- constructor(public component: ComponentInstruction, public child: Instruction,
- public auxInstruction: {[key: string]: Instruction}) {
- super();
+ constructor(component: ComponentInstruction, child: Instruction,
+ auxInstruction: {[key: string]: Instruction}) {
+ super(component, child, auxInstruction);
}
resolveComponent(): Promise {
@@ -225,7 +224,9 @@ export class ResolvedInstruction extends Instruction {
* Represents a resolved default route
*/
export class DefaultInstruction extends Instruction {
- constructor(public component: ComponentInstruction, public child: DefaultInstruction) { super(); }
+ constructor(component: ComponentInstruction, child: DefaultInstruction) {
+ super(component, child, {});
+ }
resolveComponent(): Promise {
return PromiseWrapper.resolve(this.component);
@@ -244,7 +245,7 @@ export class DefaultInstruction extends Instruction {
export class UnresolvedInstruction extends Instruction {
constructor(private _resolver: () => Promise, private _urlPath: string = '',
private _urlParams: string[] = CONST_EXPR([])) {
- super();
+ super(null, null, {});
}
get urlPath(): string {
diff --git a/modules/angular2/src/router/router.ts b/modules/angular2/src/router/router.ts
index e90982e353..a1bd9b0416 100644
--- a/modules/angular2/src/router/router.ts
+++ b/modules/angular2/src/router/router.ts
@@ -202,12 +202,12 @@ export class Router {
return this._settleInstruction(instruction)
.then((_) => this._routerCanReuse(instruction))
.then((_) => this._canActivate(instruction))
- .then((result) => {
+ .then((result: boolean) => {
if (!result) {
return false;
}
return this._routerCanDeactivate(instruction)
- .then((result) => {
+ .then((result: boolean) => {
if (result) {
return this.commit(instruction, _skipLocationChange)
.then((_) => {
diff --git a/modules/angular2/src/web_workers/shared/generic_message_bus.dart b/modules/angular2/src/web_workers/shared/generic_message_bus.dart
index 1f9832c4df..3cfe1fc754 100644
--- a/modules/angular2/src/web_workers/shared/generic_message_bus.dart
+++ b/modules/angular2/src/web_workers/shared/generic_message_bus.dart
@@ -9,29 +9,32 @@ import 'package:angular2/src/facade/lang.dart';
import 'package:angular2/src/facade/exceptions.dart';
class GenericMessageBus implements MessageBus {
- MessageBusSink sink;
- MessageBusSource source;
+ final MessageBusSink _sink;
+ final MessageBusSource _source;
+
+ MessageBusSink get sink => _sink;
+ MessageBusSource get source => _source;
GenericMessageBus(MessageBusSink sink, MessageBusSource source)
- : sink = sink,
- source = source;
+ : _sink = sink,
+ _source = source;
void attachToZone(NgZone zone) {
- sink.attachToZone(zone);
- source.attachToZone(zone);
+ _sink.attachToZone(zone);
+ _source.attachToZone(zone);
}
void initChannel(String channel, [bool runInZone = true]) {
- sink.initChannel(channel, runInZone);
- source.initChannel(channel, runInZone);
+ _sink.initChannel(channel, runInZone);
+ _source.initChannel(channel, runInZone);
}
EventEmitter from(String channel) {
- return source.from(channel);
+ return _source.from(channel);
}
EventEmitter to(String channel) {
- return sink.to(channel);
+ return _sink.to(channel);
}
}
diff --git a/modules/playground/src/hash_routing/index.ts b/modules/playground/src/hash_routing/index.ts
index b9c3e9c4c4..62a0ffdf8d 100644
--- a/modules/playground/src/hash_routing/index.ts
+++ b/modules/playground/src/hash_routing/index.ts
@@ -9,8 +9,6 @@ import {
LocationStrategy
} from 'angular2/router';
-import {reflector} from 'angular2/src/core/reflection/reflection';
-import {ReflectionCapabilities} from 'angular2/src/core/reflection/reflection_capabilities';
@Component({selector: 'hello-cmp', template: `hello`})
class HelloCmp {
@@ -46,7 +44,6 @@ class AppCmp {
export function main() {
- reflector.reflectionCapabilities = new ReflectionCapabilities();
bootstrap(AppCmp,
[ROUTER_PROVIDERS, provide(LocationStrategy, {useClass: HashLocationStrategy})]);
}
diff --git a/modules/playground/src/material/button/demo_app.html b/modules/playground/src/material/button/demo_app.html
index fe11093876..fa4b8ee674 100644
--- a/modules/playground/src/material/button/demo_app.html
+++ b/modules/playground/src/material/button/demo_app.html
@@ -34,7 +34,7 @@
-
diff --git a/modules/playground/src/observable_models/common.dart b/modules/playground/src/observable_models/common.dart
index 2da81ed071..4caee47aff 100644
--- a/modules/playground/src/observable_models/common.dart
+++ b/modules/playground/src/observable_models/common.dart
@@ -72,7 +72,8 @@ class RawEntity extends Object
}
@override
- operator [](String key) {
+ operator [](untypedKey) {
+ var key = untypedKey as String;
if (!key.contains('.')) {
return _data[key];
}
@@ -102,7 +103,8 @@ class RawEntity extends Object
set(String name, dynamic value) { this[name] = value; }
@override
- remove(String key) {
+ remove(untypedKey) {
+ var key = untypedKey as String;
if (!key.contains('.')) {
return _data.remove(key);
}
diff --git a/modules/playground/src/relative_assets/index.ts b/modules/playground/src/relative_assets/index.ts
index 0df4d5f707..460758944f 100644
--- a/modules/playground/src/relative_assets/index.ts
+++ b/modules/playground/src/relative_assets/index.ts
@@ -1,12 +1,9 @@
import {bootstrap} from 'angular2/bootstrap';
-import {reflector} from 'angular2/src/core/reflection/reflection';
-import {ReflectionCapabilities} from 'angular2/src/core/reflection/reflection_capabilities';
import {Renderer, ElementRef, Component, Directive, Injectable} from 'angular2/core';
import {MyCmp} from './my_cmp/my_cmp';
export function main() {
- reflector.reflectionCapabilities = new ReflectionCapabilities();
bootstrap(RelativeApp);
}
diff --git a/modules/playground/src/routing/index.ts b/modules/playground/src/routing/index.ts
index 19b25f3e6a..11e06488b6 100644
--- a/modules/playground/src/routing/index.ts
+++ b/modules/playground/src/routing/index.ts
@@ -3,11 +3,7 @@ import {provide} from 'angular2/core';
import {bootstrap} from 'angular2/bootstrap';
import {ROUTER_PROVIDERS, HashLocationStrategy, LocationStrategy} from 'angular2/router';
-import {reflector} from 'angular2/src/core/reflection/reflection';
-import {ReflectionCapabilities} from 'angular2/src/core/reflection/reflection_capabilities';
-
export function main() {
- reflector.reflectionCapabilities = new ReflectionCapabilities();
bootstrap(InboxApp,
[ROUTER_PROVIDERS, provide(LocationStrategy, {useClass: HashLocationStrategy})]);
}
diff --git a/scripts/ci/build_dart_experimental.sh b/scripts/ci/build_dart_experimental.sh
index 884dc552dc..98457b83a3 100755
--- a/scripts/ci/build_dart_experimental.sh
+++ b/scripts/ci/build_dart_experimental.sh
@@ -11,7 +11,8 @@ source $SCRIPT_DIR/env_dart.sh
cd $SCRIPT_DIR/../..
# Variables
-DDC_WARNING_CAP="180"
+DDC_TOTAL_WARNING_CAP="1000"
+DDC_TOTAL_ERROR_CAP="2"
DDC_DIR=`pwd`/tmp/dev_compiler
DDC_VERSION="0.1.14"
@@ -25,6 +26,7 @@ git clone https://github.com/dart-lang/dev_compiler.git tmp/dev_compiler
# Convert TypeScript to Dart
./node_modules/.bin/gulp build/packages.dart
+./node_modules/.bin/gulp build.dart.material.css
./node_modules/.bin/gulp build/pubspec.dart
node ./scripts/ci/dart_experimental/pubspec_for_ddc.js \
--pubspec-file=dist/dart/playground/pubspec.yaml
@@ -36,7 +38,32 @@ cd build/web
LOG_FILE="analyzer.log"
set +e
$DART_SDK/bin/dart $DDC_DIR/bin/dartdevc.dart \
- --dart-sdk=$DART_SDK_LIB_SEARCH_PATH -o out src/hello_world/index.dart \
+ --dart-sdk=$DART_SDK_LIB_SEARCH_PATH -o out \
+ src/animate/index.dart \
+ src/async/index.dart \
+ src/gestures/index.dart \
+ src/hash_routing/index.dart \
+ src/hello_world/index.dart \
+ src/key_events/index.dart \
+ src/material/button/index.dart \
+ src/material/checkbox/index.dart \
+ src/material/dialog/index.dart \
+ src/material/grid_list/index.dart \
+ src/material/input/index.dart \
+ src/material/progress-linear/index.dart \
+ src/material/radio/index.dart \
+ src/material/switcher/index.dart \
+ src/model_driven_forms/index.dart \
+ src/observable_models/index.dart \
+ src/order_management/index.dart \
+ src/person_management/index.dart \
+ src/relative_assets/index.dart \
+ src/routing/index.dart \
+ src/sourcemap/index.dart \
+ src/svg/index.dart \
+ src/template_driven_forms/index.dart \
+ src/todo/index.dart \
+ src/zippy_component/index.dart \
>$LOG_FILE
EXIT_CODE=`echo $?`
set -e
@@ -53,7 +80,7 @@ fi
cat $LOG_FILE
WARNING_COUNT=`cat $LOG_FILE | wc -l | sed -e 's/^[[:space:]]*//'`
-if [[ "$WARNING_COUNT" -gt "$DDC_WARNING_CAP" ]]
+if [[ "$WARNING_COUNT" -gt "$DDC_TOTAL_WARNING_CAP" ]]
then
echo "Too many warnings: $WARNING_COUNT"
exit 1
@@ -61,14 +88,8 @@ else
echo "Warning count ok"
fi
-function countWarnings {
- local GREP_PATTERN=$1
- local COUNT=`cat $LOG_FILE | grep -E '$GREP_PATTERN' | wc -l | sed -e 's/^[[:space:]]*//'`
- echo $COUNT
-}
-
-SEVERE_ANGULAR_COUNT=$(countWarnings '^severe.*package:angular2')
-if [[ "$SEVERE_ANGULAR_COUNT" -gt "0" ]]
+ERROR_COUNT=`cat $LOG_FILE | grep -E '^severe.*' | wc -l | sed -e 's/^[[:space:]]*//'`
+if [[ "$ERROR_COUNT" -gt "$DDC_TOTAL_ERROR_CAP" ]]
then
echo "Found severe errors in angular2 package"
exit 1