TypeScript Version: 2.4.1
Code
namespace Config {
export interface ProblemPattern {
regexp ?: string ;
file ?: number ;
location ?: number ;
line ?: number ;
column ?: number ;
endLine ?: number ;
endColumn ?: number ;
severity ?: number ;
code ?: number ;
message ?: number ;
loop ?: boolean ;
}
export interface NamedProblemPattern extends ProblemPattern {
name : string ;
label ?: string ;
}
export type MultiLineProblemPattern = ProblemPattern [ ] ;
export interface NamedMultiLineProblemPattern {
name : string ;
label ?: string ;
patterns : MultiLineProblemPattern ;
}
}
export interface ProblemPattern {
regexp : RegExp ;
file ?: number ;
message ?: number ;
location ?: number ;
line ?: number ;
character ?: number ;
endLine ?: number ;
endCharacter ?: number ;
code ?: number ;
severity ?: number ;
loop ?: boolean ;
}
export interface NamedProblemPattern extends ProblemPattern {
name : string ;
}
export type MultiLineProblemPattern = ProblemPattern [ ] ;
export interface NamedMultiLineProblemPattern {
name : string ;
label : string ;
patterns : MultiLineProblemPattern ;
}
class Parser {
constructor ( ) { }
public parse ( value : Config . ProblemPattern ) : ProblemPattern ;
public parse ( value : Config . MultiLineProblemPattern ) : MultiLineProblemPattern [ ] ;
public parse ( value : Config . NamedProblemPattern ) : NamedProblemPattern ;
public parse ( value : Config . NamedMultiLineProblemPattern ) : NamedMultiLineProblemPattern ;
public parse ( value : Config . ProblemPattern | Config . MultiLineProblemPattern | Config . NamedProblemPattern | Config . NamedMultiLineProblemPattern ) : any {
}
}
function foo ( value : string | Config . ProblemPattern | Config . MultiLineProblemPattern ) : void {
if ( typeof value === 'string' ) {
//
} else {
let parser = new Parser ( ) ;
parser . parse ( value ) ;
}
}
Expected behavior:
No error message
Actual behavior:
Flags an error on line 73
Reactions are currently unavailable
TypeScript Version: 2.4.1
Code
Expected behavior:
No error message
Actual behavior:
Flags an error on line 73