1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
=== tests/cases/compiler/arrayAssignmentTest5.ts ===
module Test {
>Test : typeof Test
interface IState {
}
interface IToken {
startIndex: number;
>startIndex : number
}
interface IStateToken extends IToken {
state: IState;
>state : IState
}
interface ILineTokens {
tokens: IToken[];
>tokens : IToken[]
endState: IState;
>endState : IState
}
interface IAction {
}
interface IMode {
onEnter(line:string, state:IState, offset:number):IAction;
>onEnter : (line: string, state: IState, offset: number) => IAction
>line : string
>state : IState
>offset : number
tokenize(line:string, state:IState, includeStates:boolean):ILineTokens;
>tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens
>line : string
>state : IState
>includeStates : boolean
}
export class Bug implements IMode {
>Bug : Bug
public onEnter(line:string, state:IState, offset:number):IAction {
>onEnter : (line: string, state: IState, offset: number) => IAction
>line : string
>state : IState
>offset : number
var lineTokens:ILineTokens= this.tokenize(line, state, true);
>lineTokens : ILineTokens
>this.tokenize(line, state, true) : ILineTokens
>this.tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens
>this : this
>tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens
>line : string
>state : IState
>true : true
var tokens:IStateToken[]= lineTokens.tokens;
>tokens : IStateToken[]
>lineTokens.tokens : IToken[]
>lineTokens : ILineTokens
>tokens : IToken[]
if (tokens.length === 0) {
>tokens.length === 0 : boolean
>tokens.length : number
>tokens : IStateToken[]
>length : number
>0 : 0
return this.onEnter(line, tokens, offset); // <== this should produce an error since onEnter can not be called with (string, IStateToken[], offset)
>this.onEnter(line, tokens, offset) : IAction
>this.onEnter : (line: string, state: IState, offset: number) => IAction
>this : this
>onEnter : (line: string, state: IState, offset: number) => IAction
>line : string
>tokens : IStateToken[]
>offset : number
}
}
public tokenize(line:string, state:IState, includeStates:boolean):ILineTokens {
>tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens
>line : string
>state : IState
>includeStates : boolean
return null;
>null : null
}
}
}
|