diff --git a/modules/angular2/manual_typings/traceur-runtime.d.ts b/modules/angular2/manual_typings/traceur-runtime.d.ts index f7dbd00436..bfdec617eb 100644 --- a/modules/angular2/manual_typings/traceur-runtime.d.ts +++ b/modules/angular2/manual_typings/traceur-runtime.d.ts @@ -7,13 +7,6 @@ // ES5, because they are redundant with lib.es6.d.ts. /// -// es6-promise.d.ts chose a different name for this interface than TS lib.es6.d.ts -// Generic Type Alises are in TS 1.6 (https://github.com/Microsoft/TypeScript/pull/3397) -// So we cannot write: -// declare type PromiseLike = Thenable; -// Until then we use a workaround: -interface PromiseLike extends Thenable {} - // Extend the ES5 standard library with some ES6 features we polyfill at runtime // by loading es6-shim.js diff --git a/modules/angular2/src/core/dom/browser_adapter.dart b/modules/angular2/src/core/dom/browser_adapter.dart index 8a72785ac8..a1fb1e47c1 100644 --- a/modules/angular2/src/core/dom/browser_adapter.dart +++ b/modules/angular2/src/core/dom/browser_adapter.dart @@ -478,6 +478,10 @@ class BrowserDomAdapter extends GenericBrowserDomAdapter { num performanceNow() { return window.performance.now(); } + + parse(s) { + throw 'not implemented'; + } } var baseElement = null; diff --git a/modules/angular2/src/core/dom/browser_adapter.ts b/modules/angular2/src/core/dom/browser_adapter.ts index c36e341b68..6dc3c8e7dc 100644 --- a/modules/angular2/src/core/dom/browser_adapter.ts +++ b/modules/angular2/src/core/dom/browser_adapter.ts @@ -61,6 +61,7 @@ var _chromeNumKeyPadMap = { /* tslint:disable:requireParameterType */ export class BrowserDomAdapter extends GenericBrowserDomAdapter { + parse(templateHtml: string) { throw new Error("parse not implemented"); } static makeCurrent() { setRootDomAdapter(new BrowserDomAdapter()); } hasProperty(element, name: string): boolean { return name in element; } setProperty(el: /*element*/ any, name: string, value: any) { el[name] = value; } diff --git a/modules/angular2/src/core/dom/dom_adapter.ts b/modules/angular2/src/core/dom/dom_adapter.ts index bc74aac301..76b6c883ba 100644 --- a/modules/angular2/src/core/dom/dom_adapter.ts +++ b/modules/angular2/src/core/dom/dom_adapter.ts @@ -1,5 +1,4 @@ import {isBlank} from 'angular2/src/core/facade/lang'; -import {BaseException, WrappedException} from 'angular2/src/core/facade/exceptions'; export var DOM: DomAdapter; @@ -9,137 +8,129 @@ export function setRootDomAdapter(adapter: DomAdapter) { } } - - -function _abstract() { - return new BaseException('This method is abstract'); -} - /* tslint:disable:requireParameterType */ /** * Provides DOM operations in an environment-agnostic way. */ -export class DomAdapter { - hasProperty(element, name: string): boolean { throw _abstract(); } - setProperty(el: Element, name: string, value: any) { throw _abstract(); } - getProperty(el: Element, name: string): any { throw _abstract(); } - invoke(el: Element, methodName: string, args: any[]): any { throw _abstract(); } +export abstract class DomAdapter { + abstract hasProperty(element, name: string): boolean; + abstract setProperty(el: Element, name: string, value: any); + abstract getProperty(el: Element, name: string): any; + abstract invoke(el: Element, methodName: string, args: any[]): any; - logError(error) { throw _abstract(); } - log(error) { throw _abstract(); } - logGroup(error) { throw _abstract(); } - logGroupEnd() { throw _abstract(); } + abstract logError(error); + abstract log(error); + abstract logGroup(error); + abstract logGroupEnd(); /** * Maps attribute names to their corresponding property names for cases * where attribute name doesn't match property name. */ - get attrToPropMap(): StringMap { throw _abstract(); } + attrToPropMap: StringMap; - parse(templateHtml: string) { throw _abstract(); } - query(selector: string): any { throw _abstract(); } - querySelector(el, selector: string): HTMLElement { throw _abstract(); } - querySelectorAll(el, selector: string): any[] { throw _abstract(); } - on(el, evt, listener) { throw _abstract(); } - onAndCancel(el, evt, listener): Function { throw _abstract(); } - dispatchEvent(el, evt) { throw _abstract(); } - createMouseEvent(eventType): any { throw _abstract(); } - createEvent(eventType: string): any { throw _abstract(); } - preventDefault(evt) { throw _abstract(); } - isPrevented(evt): boolean { throw _abstract(); } - getInnerHTML(el): string { throw _abstract(); } - getOuterHTML(el): string { throw _abstract(); } - nodeName(node): string { throw _abstract(); } - nodeValue(node): string { throw _abstract(); } - type(node): string { throw _abstract(); } - content(node): any { throw _abstract(); } - firstChild(el): Node { throw _abstract(); } - nextSibling(el): Node { throw _abstract(); } - parentElement(el): Node { throw _abstract(); } - childNodes(el): Node[] { throw _abstract(); } - childNodesAsList(el): Node[] { throw _abstract(); } - clearNodes(el) { throw _abstract(); } - appendChild(el, node) { throw _abstract(); } - removeChild(el, node) { throw _abstract(); } - replaceChild(el, newNode, oldNode) { throw _abstract(); } - remove(el): Node { throw _abstract(); } - insertBefore(el, node) { throw _abstract(); } - insertAllBefore(el, nodes) { throw _abstract(); } - insertAfter(el, node) { throw _abstract(); } - setInnerHTML(el, value) { throw _abstract(); } - getText(el): string { throw _abstract(); } - setText(el, value: string) { throw _abstract(); } - getValue(el): string { throw _abstract(); } - setValue(el, value: string) { throw _abstract(); } - getChecked(el): boolean { throw _abstract(); } - setChecked(el, value: boolean) { throw _abstract(); } - createComment(text: string): any { throw _abstract(); } - createTemplate(html): HTMLElement { throw _abstract(); } - createElement(tagName, doc = null): HTMLElement { throw _abstract(); } - createTextNode(text: string, doc = null): Text { throw _abstract(); } - createScriptTag(attrName: string, attrValue: string, doc = null): HTMLElement { - throw _abstract(); - } - createStyleElement(css: string, doc = null): HTMLStyleElement { throw _abstract(); } - createShadowRoot(el): any { throw _abstract(); } - getShadowRoot(el): any { throw _abstract(); } - getHost(el): any { throw _abstract(); } - getDistributedNodes(el): Node[] { throw _abstract(); } - clone /**/ (node: Node /*T*/): Node /*T*/ { throw _abstract(); } - getElementsByClassName(element, name: string): HTMLElement[] { throw _abstract(); } - getElementsByTagName(element, name: string): HTMLElement[] { throw _abstract(); } - classList(element): any[] { throw _abstract(); } - addClass(element, classname: string) { throw _abstract(); } - removeClass(element, classname: string) { throw _abstract(); } - hasClass(element, classname: string): boolean { throw _abstract(); } - setStyle(element, stylename: string, stylevalue: string) { throw _abstract(); } - removeStyle(element, stylename: string) { throw _abstract(); } - getStyle(element, stylename: string): string { throw _abstract(); } - tagName(element): string { throw _abstract(); } - attributeMap(element): Map { throw _abstract(); } - hasAttribute(element, attribute: string): boolean { throw _abstract(); } - getAttribute(element, attribute: string): string { throw _abstract(); } - setAttribute(element, name: string, value: string) { throw _abstract(); } - removeAttribute(element, attribute: string) { throw _abstract(); } - templateAwareRoot(el) { throw _abstract(); } - createHtmlDocument(): HTMLDocument { throw _abstract(); } - defaultDoc(): HTMLDocument { throw _abstract(); } - getBoundingClientRect(el) { throw _abstract(); } - getTitle(): string { throw _abstract(); } - setTitle(newTitle: string) { throw _abstract(); } - elementMatches(n, selector: string): boolean { throw _abstract(); } - isTemplateElement(el: any): boolean { throw _abstract(); } - isTextNode(node): boolean { throw _abstract(); } - isCommentNode(node): boolean { throw _abstract(); } - isElementNode(node): boolean { throw _abstract(); } - hasShadowRoot(node): boolean { throw _abstract(); } - isShadowRoot(node): boolean { throw _abstract(); } - importIntoDoc /**/ (node: Node /*T*/): Node /*T*/ { throw _abstract(); } - adoptNode /**/ (node: Node /*T*/): Node /*T*/ { throw _abstract(); } - isPageRule(rule): boolean { throw _abstract(); } - isStyleRule(rule): boolean { throw _abstract(); } - isMediaRule(rule): boolean { throw _abstract(); } - isKeyframesRule(rule): boolean { throw _abstract(); } - getHref(element): string { throw _abstract(); } - getEventKey(event): string { throw _abstract(); } - resolveAndSetHref(element, baseUrl: string, href: string) { throw _abstract(); } - cssToRules(css: string): any[] { throw _abstract(); } - supportsDOMEvents(): boolean { throw _abstract(); } - supportsNativeShadowDOM(): boolean { throw _abstract(); } - getGlobalEventTarget(target: string): any { throw _abstract(); } - getHistory(): History { throw _abstract(); } - getLocation(): Location { throw _abstract(); } - getBaseHref(): string { throw _abstract(); } - resetBaseElement(): void { throw _abstract(); } - getUserAgent(): string { throw _abstract(); } - setData(element, name: string, value: string) { throw _abstract(); } - getComputedStyle(element): any { throw _abstract(); } - getData(element, name: string): string { throw _abstract(); } - setGlobalVar(name: string, value: any) { throw _abstract(); } - requestAnimationFrame(callback): number { throw _abstract(); } - cancelAnimationFrame(id) { throw _abstract(); } - performanceNow(): number { throw _abstract(); } - getAnimationPrefix(): string { throw _abstract(); } - getTransitionEnd(): string { throw _abstract(); } - supportsAnimation(): boolean { throw _abstract(); } + abstract parse(templateHtml: string); + abstract query(selector: string): any; + abstract querySelector(el, selector: string): HTMLElement; + abstract querySelectorAll(el, selector: string): any[]; + abstract on(el, evt, listener); + abstract onAndCancel(el, evt, listener): Function; + abstract dispatchEvent(el, evt); + abstract createMouseEvent(eventType): any; + abstract createEvent(eventType: string): any; + abstract preventDefault(evt); + abstract isPrevented(evt): boolean; + abstract getInnerHTML(el): string; + abstract getOuterHTML(el): string; + abstract nodeName(node): string; + abstract nodeValue(node): string; + abstract type(node): string; + abstract content(node): any; + abstract firstChild(el): Node; + abstract nextSibling(el): Node; + abstract parentElement(el): Node; + abstract childNodes(el): Node[]; + abstract childNodesAsList(el): Node[]; + abstract clearNodes(el); + abstract appendChild(el, node); + abstract removeChild(el, node); + abstract replaceChild(el, newNode, oldNode); + abstract remove(el): Node; + abstract insertBefore(el, node); + abstract insertAllBefore(el, nodes); + abstract insertAfter(el, node); + abstract setInnerHTML(el, value); + abstract getText(el): string; + abstract setText(el, value: string); + abstract getValue(el): string; + abstract setValue(el, value: string); + abstract getChecked(el): boolean; + abstract setChecked(el, value: boolean); + abstract createComment(text: string): any; + abstract createTemplate(html): HTMLElement; + abstract createElement(tagName, doc?): HTMLElement; + abstract createTextNode(text: string, doc?): Text; + abstract createScriptTag(attrName: string, attrValue: string, doc?): HTMLElement; + abstract createStyleElement(css: string, doc?): HTMLStyleElement; + abstract createShadowRoot(el): any; + abstract getShadowRoot(el): any; + abstract getHost(el): any; + abstract getDistributedNodes(el): Node[]; + abstract clone /**/ (node: Node /*T*/): Node /*T*/; + abstract getElementsByClassName(element, name: string): HTMLElement[]; + abstract getElementsByTagName(element, name: string): HTMLElement[]; + abstract classList(element): any[]; + abstract addClass(element, classname: string); + abstract removeClass(element, classname: string); + abstract hasClass(element, classname: string): boolean; + abstract setStyle(element, stylename: string, stylevalue: string); + abstract removeStyle(element, stylename: string); + abstract getStyle(element, stylename: string): string; + abstract tagName(element): string; + abstract attributeMap(element): Map; + abstract hasAttribute(element, attribute: string): boolean; + abstract getAttribute(element, attribute: string): string; + abstract setAttribute(element, name: string, value: string); + abstract removeAttribute(element, attribute: string); + abstract templateAwareRoot(el); + abstract createHtmlDocument(): HTMLDocument; + abstract defaultDoc(): HTMLDocument; + abstract getBoundingClientRect(el); + abstract getTitle(): string; + abstract setTitle(newTitle: string); + abstract elementMatches(n, selector: string): boolean; + abstract isTemplateElement(el: any): boolean; + abstract isTextNode(node): boolean; + abstract isCommentNode(node): boolean; + abstract isElementNode(node): boolean; + abstract hasShadowRoot(node): boolean; + abstract isShadowRoot(node): boolean; + abstract importIntoDoc /**/ (node: Node /*T*/): Node /*T*/; + abstract adoptNode /**/ (node: Node /*T*/): Node /*T*/; + abstract isPageRule(rule): boolean; + abstract isStyleRule(rule): boolean; + abstract isMediaRule(rule): boolean; + abstract isKeyframesRule(rule): boolean; + abstract getHref(element): string; + abstract getEventKey(event): string; + abstract resolveAndSetHref(element, baseUrl: string, href: string); + abstract cssToRules(css: string): any[]; + abstract supportsDOMEvents(): boolean; + abstract supportsNativeShadowDOM(): boolean; + abstract getGlobalEventTarget(target: string): any; + abstract getHistory(): History; + abstract getLocation(): Location; + abstract getBaseHref(): string; + abstract resetBaseElement(): void; + abstract getUserAgent(): string; + abstract setData(element, name: string, value: string); + abstract getComputedStyle(element): any; + abstract getData(element, name: string): string; + abstract setGlobalVar(name: string, value: any); + abstract requestAnimationFrame(callback): number; + abstract cancelAnimationFrame(id); + abstract performanceNow(): number; + abstract getAnimationPrefix(): string; + abstract getTransitionEnd(): string; + abstract supportsAnimation(): boolean; } diff --git a/modules/angular2/src/core/dom/generic_browser_adapter.ts b/modules/angular2/src/core/dom/generic_browser_adapter.ts index 51be733045..9c6d35f471 100644 --- a/modules/angular2/src/core/dom/generic_browser_adapter.ts +++ b/modules/angular2/src/core/dom/generic_browser_adapter.ts @@ -5,7 +5,7 @@ import {DomAdapter} from './dom_adapter'; /** * Provides DOM operations in any browser environment. */ -export class GenericBrowserDomAdapter extends DomAdapter { +export abstract class GenericBrowserDomAdapter extends DomAdapter { private _animationPrefix: string = null; private _transitionEnd: string = null; constructor() { diff --git a/modules/angular2/src/core/dom/html_adapter.dart b/modules/angular2/src/core/dom/html_adapter.dart index 5ec4ae5cc0..52c062f040 100644 --- a/modules/angular2/src/core/dom/html_adapter.dart +++ b/modules/angular2/src/core/dom/html_adapter.dart @@ -46,6 +46,10 @@ class Html5LibDomAdapter implements DomAdapter { 'tabindex': 'tabIndex', }; + set attrToPropMap(value) { + throw 'readonly'; + } + @override getGlobalEventTarget(String target) { throw 'not implemented'; diff --git a/modules/angular2/src/core/dom/parse5_adapter.ts b/modules/angular2/src/core/dom/parse5_adapter.ts index c655dda5c2..3bc737df6a 100644 --- a/modules/angular2/src/core/dom/parse5_adapter.ts +++ b/modules/angular2/src/core/dom/parse5_adapter.ts @@ -562,6 +562,11 @@ export class Parse5DomAdapter extends DomAdapter { getAnimationPrefix(): string { return ''; } getTransitionEnd(): string { return 'transitionend'; } supportsAnimation(): boolean { return true; } + + replaceChild(el, newNode, oldNode) { throw new Error('not implemented'); } + parse(templateHtml: string) { throw new Error('not implemented'); } + invoke(el: Element, methodName: string, args: any[]): any { throw new Error('not implemented'); } + getEventKey(event): string { throw new Error('not implemented'); } } // TODO: build a proper list, this one is all the keys of a HTMLInputElement diff --git a/modules/angular2/src/core/facade/lang.dart b/modules/angular2/src/core/facade/lang.dart index 9ff4b23fd9..7516481c6a 100644 --- a/modules/angular2/src/core/facade/lang.dart +++ b/modules/angular2/src/core/facade/lang.dart @@ -17,10 +17,6 @@ class CONST { const CONST(); } -class ABSTRACT { - const ABSTRACT(); -} - bool isPresent(obj) => obj != null; bool isBlank(obj) => obj == null; bool isString(obj) => obj is String; diff --git a/modules/angular2/src/core/facade/lang.ts b/modules/angular2/src/core/facade/lang.ts index 9ab924ef21..0dc2d91165 100644 --- a/modules/angular2/src/core/facade/lang.ts +++ b/modules/angular2/src/core/facade/lang.ts @@ -62,10 +62,6 @@ export function CONST(): ClassDecorator { return (target) => target; } -export function ABSTRACT(): ClassDecorator { - return (t) => t; -} - export function isPresent(obj: any): boolean { return obj !== undefined && obj !== null; } diff --git a/modules/angular2/src/core/forms/directives/ng_control.ts b/modules/angular2/src/core/forms/directives/ng_control.ts index bd8916edc9..462f5f36cc 100644 --- a/modules/angular2/src/core/forms/directives/ng_control.ts +++ b/modules/angular2/src/core/forms/directives/ng_control.ts @@ -2,10 +2,13 @@ import {ControlValueAccessor} from './control_value_accessor'; import {AbstractControlDirective} from './abstract_control_directive'; /** - * An abstract class that all control directive extend. - * + * A base class that all control directive extend. * It binds a {@link Control} object to a DOM element. */ +// Cannot currently be abstract because it would contain +// an abstract method in the public API, and we cannot reflect +// on that in Dart due to https://github.com/dart-lang/sdk/issues/18721 +// Also we don't have abstract setters, see https://github.com/Microsoft/TypeScript/issues/4669 export class NgControl extends AbstractControlDirective { name: string = null; valueAccessor: ControlValueAccessor = null; diff --git a/modules/angular2/src/core/metadata/view.ts b/modules/angular2/src/core/metadata/view.ts index e3659b7f86..ccf6301ccb 100644 --- a/modules/angular2/src/core/metadata/view.ts +++ b/modules/angular2/src/core/metadata/view.ts @@ -1,4 +1,4 @@ -import {ABSTRACT, CONST, Type} from 'angular2/src/core/facade/lang'; +import {CONST, Type} from 'angular2/src/core/facade/lang'; import {ViewEncapsulation} from 'angular2/src/core/render/api'; export {ViewEncapsulation} from 'angular2/src/core/render/api'; diff --git a/modules/angular2/src/core/pipes/invalid_pipe_argument_exception.ts b/modules/angular2/src/core/pipes/invalid_pipe_argument_exception.ts index 399347c66f..e756b996c2 100644 --- a/modules/angular2/src/core/pipes/invalid_pipe_argument_exception.ts +++ b/modules/angular2/src/core/pipes/invalid_pipe_argument_exception.ts @@ -1,4 +1,4 @@ -import {ABSTRACT, CONST, Type} from 'angular2/src/core/facade/lang'; +import {CONST, Type} from 'angular2/src/core/facade/lang'; import {BaseException, WrappedException} from 'angular2/src/core/facade/exceptions'; export class InvalidPipeArgumentException extends BaseException { diff --git a/modules/angular2/src/http/interfaces.ts b/modules/angular2/src/http/interfaces.ts index 2f1d6aaaa1..86550504cc 100644 --- a/modules/angular2/src/http/interfaces.ts +++ b/modules/angular2/src/http/interfaces.ts @@ -11,15 +11,15 @@ import {URLSearchParams} from './url_search_params'; * The primary purpose of a `ConnectionBackend` is to create new connections to fulfill a given * {@link Request}. */ -export class ConnectionBackend { +export abstract class ConnectionBackend { constructor() {} - createConnection(request: any): Connection { throw new BaseException('Abstract!'); } + abstract createConnection(request: any): Connection; } /** * Abstract class from which real connections are derived. */ -export class Connection { +export abstract class Connection { readyState: ReadyStates; request: Request; response: EventEmitter; // TODO: generic of ; diff --git a/modules/angular2/src/mock/mock_location_strategy.ts b/modules/angular2/src/mock/mock_location_strategy.ts index dd1b5f74ec..fe1985e3dc 100644 --- a/modules/angular2/src/mock/mock_location_strategy.ts +++ b/modules/angular2/src/mock/mock_location_strategy.ts @@ -38,4 +38,6 @@ export class MockLocationStrategy extends LocationStrategy { this.simulatePopState(nextUrl); } } + + forward(): void { throw 'not implemented'; } } diff --git a/modules/angular2/src/router/location_strategy.ts b/modules/angular2/src/router/location_strategy.ts index 84d5798e1e..fb944cfcec 100644 --- a/modules/angular2/src/router/location_strategy.ts +++ b/modules/angular2/src/router/location_strategy.ts @@ -1,9 +1,3 @@ -import {BaseException, WrappedException} from 'angular2/src/core/facade/exceptions'; - -function _abstract() { - return new BaseException('This method is abstract'); -} - /** * `LocationStrategy` is responsible for representing and reading route state * from the the browser's URL. Angular provides two strategies: @@ -20,11 +14,11 @@ function _abstract() { * * See these two classes for more. */ -export class LocationStrategy { - path(): string { throw _abstract(); } - pushState(ctx: any, title: string, url: string): void { throw _abstract(); } - forward(): void { throw _abstract(); } - back(): void { throw _abstract(); } - onPopState(fn: (_: any) => any): void { throw _abstract(); } - getBaseHref(): string { throw _abstract(); } +export abstract class LocationStrategy { + abstract path(): string; + abstract pushState(ctx: any, title: string, url: string): void; + abstract forward(): void; + abstract back(): void; + abstract onPopState(fn: (_: any) => any): void; + abstract getBaseHref(): string; } diff --git a/modules/angular2/src/web_workers/shared/message_bus.ts b/modules/angular2/src/web_workers/shared/message_bus.ts index 20eff61f37..387d5362f5 100644 --- a/modules/angular2/src/web_workers/shared/message_bus.ts +++ b/modules/angular2/src/web_workers/shared/message_bus.ts @@ -1,19 +1,14 @@ import {EventEmitter} from 'angular2/src/core/facade/async'; -import {BaseException, WrappedException} from 'angular2/src/core/facade/exceptions'; import {NgZone} from 'angular2/src/core/zone/ng_zone'; export {EventEmitter, Observable} from 'angular2/src/core/facade/async'; -function _abstract() { - throw new BaseException("This method is abstract"); -} - /** * Message Bus is a low level API used to communicate between the UI and the background. * Communication is based on a channel abstraction. Messages published in a * given channel to one MessageBusSink are received on the same channel * by the corresponding MessageBusSource. */ -export /* abstract (with TS 1.6) */ class MessageBus implements MessageBusSource, MessageBusSink { +export abstract class MessageBus implements MessageBusSource, MessageBusSink { /** * Sets up a new channel on the MessageBus. * MUST be called before calling from or to on the channel. @@ -22,27 +17,27 @@ export /* abstract (with TS 1.6) */ class MessageBus implements MessageBusSource * if runInZone is false then the source will emit events inside the global zone * and the sink will send messages immediately. */ - initChannel(channel: string, runInZone: boolean = true): void { throw _abstract(); } + abstract initChannel(channel: string, runInZone?: boolean): void; /** * Assigns this bus to the given zone. * Any callbacks attached to channels where runInZone was set to true on initialization * will be executed in the given zone. */ - attachToZone(zone: NgZone): void { throw _abstract(); } + abstract attachToZone(zone: NgZone): void; /** * Returns an {@link EventEmitter} that emits every time a message * is received on the given channel. */ - from(channel: string): EventEmitter { throw _abstract(); } + abstract from(channel: string): EventEmitter; /** * Returns an {@link EventEmitter} for the given channel * To publish methods to that channel just call next (or add in dart) on the returned emitter */ - to(channel: string): EventEmitter { throw _abstract(); } + abstract to(channel: string): EventEmitter; } export interface MessageBusSource { diff --git a/modules/angular2/test/symbol_inspector/symbol_differ.ts b/modules/angular2/test/symbol_inspector/symbol_differ.ts index 7fdabd1120..9f021704df 100644 --- a/modules/angular2/test/symbol_inspector/symbol_differ.ts +++ b/modules/angular2/test/symbol_inspector/symbol_differ.ts @@ -1,7 +1,7 @@ import {StringWrapper, RegExpWrapper, isJsObject} from 'angular2/src/core/facade/lang'; var IS_FIELD = RegExpWrapper.create('^\\w+[\\.|\\#]\\w+=?$'); -var IS_INTERFACE = RegExpWrapper.create('^\\{\\w+\\}'); +var IS_INTERFACE = RegExpWrapper.create('^\\{.+\\}'); var IS_DART = RegExpWrapper.create('\\:dart$'); var IS_JS = RegExpWrapper.create('\\:js$'); var IS_OPTIONAL = RegExpWrapper.create('\\:optional$'); diff --git a/modules/benchpress/src/metric.ts b/modules/benchpress/src/metric.ts index 350fa8ef76..5cc5cf4420 100644 --- a/modules/benchpress/src/metric.ts +++ b/modules/benchpress/src/metric.ts @@ -1,14 +1,12 @@ import {bind, Binding} from 'angular2/src/core/di'; import {Promise, PromiseWrapper} from 'angular2/src/core/facade/async'; -import {ABSTRACT} from 'angular2/src/core/facade/lang'; import {BaseException, WrappedException} from 'angular2/src/core/facade/exceptions'; import {StringMap} from 'angular2/src/core/facade/collection'; /** * A metric is measures values */ -@ABSTRACT() -export class Metric { +export abstract class Metric { static bindTo(delegateToken): Binding[] { return [bind(Metric).toFactory((delegate) => delegate, [delegateToken])]; } diff --git a/modules/benchpress/src/reporter.ts b/modules/benchpress/src/reporter.ts index 7564351e82..659861c33f 100644 --- a/modules/benchpress/src/reporter.ts +++ b/modules/benchpress/src/reporter.ts @@ -1,14 +1,12 @@ import {bind, Binding} from 'angular2/src/core/di'; import {Promise, PromiseWrapper} from 'angular2/src/core/facade/async'; -import {ABSTRACT} from 'angular2/src/core/facade/lang'; import {BaseException, WrappedException} from 'angular2/src/core/facade/exceptions'; import {MeasureValues} from './measure_values'; /** * A reporter reports measure values and the valid sample. */ -@ABSTRACT() -export class Reporter { +export abstract class Reporter { static bindTo(delegateToken): Binding[] { return [bind(Reporter).toFactory((delegate) => delegate, [delegateToken])]; } diff --git a/modules/benchpress/src/validator.ts b/modules/benchpress/src/validator.ts index 00d633bfb7..16875f7187 100644 --- a/modules/benchpress/src/validator.ts +++ b/modules/benchpress/src/validator.ts @@ -1,6 +1,5 @@ import {bind, Binding} from 'angular2/src/core/di'; import {StringMap} from 'angular2/src/core/facade/collection'; -import {ABSTRACT} from 'angular2/src/core/facade/lang'; import {BaseException, WrappedException} from 'angular2/src/core/facade/exceptions'; import {MeasureValues} from './measure_values'; @@ -10,8 +9,7 @@ import {MeasureValues} from './measure_values'; * A valid sample is a sample that represents the population that should be observed * in the correct way. */ -@ABSTRACT() -export class Validator { +export abstract class Validator { static bindTo(delegateToken): Binding[] { return [bind(Validator).toFactory((delegate) => delegate, [delegateToken])]; } diff --git a/modules/benchpress/src/web_driver_adapter.ts b/modules/benchpress/src/web_driver_adapter.ts index 2d8b995573..60a8ed5b73 100644 --- a/modules/benchpress/src/web_driver_adapter.ts +++ b/modules/benchpress/src/web_driver_adapter.ts @@ -1,6 +1,5 @@ import {bind, Binding} from 'angular2/src/core/di'; import {Promise} from 'angular2/src/core/facade/async'; -import {ABSTRACT} from 'angular2/src/core/facade/lang'; import {BaseException, WrappedException} from 'angular2/src/core/facade/exceptions'; import {Map} from 'angular2/src/core/facade/collection'; @@ -9,8 +8,7 @@ import {Map} from 'angular2/src/core/facade/collection'; * e.g. JS vs Dart Async vs Dart Sync webdriver. * Needs one implementation for every supported WebDriver client. */ -@ABSTRACT() -export class WebDriverAdapter { +export abstract class WebDriverAdapter { static bindTo(delegateToken): Binding[] { return [bind(WebDriverAdapter).toFactory((delegate) => delegate, [delegateToken])]; } diff --git a/modules/benchpress/src/web_driver_extension.ts b/modules/benchpress/src/web_driver_extension.ts index 0a200b742b..4286c3ae53 100644 --- a/modules/benchpress/src/web_driver_extension.ts +++ b/modules/benchpress/src/web_driver_extension.ts @@ -1,6 +1,6 @@ import {bind, Binding, Injector, OpaqueToken} from 'angular2/src/core/di'; -import {ABSTRACT, isBlank, isPresent} from 'angular2/src/core/facade/lang'; +import {isBlank, isPresent} from 'angular2/src/core/facade/lang'; import {BaseException, WrappedException} from 'angular2/src/core/facade/exceptions'; import {Promise, PromiseWrapper} from 'angular2/src/core/facade/async'; import {ListWrapper, StringMap} from 'angular2/src/core/facade/collection'; @@ -12,8 +12,7 @@ import {Options} from './common_options'; * for a given browser, independent of the WebDriverAdapter. * Needs one implementation for every supported Browser. */ -@ABSTRACT() -export class WebDriverExtension { +export abstract class WebDriverExtension { static bindTo(childTokens): Binding[] { var res = [ bind(_CHILDREN) diff --git a/npm-shrinkwrap.clean.json b/npm-shrinkwrap.clean.json index dd3e2db01d..243b0d70a9 100644 --- a/npm-shrinkwrap.clean.json +++ b/npm-shrinkwrap.clean.json @@ -10026,7 +10026,7 @@ } }, "ts2dart": { - "version": "0.7.7", + "version": "0.7.9", "dependencies": { "source-map": { "version": "0.4.4", diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 2526f6ed07..87fd351003 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -15496,9 +15496,9 @@ } }, "ts2dart": { - "version": "0.7.7", - "from": "https://registry.npmjs.org/ts2dart/-/ts2dart-0.7.7.tgz", - "resolved": "https://registry.npmjs.org/ts2dart/-/ts2dart-0.7.7.tgz", + "version": "0.7.9", + "from": "ts2dart@0.7.9", + "resolved": "https://registry.npmjs.org/ts2dart/-/ts2dart-0.7.9.tgz", "dependencies": { "source-map": { "version": "0.4.4", diff --git a/package.json b/package.json index d83eeaee0b..6294571f19 100644 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "temp": "^0.8.1", "ternary-stream": "^1.2.3", "through2": "^0.6.1", - "ts2dart": "^0.7.7", + "ts2dart": "^0.7.9", "tsd": "^0.6.5-beta", "tslint": "^2.5.0", "typescript": "^1.6.2",