Skip to content

Commit 1f6fd3c

Browse files
authored
refactor: add types (angular#9148)
1 parent 55860e1 commit 1f6fd3c

26 files changed

+96
-123
lines changed

modules/@angular/common/test/directives/ng_if_spec.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -276,8 +276,6 @@ class TestComponent {
276276
this.nestedBooleanCondition = true;
277277
this.numberCondition = 1;
278278
this.stringCondition = 'foo';
279-
this.functionCondition = function(s: any /** TODO #9100 */, n: any /** TODO #9100 */) {
280-
return s == 'foo' && n == 1;
281-
};
279+
this.functionCondition = function(s: any, n: any): boolean { return s == 'foo' && n == 1; };
282280
}
283281
}

modules/@angular/common/test/directives/ng_style_spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export function main() {
4848
.toEqual('40px');
4949

5050
expr = fixture.debugElement.componentInstance.expr;
51-
(expr as any /** TODO #9100 */)['max-width'] = '30%';
51+
(expr as any)['max-width'] = '30%';
5252
fixture.detectChanges();
5353
expect(getDOM().getStyle(
5454
fixture.debugElement.children[0].nativeElement, 'max-width'))
@@ -153,5 +153,5 @@ export function main() {
153153

154154
@Component({selector: 'test-cmp', directives: [NgStyle], template: ''})
155155
class TestComponent {
156-
expr: any /** TODO #9100 */;
156+
expr: any;
157157
}

modules/@angular/common/test/forms/directives_spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {PromiseWrapper} from '../../src/facade/promise';
1313
import {SimpleChange} from '@angular/core/src/change_detection';
1414

1515
class DummyControlValueAccessor implements ControlValueAccessor {
16-
writtenValue: any /** TODO #9100 */;
16+
writtenValue: any;
1717

1818
registerOnChange(fn: any /** TODO #9100 */) {}
1919
registerOnTouched(fn: any /** TODO #9100 */) {}

modules/@angular/compiler/src/expression_parser/ast.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ export class BindingPipe extends AST {
9494
}
9595

9696
export class LiteralPrimitive extends AST {
97-
constructor(public value: any /** TODO #9100 */) { super(); }
97+
constructor(public value: any) { super(); }
9898
visit(visitor: AstVisitor, context: any = null): any {
9999
return visitor.visitLiteralPrimitive(this, context);
100100
}

modules/@angular/compiler/src/expression_parser/lexer.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export enum TokenType {
1717
export class Lexer {
1818
tokenize(text: string): any[] {
1919
var scanner = new _Scanner(text);
20-
var tokens: any[] /** TODO #9100 */ = [];
20+
var tokens: Token[] = [];
2121
var token = scanner.scanToken();
2222
while (token != null) {
2323
tokens.push(token);
@@ -162,7 +162,7 @@ export const $RBRACE = /*@ts2dart_const*/ 125;
162162
const $NBSP = /*@ts2dart_const*/ 160;
163163

164164
export class ScannerError extends BaseException {
165-
constructor(public message: any /** TODO #9100 */) { super(); }
165+
constructor(public message: string) { super(); }
166166

167167
toString(): string { return this.message; }
168168
}

modules/@angular/compiler/src/expression_parser/parser.ts

+15-36
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export class Parser {
8585
let split = this.splitInterpolation(input, location);
8686
if (split == null) return null;
8787

88-
let expressions: any[] /** TODO #9100 */ = [];
88+
let expressions: AST[] = [];
8989

9090
for (let i = 0; i < split.expressions.length; ++i) {
9191
var tokens = this._lexer.tokenize(this._stripComments(split.expressions[i]));
@@ -101,8 +101,8 @@ export class Parser {
101101
if (parts.length <= 1) {
102102
return null;
103103
}
104-
var strings: any[] /** TODO #9100 */ = [];
105-
var expressions: any[] /** TODO #9100 */ = [];
104+
var strings: string[] = [];
105+
var expressions: string[] = [];
106106

107107
for (var i = 0; i < parts.length; i++) {
108108
var part: string = parts[i];
@@ -130,7 +130,7 @@ export class Parser {
130130
}
131131

132132
private _commentStart(input: string): number {
133-
var outerQuote: any /** TODO #9100 */ = null;
133+
var outerQuote: number = null;
134134
for (var i = 0; i < input.length - 1; i++) {
135135
let char = StringWrapper.charCodeAt(input, i);
136136
let nextChar = StringWrapper.charCodeAt(input, i + 1);
@@ -238,7 +238,7 @@ export class _ParseAST {
238238
}
239239

240240
parseChain(): AST {
241-
var exprs: any[] /** TODO #9100 */ = [];
241+
var exprs: AST[] = [];
242242
while (this.index < this.tokens.length) {
243243
var expr = this.parsePipe();
244244
exprs.push(expr);
@@ -267,7 +267,7 @@ export class _ParseAST {
267267

268268
do {
269269
var name = this.expectIdentifierOrKeyword();
270-
var args: any[] /** TODO #9100 */ = [];
270+
var args: AST[] = [];
271271
while (this.optionalCharacter($COLON)) {
272272
args.push(this.parseExpression());
273273
}
@@ -472,8 +472,8 @@ export class _ParseAST {
472472
throw new BaseException('Fell through all cases in parsePrimary');
473473
}
474474

475-
parseExpressionList(terminator: number): any[] {
476-
var result: any[] /** TODO #9100 */ = [];
475+
parseExpressionList(terminator: number): AST[] {
476+
var result: AST[] = [];
477477
if (!this.next.isCharacter(terminator)) {
478478
do {
479479
result.push(this.parsePipe());
@@ -483,8 +483,8 @@ export class _ParseAST {
483483
}
484484

485485
parseLiteralMap(): LiteralMap {
486-
var keys: any[] /** TODO #9100 */ = [];
487-
var values: any[] /** TODO #9100 */ = [];
486+
var keys: string[] = [];
487+
var values: AST[] = [];
488488
this.expectCharacter($LBRACE);
489489
if (!this.optionalCharacter($RBRACE)) {
490490
do {
@@ -532,34 +532,13 @@ export class _ParseAST {
532532

533533
parseCallArguments(): BindingPipe[] {
534534
if (this.next.isCharacter($RPAREN)) return [];
535-
var positionals: any[] /** TODO #9100 */ = [];
535+
var positionals: AST[] = [];
536536
do {
537537
positionals.push(this.parsePipe());
538538
} while (this.optionalCharacter($COMMA));
539-
return positionals;
539+
return positionals as BindingPipe[];
540540
}
541541

542-
parseBlockContent(): AST {
543-
if (!this.parseAction) {
544-
this.error('Binding expression cannot contain chained expression');
545-
}
546-
var exprs: any[] /** TODO #9100 */ = [];
547-
while (this.index < this.tokens.length && !this.next.isCharacter($RBRACE)) {
548-
var expr = this.parseExpression();
549-
exprs.push(expr);
550-
551-
if (this.optionalCharacter($SEMICOLON)) {
552-
while (this.optionalCharacter($SEMICOLON)) {
553-
} // read all semicolons
554-
}
555-
}
556-
if (exprs.length == 0) return new EmptyExpr();
557-
if (exprs.length == 1) return exprs[0];
558-
559-
return new Chain(exprs);
560-
}
561-
562-
563542
/**
564543
* An identifier, a keyword, a string with an optional `-` inbetween.
565544
*/
@@ -579,7 +558,7 @@ export class _ParseAST {
579558

580559
parseTemplateBindings(): TemplateBindingParseResult {
581560
var bindings: TemplateBinding[] = [];
582-
var prefix: any /** TODO #9100 */ = null;
561+
var prefix: string = null;
583562
var warnings: string[] = [];
584563
while (this.index < this.tokens.length) {
585564
var keyIsVar: boolean = this.peekKeywordLet();
@@ -603,8 +582,8 @@ export class _ParseAST {
603582
}
604583
}
605584
this.optionalCharacter($COLON);
606-
var name: any /** TODO #9100 */ = null;
607-
var expression: any /** TODO #9100 */ = null;
585+
var name: string = null;
586+
var expression: ASTWithSource = null;
608587
if (keyIsVar) {
609588
if (this.optionalOperator('=')) {
610589
name = this.expectTemplateBindingKey();

modules/@angular/compiler/src/html_ast.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export interface HtmlAstVisitor {
5959
}
6060

6161
export function htmlVisitAll(visitor: HtmlAstVisitor, asts: HtmlAst[], context: any = null): any[] {
62-
var result: any[] /** TODO #9100 */ = [];
62+
var result: any[] = [];
6363
asts.forEach(ast => {
6464
var astResult = ast.visit(visitor, context);
6565
if (isPresent(astResult)) {

modules/@angular/compiler/src/html_lexer.ts

+11-12
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ class _HtmlTokenizer {
362362
}
363363
this._advance();
364364
let name = this._input.substring(start.offset + 1, this._index - 1);
365-
let char = (NAMED_ENTITIES as any /** TODO #9100 */)[name];
365+
let char = (NAMED_ENTITIES as any)[name];
366366
if (isBlank(char)) {
367367
throw this._createError(unknownEntityErrorMsg(name), this._getSpan(start));
368368
}
@@ -372,11 +372,11 @@ class _HtmlTokenizer {
372372

373373
private _consumeRawText(
374374
decodeEntities: boolean, firstCharOfEnd: number, attemptEndRest: Function): HtmlToken {
375-
var tagCloseStart: any /** TODO #9100 */;
375+
var tagCloseStart: ParseLocation;
376376
var textStart = this._getLocation();
377377
this._beginToken(
378378
decodeEntities ? HtmlTokenType.ESCAPABLE_RAW_TEXT : HtmlTokenType.RAW_TEXT, textStart);
379-
var parts: any[] /** TODO #9100 */ = [];
379+
var parts: string[] = [];
380380
while (true) {
381381
tagCloseStart = this._getLocation();
382382
if (this._attemptCharCode(firstCharOfEnd) && attemptEndRest()) {
@@ -419,11 +419,11 @@ class _HtmlTokenizer {
419419

420420
private _consumePrefixAndName(): string[] {
421421
var nameOrPrefixStart = this._index;
422-
var prefix: any /** TODO #9100 */ = null;
422+
var prefix: string = null;
423423
while (this._peek !== $COLON && !isPrefixEnd(this._peek)) {
424424
this._advance();
425425
}
426-
var nameStart: any /** TODO #9100 */;
426+
var nameStart: number;
427427
if (this._peek === $COLON) {
428428
this._advance();
429429
prefix = this._input.substring(nameOrPrefixStart, this._index - 1);
@@ -438,7 +438,7 @@ class _HtmlTokenizer {
438438

439439
private _consumeTagOpen(start: ParseLocation) {
440440
let savedPos = this._savePosition();
441-
let lowercaseTagName: any /** TODO #9100 */;
441+
let lowercaseTagName: string;
442442
try {
443443
if (!isAsciiLetter(this._peek)) {
444444
throw this._createError(unexpectedCharacterErrorMsg(this._peek), this._getSpan());
@@ -505,11 +505,11 @@ class _HtmlTokenizer {
505505

506506
private _consumeAttributeValue() {
507507
this._beginToken(HtmlTokenType.ATTR_VALUE);
508-
var value: any /** TODO #9100 */;
508+
var value: string;
509509
if (this._peek === $SQ || this._peek === $DQ) {
510510
var quoteChar = this._peek;
511511
this._advance();
512-
var parts: any[] /** TODO #9100 */ = [];
512+
var parts: string[] = [];
513513
while (this._peek !== quoteChar) {
514514
parts.push(this._readChar(true));
515515
}
@@ -534,8 +534,7 @@ class _HtmlTokenizer {
534534
private _consumeTagClose(start: ParseLocation) {
535535
this._beginToken(HtmlTokenType.TAG_CLOSE, start);
536536
this._attemptCharCodeUntilFn(isNotWhitespace);
537-
var prefixAndName: any /** TODO #9100 */;
538-
prefixAndName = this._consumePrefixAndName();
537+
let prefixAndName = this._consumePrefixAndName();
539538
this._attemptCharCodeUntilFn(isNotWhitespace);
540539
this._requireCharCode($GT);
541540
this._endToken(prefixAndName);
@@ -596,7 +595,7 @@ class _HtmlTokenizer {
596595
var start = this._getLocation();
597596
this._beginToken(HtmlTokenType.TEXT, start);
598597

599-
var parts: any[] /** TODO #9100 */ = [];
598+
var parts: string[] = [];
600599
let interpolation = false;
601600

602601
if (this._peek === $LBRACE && this._nextPeek === $LBRACE) {
@@ -719,7 +718,7 @@ function toUpperCaseCharCode(code: number): number {
719718
}
720719

721720
function mergeTextTokens(srcTokens: HtmlToken[]): HtmlToken[] {
722-
let dstTokens: any[] /** TODO #9100 */ = [];
721+
let dstTokens: HtmlToken[] = [];
723722
let lastDstToken: HtmlToken;
724723
for (let i = 0; i < srcTokens.length; i++) {
725724
let token = srcTokens[i];

modules/@angular/compiler/src/html_parser.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ class TreeBuilder {
160160
}
161161

162162
private _collectExpansionExpTokens(start: HtmlToken): HtmlToken[] {
163-
let exp: any[] /** TODO #9100 */ = [];
163+
let exp: HtmlToken[] = [];
164164
let expansionFormStack = [HtmlTokenType.EXPANSION_CASE_EXP_START];
165165

166166
while (true) {
@@ -229,7 +229,7 @@ class TreeBuilder {
229229
private _consumeStartTag(startTagToken: HtmlToken) {
230230
var prefix = startTagToken.parts[0];
231231
var name = startTagToken.parts[1];
232-
var attrs: any[] /** TODO #9100 */ = [];
232+
var attrs: HtmlAttrAst[] = [];
233233
while (this.peek.type === HtmlTokenType.ATTR_NAME) {
234234
attrs.push(this._consumeAttr(this._advance()));
235235
}

modules/@angular/compiler/src/i18n/i18n_html_parser.ts

+8-9
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {HtmlParseTreeResult, HtmlParser} from '../html_parser';
77
import {ParseError, ParseSourceSpan} from '../parse_util';
88

99
import {expandNodes} from './expander';
10-
import {id} from './message';
10+
import {Message, id} from './message';
1111
import {I18N_ATTR, I18N_ATTR_PREFIX, I18nError, Part, dedupePhName, getPhNameFromBinding, messageFromAttribute, messageFromI18nAttribute, partition} from './shared';
1212

1313
const _PLACEHOLDER_ELEMENT = 'ph';
@@ -260,14 +260,14 @@ export class I18nHtmlParser implements HtmlParser {
260260
}
261261

262262
private _i18nAttributes(el: HtmlElementAst): HtmlAttrAst[] {
263-
let res: any[] /** TODO #9100 */ = [];
263+
let res: HtmlAttrAst[] = [];
264264
let implicitAttrs: string[] =
265265
isPresent(this._implicitAttrs[el.name]) ? this._implicitAttrs[el.name] : [];
266266

267267
el.attrs.forEach(attr => {
268268
if (attr.name.startsWith(I18N_ATTR_PREFIX) || attr.name == I18N_ATTR) return;
269269

270-
let message: any /** TODO #9100 */;
270+
let message: Message;
271271

272272
let i18ns = el.attrs.filter(a => a.name == `${I18N_ATTR_PREFIX}${attr.name}`);
273273

@@ -314,12 +314,11 @@ export class I18nHtmlParser implements HtmlParser {
314314
private _replacePlaceholdersWithExpressions(
315315
message: string, exps: string[], sourceSpan: ParseSourceSpan): string {
316316
let expMap = this._buildExprMap(exps);
317-
return RegExpWrapper.replaceAll(
318-
_PLACEHOLDER_EXPANDED_REGEXP, message, (match: any /** TODO #9100 */) => {
319-
let nameWithQuotes = match[2];
320-
let name = nameWithQuotes.substring(1, nameWithQuotes.length - 1);
321-
return this._convertIntoExpression(name, expMap, sourceSpan);
322-
});
317+
return RegExpWrapper.replaceAll(_PLACEHOLDER_EXPANDED_REGEXP, message, (match: string[]) => {
318+
let nameWithQuotes = match[2];
319+
let name = nameWithQuotes.substring(1, nameWithQuotes.length - 1);
320+
return this._convertIntoExpression(name, expMap, sourceSpan);
321+
});
323322
}
324323

325324
private _buildExprMap(exps: string[]): Map<string, string> {

modules/@angular/compiler/src/i18n/shared.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ export class I18nError extends ParseError {
1919

2020
// Man, this is so ugly!
2121
export function partition(nodes: HtmlAst[], errors: ParseError[], implicitTags: string[]): Part[] {
22-
let res: any[] /** TODO #9100 */ = [];
22+
let res: Part[] = [];
2323

2424
for (let i = 0; i < nodes.length; ++i) {
2525
let n = nodes[i];
26-
let temp: any[] /** TODO #9100 */ = [];
26+
let temp: HtmlAst[] = [];
2727
if (_isOpeningComment(n)) {
2828
let i18n = (<HtmlCommentAst>n).value.substring(5).trim();
2929
i++;

modules/@angular/compiler/src/i18n/xmb_serializer.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export function deserializeXmb(content: string, url: string): XmbDeserialization
4040
}
4141

4242
let bundleEl = <HtmlElementAst>parsed.rootNodes[0]; // test this
43-
let errors: any[] /** TODO #9100 */ = [];
43+
let errors: ParseError[] = [];
4444
let messages: {[key: string]: HtmlAst[]} = {};
4545

4646
_createMessages(bundleEl.children, messages, errors);
@@ -90,7 +90,7 @@ function _serializeMessage(m: Message): string {
9090
}
9191

9292
function _expandPlaceholder(input: string): string {
93-
return RegExpWrapper.replaceAll(_PLACEHOLDER_REGEXP, input, (match: any /** TODO #9100 */) => {
93+
return RegExpWrapper.replaceAll(_PLACEHOLDER_REGEXP, input, (match: string[]) => {
9494
let nameWithQuotes = match[2];
9595
return `<ph name=${nameWithQuotes}></ph>`;
9696
});

modules/@angular/compiler/src/metadata_resolver.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ export class CompileMetadataResolver {
9696
var meta = this._directiveCache.get(directiveType);
9797
if (isBlank(meta)) {
9898
var dirMeta = this._directiveResolver.resolve(directiveType);
99-
var templateMeta: any /** TODO #9100 */ = null;
99+
var templateMeta: cpl.CompileTemplateMetadata = null;
100100
var changeDetectionStrategy: any /** TODO #9100 */ = null;
101101
var viewProviders: any[] /** TODO #9100 */ = [];
102102
var moduleUrl = staticTypeModuleUrl(directiveType);

0 commit comments

Comments
 (0)