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