=== tests/cases/compiler/sourceMapValidationDecorators.ts === declare function ClassDecorator1(target: Function): void; >ClassDecorator1 : (target: Function) => void >target : Function >Function : Function declare function ClassDecorator2(x: number): (target: Function) => void; >ClassDecorator2 : (x: number) => (target: Function) => void >x : number >target : Function >Function : Function declare function PropertyDecorator1(target: Object, key: string | symbol, descriptor?: PropertyDescriptor): void; >PropertyDecorator1 : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void >target : Object >Object : Object >key : string | symbol >descriptor : PropertyDescriptor >PropertyDescriptor : PropertyDescriptor declare function PropertyDecorator2(x: number): (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void; >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void >x : number >target : Object >Object : Object >key : string | symbol >descriptor : PropertyDescriptor >PropertyDescriptor : PropertyDescriptor declare function ParameterDecorator1(target: Object, key: string | symbol, paramIndex: number): void; >ParameterDecorator1 : (target: Object, key: string | symbol, paramIndex: number) => void >target : Object >Object : Object >key : string | symbol >paramIndex : number declare function ParameterDecorator2(x: number): (target: Object, key: string | symbol, paramIndex: number) => void; >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void >x : number >target : Object >Object : Object >key : string | symbol >paramIndex : number @ClassDecorator1 >ClassDecorator1 : (target: Function) => void @ClassDecorator2(10) >ClassDecorator2(10) : (target: Function) => void >ClassDecorator2 : (x: number) => (target: Function) => void >10 : number class Greeter { >Greeter : Greeter constructor( @ParameterDecorator1 >ParameterDecorator1 : (target: Object, key: string | symbol, paramIndex: number) => void @ParameterDecorator2(20) >ParameterDecorator2(20) : (target: Object, key: string | symbol, paramIndex: number) => void >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void >20 : number public greeting: string, >greeting : string @ParameterDecorator1 >ParameterDecorator1 : (target: Object, key: string | symbol, paramIndex: number) => void @ParameterDecorator2(30) >ParameterDecorator2(30) : (target: Object, key: string | symbol, paramIndex: number) => void >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void >30 : number ...b: string[]) { >b : string[] } @PropertyDecorator1 >PropertyDecorator1 : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void @PropertyDecorator2(40) >PropertyDecorator2(40) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void >40 : number greet() { >greet : () => string return "