tests/cases/compiler/potentiallyUncalledDecorators.ts(4,5): error TS1329: 'Input' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@Input()'?
tests/cases/compiler/potentiallyUncalledDecorators.ts(35,1): error TS1329: 'noArgs' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@noArgs()'?
tests/cases/compiler/potentiallyUncalledDecorators.ts(37,5): error TS1329: 'noArgs' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@noArgs()'?
tests/cases/compiler/potentiallyUncalledDecorators.ts(38,5): error TS1329: 'noArgs' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@noArgs()'?
tests/cases/compiler/potentiallyUncalledDecorators.ts(41,1): error TS1238: Unable to resolve signature of class decorator when called as an expression.
  Type 'OmniDecorator' is not assignable to type 'typeof B'.
    Type 'OmniDecorator' provides no match for the signature 'new (): B'.
tests/cases/compiler/potentiallyUncalledDecorators.ts(43,5): error TS1236: The return type of a property decorator function must be either 'void' or 'any'.
  Unable to resolve signature of property decorator when called as an expression.
tests/cases/compiler/potentiallyUncalledDecorators.ts(44,5): error TS1241: Unable to resolve signature of method decorator when called as an expression.
  Type 'OmniDecorator' has no properties in common with type 'TypedPropertyDescriptor<() => void>'.
tests/cases/compiler/potentiallyUncalledDecorators.ts(47,1): error TS1238: Unable to resolve signature of class decorator when called as an expression.
  Type 'OmniDecorator' is not assignable to type 'typeof C'.
    Type 'OmniDecorator' provides no match for the signature 'new (): C'.
tests/cases/compiler/potentiallyUncalledDecorators.ts(49,5): error TS1329: 'oneOptional' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@oneOptional()'?
tests/cases/compiler/potentiallyUncalledDecorators.ts(50,5): error TS1329: 'oneOptional' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@oneOptional()'?
tests/cases/compiler/potentiallyUncalledDecorators.ts(53,1): error TS1238: Unable to resolve signature of class decorator when called as an expression.
  Type 'OmniDecorator' is not assignable to type 'typeof D'.
    Type 'OmniDecorator' provides no match for the signature 'new (): D'.
tests/cases/compiler/potentiallyUncalledDecorators.ts(55,5): error TS1236: The return type of a property decorator function must be either 'void' or 'any'.
  Unable to resolve signature of property decorator when called as an expression.
tests/cases/compiler/potentiallyUncalledDecorators.ts(56,5): error TS1241: Unable to resolve signature of method decorator when called as an expression.
  Type 'OmniDecorator' has no properties in common with type 'TypedPropertyDescriptor<() => void>'.
tests/cases/compiler/potentiallyUncalledDecorators.ts(59,1): error TS1238: Unable to resolve signature of class decorator when called as an expression.
  Type 'OmniDecorator' is not assignable to type 'typeof E'.
    Type 'OmniDecorator' provides no match for the signature 'new (): E'.
tests/cases/compiler/potentiallyUncalledDecorators.ts(61,5): error TS1236: The return type of a property decorator function must be either 'void' or 'any'.
  Unable to resolve signature of property decorator when called as an expression.
tests/cases/compiler/potentiallyUncalledDecorators.ts(62,5): error TS1241: Unable to resolve signature of method decorator when called as an expression.
  Type 'OmniDecorator' has no properties in common with type 'TypedPropertyDescriptor<() => void>'.
tests/cases/compiler/potentiallyUncalledDecorators.ts(65,1): error TS1238: Unable to resolve signature of class decorator when called as an expression.
  Type 'OmniDecorator' is not assignable to type 'typeof F'.
    Type 'OmniDecorator' provides no match for the signature 'new (): F'.
tests/cases/compiler/potentiallyUncalledDecorators.ts(67,5): error TS1236: The return type of a property decorator function must be either 'void' or 'any'.
  Unable to resolve signature of property decorator when called as an expression.
tests/cases/compiler/potentiallyUncalledDecorators.ts(68,5): error TS1241: Unable to resolve signature of method decorator when called as an expression.
  Type 'OmniDecorator' has no properties in common with type 'TypedPropertyDescriptor<() => void>'.


==== tests/cases/compiler/potentiallyUncalledDecorators.ts (19 errors) ====
    // Angular-style Input/Output API:
    declare function Input(bindingPropertyName?: string): any;
    class FooComponent {
        @Input foo: string;
        ~~~~~~
!!! error TS1329: 'Input' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@Input()'?
    }
    
    // Glimmer-style tracked API:
    declare const tracked: PropertyDecorator & { (...watchedProperties: string[]): any; }
    
    class Person {
        @tracked person; any;
    }
    
    class MultiplyByTwo {
        args: any;
        @tracked('args')
        get multiplied() {
            return this.args.number * 2;
        }
    }
    
    // Other fun stuff.
    
    interface OmniDecorator extends MethodDecorator, ClassDecorator, PropertyDecorator {
    }
    
    declare function noArgs(): OmniDecorator;
    declare function allRest(...args: any[]): OmniDecorator;
    declare function oneOptional(x?: any): OmniDecorator;
    declare function twoOptional(x?: any, y?: any): OmniDecorator;
    declare function threeOptional(x?: any, y?: any, z?: any): OmniDecorator;
    declare function oneOptionalWithRest(x?: any, ...args: any[]): OmniDecorator;
    declare const anyDec: any;
    
    @noArgs
    ~~~~~~~
!!! error TS1329: 'noArgs' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@noArgs()'?
    class A {
        @noArgs foo: any;
        ~~~~~~~
!!! error TS1329: 'noArgs' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@noArgs()'?
        @noArgs bar() { }
        ~~~~~~~
!!! error TS1329: 'noArgs' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@noArgs()'?
    }
    
    @allRest
    ~~~~~~~~
!!! error TS1238: Unable to resolve signature of class decorator when called as an expression.
!!! error TS1238:   Type 'OmniDecorator' is not assignable to type 'typeof B'.
!!! error TS1238:     Type 'OmniDecorator' provides no match for the signature 'new (): B'.
    class B {
        @allRest foo: any;
        ~~~~~~~~
!!! error TS1236: The return type of a property decorator function must be either 'void' or 'any'.
!!! error TS1236:   Unable to resolve signature of property decorator when called as an expression.
        @allRest bar() { }
        ~~~~~~~~
!!! error TS1241: Unable to resolve signature of method decorator when called as an expression.
!!! error TS1241:   Type 'OmniDecorator' has no properties in common with type 'TypedPropertyDescriptor<() => void>'.
    }
    
    @oneOptional
    ~~~~~~~~~~~~
!!! error TS1238: Unable to resolve signature of class decorator when called as an expression.
!!! error TS1238:   Type 'OmniDecorator' is not assignable to type 'typeof C'.
!!! error TS1238:     Type 'OmniDecorator' provides no match for the signature 'new (): C'.
    class C {
        @oneOptional foo: any;
        ~~~~~~~~~~~~
!!! error TS1329: 'oneOptional' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@oneOptional()'?
        @oneOptional bar() { }
        ~~~~~~~~~~~~
!!! error TS1329: 'oneOptional' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@oneOptional()'?
    }
    
    @twoOptional
    ~~~~~~~~~~~~
!!! error TS1238: Unable to resolve signature of class decorator when called as an expression.
!!! error TS1238:   Type 'OmniDecorator' is not assignable to type 'typeof D'.
!!! error TS1238:     Type 'OmniDecorator' provides no match for the signature 'new (): D'.
    class D {
        @twoOptional foo: any;
        ~~~~~~~~~~~~
!!! error TS1236: The return type of a property decorator function must be either 'void' or 'any'.
!!! error TS1236:   Unable to resolve signature of property decorator when called as an expression.
        @twoOptional bar() { }
        ~~~~~~~~~~~~
!!! error TS1241: Unable to resolve signature of method decorator when called as an expression.
!!! error TS1241:   Type 'OmniDecorator' has no properties in common with type 'TypedPropertyDescriptor<() => void>'.
    }
    
    @threeOptional
    ~~~~~~~~~~~~~~
!!! error TS1238: Unable to resolve signature of class decorator when called as an expression.
!!! error TS1238:   Type 'OmniDecorator' is not assignable to type 'typeof E'.
!!! error TS1238:     Type 'OmniDecorator' provides no match for the signature 'new (): E'.
    class E {
        @threeOptional foo: any;
        ~~~~~~~~~~~~~~
!!! error TS1236: The return type of a property decorator function must be either 'void' or 'any'.
!!! error TS1236:   Unable to resolve signature of property decorator when called as an expression.
        @threeOptional bar() { }
        ~~~~~~~~~~~~~~
!!! error TS1241: Unable to resolve signature of method decorator when called as an expression.
!!! error TS1241:   Type 'OmniDecorator' has no properties in common with type 'TypedPropertyDescriptor<() => void>'.
    }
    
    @oneOptionalWithRest
    ~~~~~~~~~~~~~~~~~~~~
!!! error TS1238: Unable to resolve signature of class decorator when called as an expression.
!!! error TS1238:   Type 'OmniDecorator' is not assignable to type 'typeof F'.
!!! error TS1238:     Type 'OmniDecorator' provides no match for the signature 'new (): F'.
    class F {
        @oneOptionalWithRest foo: any;
        ~~~~~~~~~~~~~~~~~~~~
!!! error TS1236: The return type of a property decorator function must be either 'void' or 'any'.
!!! error TS1236:   Unable to resolve signature of property decorator when called as an expression.
        @oneOptionalWithRest bar() { }
        ~~~~~~~~~~~~~~~~~~~~
!!! error TS1241: Unable to resolve signature of method decorator when called as an expression.
!!! error TS1241:   Type 'OmniDecorator' has no properties in common with type 'TypedPropertyDescriptor<() => void>'.
    }
    
    @anyDec
    class G {
        @anyDec foo: any;
        @anyDec bar() { }
    }
    
    export { };
    