=== 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 "

" + this.greeting + "

"; >"

" + this.greeting + "

" : string >"

" + this.greeting : string >"

" : string >this.greeting : string >this : Greeter >greeting : string >"

" : string } @PropertyDecorator1 >PropertyDecorator1 : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void @PropertyDecorator2(50) >PropertyDecorator2(50) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void >50 : number private x: string; >x : string @PropertyDecorator1 >PropertyDecorator1 : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void @PropertyDecorator2(60) >PropertyDecorator2(60) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void >60 : number private static x1: number = 10; >x1 : number >10 : number private fn( >fn : (x: number) => string @ParameterDecorator1 >ParameterDecorator1 : (target: Object, key: string | symbol, paramIndex: number) => void @ParameterDecorator2(70) >ParameterDecorator2(70) : (target: Object, key: string | symbol, paramIndex: number) => void >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void >70 : number x: number) { >x : number return this.greeting; >this.greeting : string >this : Greeter >greeting : string } @PropertyDecorator1 >PropertyDecorator1 : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void @PropertyDecorator2(80) >PropertyDecorator2(80) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void >80 : number get greetings() { >greetings : string return this.greeting; >this.greeting : string >this : Greeter >greeting : string } set greetings( >greetings : string @ParameterDecorator1 >ParameterDecorator1 : (target: Object, key: string | symbol, paramIndex: number) => void @ParameterDecorator2(90) >ParameterDecorator2(90) : (target: Object, key: string | symbol, paramIndex: number) => void >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void >90 : number greetings: string) { >greetings : string this.greeting = greetings; >this.greeting = greetings : string >this.greeting : string >this : Greeter >greeting : string >greetings : string } }