Revert "refactor(core): Removed readonly getters and changed to readonly (#19225)"

This reverts commit 2b84b86fc0.
This commit is contained in:
Victor Berchet 2017-09-28 13:36:44 -07:00
parent bed8ac70f7
commit 6a9ce67714
14 changed files with 46 additions and 64 deletions

View File

@ -1310,10 +1310,10 @@ export class TransitionAnimationPlayer implements AnimationPlayer {
public markedForDestroy: boolean = false; public markedForDestroy: boolean = false;
readonly queued: boolean = true;
constructor(public namespaceId: string, public triggerName: string, public element: any) {} constructor(public namespaceId: string, public triggerName: string, public element: any) {}
get queued() { return this._containsRealPlayer == false; }
setRealPlayer(player: AnimationPlayer) { setRealPlayer(player: AnimationPlayer) {
if (this._containsRealPlayer) return; if (this._containsRealPlayer) return;
@ -1324,7 +1324,6 @@ export class TransitionAnimationPlayer implements AnimationPlayer {
}); });
this._queuedCallbacks = {}; this._queuedCallbacks = {};
this._containsRealPlayer = true; this._containsRealPlayer = true;
(this as{queued: boolean}).queued = false;
} }
getRealPlayer() { return this._player; } getRealPlayer() { return this._player; }

View File

@ -27,11 +27,7 @@ import {resolveForwardRef} from './forward_ref';
* @deprecated No replacement * @deprecated No replacement
*/ */
export class ReflectiveKey { export class ReflectiveKey {
/** public readonly displayName: string;
* Returns a stringified token.
*/
readonly displayName: string;
/** /**
* Private * Private
*/ */

View File

@ -71,13 +71,11 @@ export interface ResolvedReflectiveProvider {
} }
export class ResolvedReflectiveProvider_ implements ResolvedReflectiveProvider { export class ResolvedReflectiveProvider_ implements ResolvedReflectiveProvider {
readonly resolvedFactory: ResolvedReflectiveFactory;
constructor( constructor(
public key: ReflectiveKey, public resolvedFactories: ResolvedReflectiveFactory[], public key: ReflectiveKey, public resolvedFactories: ResolvedReflectiveFactory[],
public multiProvider: boolean) { public multiProvider: boolean) {}
this.resolvedFactory = this.resolvedFactories[0];
} get resolvedFactory(): ResolvedReflectiveFactory { return this.resolvedFactories[0]; }
} }
/** /**

View File

@ -66,20 +66,13 @@ export class CodegenComponentFactoryResolver implements ComponentFactoryResolver
} }
export class ComponentFactoryBoundToModule<C> extends ComponentFactory<C> { export class ComponentFactoryBoundToModule<C> extends ComponentFactory<C> {
readonly selector: string; constructor(private factory: ComponentFactory<C>, private ngModule: NgModuleRef<any>) { super(); }
readonly componentType: Type<any>;
readonly ngContentSelectors: string[];
readonly inputs: {propName: string, templateName: string}[];
readonly outputs: {propName: string, templateName: string}[];
constructor(private factory: ComponentFactory<C>, private ngModule: NgModuleRef<any>) { get selector() { return this.factory.selector; }
super(); get componentType() { return this.factory.componentType; }
this.selector = factory.selector; get ngContentSelectors() { return this.factory.ngContentSelectors; }
this.componentType = factory.componentType; get inputs() { return this.factory.inputs; }
this.ngContentSelectors = factory.ngContentSelectors; get outputs() { return this.factory.outputs; }
this.inputs = factory.inputs;
this.outputs = factory.outputs;
}
create( create(
injector: Injector, projectableNodes?: any[][], rootSelectorOrNode?: string|any, injector: Injector, projectableNodes?: any[][], rootSelectorOrNode?: string|any,

View File

@ -41,9 +41,9 @@ export class QueryList<T>/* implements Iterable<T> */ {
private _results: Array<T> = []; private _results: Array<T> = [];
public readonly changes: Observable<any> = new EventEmitter(); public readonly changes: Observable<any> = new EventEmitter();
readonly length: number; get length(): number { return this._results.length; }
readonly first: T; get first(): T { return this._results[0]; }
readonly last: T; get last(): T { return this._results[this.length - 1]; }
/** /**
* See * See
@ -98,9 +98,6 @@ export class QueryList<T>/* implements Iterable<T> */ {
reset(res: Array<T|any[]>): void { reset(res: Array<T|any[]>): void {
this._results = flatten(res); this._results = flatten(res);
(this as{dirty: boolean}).dirty = false; (this as{dirty: boolean}).dirty = false;
(this as{length: number}).length = this._results.length;
(this as{last: T}).last = this._results[this.length - 1];
(this as{first: T}).first = this._results[0];
} }
notifyOnChanges(): void { (this.changes as EventEmitter<any>).emit(this); } notifyOnChanges(): void { (this.changes as EventEmitter<any>).emit(this); }

View File

@ -478,8 +478,6 @@ class NgModuleRef_ implements NgModuleData, InternalNgModuleRef<any> {
/** @internal */ /** @internal */
_providers: any[]; _providers: any[];
readonly injector: Injector = this;
constructor( constructor(
private _moduleType: Type<any>, public _parent: Injector, private _moduleType: Type<any>, public _parent: Injector,
public _bootstrapComponents: Type<any>[], public _def: NgModuleDefinition) { public _bootstrapComponents: Type<any>[], public _def: NgModuleDefinition) {
@ -495,6 +493,8 @@ class NgModuleRef_ implements NgModuleData, InternalNgModuleRef<any> {
get componentFactoryResolver() { return this.get(ComponentFactoryResolver); } get componentFactoryResolver() { return this.get(ComponentFactoryResolver); }
get injector(): Injector { return this; }
destroy(): void { destroy(): void {
if (this._destroyed) { if (this._destroyed) {
throw new Error( throw new Error(

View File

@ -618,8 +618,9 @@ class DebugRendererFactory2 implements RendererFactory2 {
class DebugRenderer2 implements Renderer2 { class DebugRenderer2 implements Renderer2 {
readonly data: {[key: string]: any}; constructor(private delegate: Renderer2) {}
constructor(private delegate: Renderer2) { this.data = this.delegate.data; }
get data() { return this.delegate.data; }
destroyNode(node: any) { destroyNode(node: any) {
removeDebugNodeFromIndex(getDebugNode(node) !); removeDebugNodeFromIndex(getDebugNode(node) !);

View File

@ -171,13 +171,21 @@ function invertMap(obj: {[name: string]: string}): {[name: string]: string} {
class OverrideKindSymbol implements Symbol { class OverrideKindSymbol implements Symbol {
public readonly kind: string; public readonly kind: string;
constructor(private sym: Symbol, kindOverride: string) { this.kind = kindOverride; } constructor(private sym: Symbol, kindOverride: string) { this.kind = kindOverride; }
get name(): string { return this.sym.name; } get name(): string { return this.sym.name; }
get language(): string { return this.sym.language; } get language(): string { return this.sym.language; }
get type(): Symbol|undefined { return this.sym.type; } get type(): Symbol|undefined { return this.sym.type; }
get container(): Symbol|undefined { return this.sym.container; } get container(): Symbol|undefined { return this.sym.container; }
get public(): boolean { return this.sym.public; } get public(): boolean { return this.sym.public; }
get callable(): boolean { return this.sym.callable; } get callable(): boolean { return this.sym.callable; }
get nullable(): boolean { return this.sym.nullable; } get nullable(): boolean { return this.sym.nullable; }
get definition(): Definition { return this.sym.definition; } get definition(): Definition { return this.sym.definition; }
members() { return this.sym.members(); } members() { return this.sym.members(); }

View File

@ -114,14 +114,13 @@ export class AnimationRendererFactory implements RendererFactory2 {
} }
export class BaseAnimationRenderer implements Renderer2 { export class BaseAnimationRenderer implements Renderer2 {
readonly data: {[key: string]: any};
constructor( constructor(
protected namespaceId: string, public delegate: Renderer2, public engine: AnimationEngine) { protected namespaceId: string, public delegate: Renderer2, public engine: AnimationEngine) {
this.destroyNode = this.delegate.destroyNode ? (n) => delegate.destroyNode !(n) : null; this.destroyNode = this.delegate.destroyNode ? (n) => delegate.destroyNode !(n) : null;
this.data = delegate.data;
} }
get data() { return this.delegate.data; }
destroyNode: ((n: any) => void)|null; destroyNode: ((n: any) => void)|null;
destroy(): void { destroy(): void {

View File

@ -23,10 +23,7 @@ import {supportsState} from './history';
*/ */
@Injectable() @Injectable()
export class BrowserPlatformLocation extends PlatformLocation { export class BrowserPlatformLocation extends PlatformLocation {
readonly location: Location; public readonly location: Location;
readonly search: string;
readonly hash: string;
private _history: History; private _history: History;
constructor(@Inject(DOCUMENT) private _doc: any) { constructor(@Inject(DOCUMENT) private _doc: any) {
@ -39,8 +36,6 @@ export class BrowserPlatformLocation extends PlatformLocation {
_init() { _init() {
(this as{location: Location}).location = getDOM().getLocation(); (this as{location: Location}).location = getDOM().getLocation();
this._history = getDOM().getHistory(); this._history = getDOM().getHistory();
(this as{hash: string}).hash = this.location.hash;
(this as{search: string}).search = this.location.search;
} }
getBaseHrefFromDOM(): string { return getDOM().getBaseHref(this._doc) !; } getBaseHrefFromDOM(): string { return getDOM().getBaseHref(this._doc) !; }
@ -54,6 +49,8 @@ export class BrowserPlatformLocation extends PlatformLocation {
} }
get pathname(): string { return this.location.pathname; } get pathname(): string { return this.location.pathname; }
get search(): string { return this.location.search; }
get hash(): string { return this.location.hash; }
set pathname(newPath: string) { this.location.pathname = newPath; } set pathname(newPath: string) { this.location.pathname = newPath; }
pushState(state: any, title: string, url: string): void { pushState(state: any, title: string, url: string): void {

View File

@ -117,7 +117,6 @@ export class ZoneMacroTaskConnection extends ZoneMacroTaskWrapper<Request, Respo
Connection { Connection {
response: Observable<Response>; response: Observable<Response>;
lastConnection: Connection; lastConnection: Connection;
readonly readyState: ReadyState;
constructor(public request: Request, private backend: XHRBackend) { constructor(public request: Request, private backend: XHRBackend) {
super(); super();
@ -127,10 +126,12 @@ export class ZoneMacroTaskConnection extends ZoneMacroTaskWrapper<Request, Respo
delegate(request: Request): Observable<Response> { delegate(request: Request): Observable<Response> {
this.lastConnection = this.backend.createConnection(request); this.lastConnection = this.backend.createConnection(request);
(this as{readyState: ReadyState}).readyState =
!!this.lastConnection ? this.lastConnection.readyState : ReadyState.Unsent;
return this.lastConnection.response as Observable<Response>; return this.lastConnection.response as Observable<Response>;
} }
get readyState(): ReadyState {
return !!this.lastConnection ? this.lastConnection.readyState : ReadyState.Unsent;
}
} }
export class ZoneMacroTaskBackend implements ConnectionBackend { export class ZoneMacroTaskBackend implements ConnectionBackend {

View File

@ -23,9 +23,6 @@ export class WebWorkerPlatformLocation extends PlatformLocation {
public initialized: Promise<any>; public initialized: Promise<any>;
private initializedResolve: () => void; private initializedResolve: () => void;
readonly search: string;
readonly hash: string;
constructor( constructor(
brokerFactory: ClientMessageBrokerFactory, bus: MessageBus, private _serializer: Serializer) { brokerFactory: ClientMessageBrokerFactory, bus: MessageBus, private _serializer: Serializer) {
super(); super();
@ -45,7 +42,7 @@ export class WebWorkerPlatformLocation extends PlatformLocation {
if (listeners) { if (listeners) {
// There was a popState or hashChange event, so the location object thas been updated // There was a popState or hashChange event, so the location object thas been updated
this._setLocation(this._serializer.deserialize(msg['location'], LocationType)); this._location = this._serializer.deserialize(msg['location'], LocationType);
listeners.forEach((fn: Function) => fn(msg['event'])); listeners.forEach((fn: Function) => fn(msg['event']));
} }
} }
@ -60,7 +57,7 @@ export class WebWorkerPlatformLocation extends PlatformLocation {
return this._broker.runOnService(args, LocationType) !.then( return this._broker.runOnService(args, LocationType) !.then(
(val: LocationType) => { (val: LocationType) => {
this._setLocation(val); this._location = val;
this.initializedResolve(); this.initializedResolve();
return true; return true;
}, },
@ -78,6 +75,10 @@ export class WebWorkerPlatformLocation extends PlatformLocation {
get pathname(): string { return this._location ? this._location.pathname ! : '<unknown>'; } get pathname(): string { return this._location ? this._location.pathname ! : '<unknown>'; }
get search(): string { return this._location ? this._location.search : '<unknown>'; }
get hash(): string { return this._location ? this._location.hash : '<unknown>'; }
set pathname(newPath: string) { set pathname(newPath: string) {
if (this._location === null) { if (this._location === null) {
throw new Error('Attempt to set pathname before value is obtained from UI'); throw new Error('Attempt to set pathname before value is obtained from UI');
@ -90,12 +91,6 @@ export class WebWorkerPlatformLocation extends PlatformLocation {
this._broker.runOnService(args, null); this._broker.runOnService(args, null);
} }
private _setLocation(location: LocationType) {
this._location = location;
(this as{search: string}).search = this._location ? this._location.search : '<unknown>';
(this as{hash: string}).hash = this._location ? this._location.hash : '<unknown>';
}
pushState(state: any, title: string, url: string): void { pushState(state: any, title: string, url: string): void {
const fnArgs = [ const fnArgs = [
new FnArg(state, SerializerTypes.PRIMITIVE), new FnArg(state, SerializerTypes.PRIMITIVE),

View File

@ -26,10 +26,8 @@ import {andObservables, forEach, shallowEqual, wrapIntoObservable} from './utils
import {TreeNode, nodeChildrenAsMap} from './utils/tree'; import {TreeNode, nodeChildrenAsMap} from './utils/tree';
class CanActivate { class CanActivate {
readonly route: ActivatedRouteSnapshot; constructor(public path: ActivatedRouteSnapshot[]) {}
constructor(public path: ActivatedRouteSnapshot[]) { get route(): ActivatedRouteSnapshot { return this.path[this.path.length - 1]; }
this.route = this.path[this.path.length - 1];
}
} }
class CanDeactivate { class CanDeactivate {