The method is called even if you don't invoke it
There's actually very little you can do with this
No observing capabilities
function parameterDecorator() { return function (target: any, methodName: string, paramIdx: number) { console.log(target, methodName, paramIdx) } } class Test { property = "property"; test( @parameterDecorator() param1: string, @parameterDecorator() param2: string ) { } }