Declaration model for callable constructors, for example

    class WithConstructors {
        shared new () {}
        shared new clone(WithConstructors other) {}

    // ...

    CallableConstructorDeclaration default = `new WithConstructors`;
    CallableConstructorDeclaration clone = `new WithConstructors.clone`;

The initializer of a class with a parameter list can also be represented as a `CallableConstructorDeclaration`.

See also `ValueConstructorDeclaration`

no type hierarchy

- `CallableConstructorDeclaration`
  - `ConstructorDeclaration`
    - `NestableDeclaration`
      - `AnnotatedDeclaration`
        - `Annotated`
        - `Declaration`
      - `TypedDeclaration`
  - `FunctionalDeclaration`
    - `GenericDeclaration`

no subtypes hierarchy

Attributes
`abstract` | Source Code `shared formal Boolean abstract` True if the constructor has an abstract annotation.
`container` | Source Code `shared formal ClassDeclaration container` The class this constructor constructs Refines `NestableDeclaration.container`
`defaultConstructor` | Source Code `shared formal Boolean defaultConstructor` Whether this is the default constructor. The default constructor of a class is the constructor with no name.

Inherited Attributes
Attributes inherited from: `Object` `hash`, `string`
Attributes inherited from: `Declaration` `name`, `qualifiedName`
Attributes inherited from: `FunctionalDeclaration` `annotation`, `parameterDeclarations`
Attributes inherited from: `GenericDeclaration` `typeParameterDeclarations`
Attributes inherited from: `NestableDeclaration` `actual`, `container`, `containingModule`, `containingPackage`, `default`, `formal`, `shared`, `toplevel`
Attributes inherited from: `TypedDeclaration` `openType`

Methods
`apply` | Source Code `shared formal CallableConstructor<Result,Arguments> apply<Result = Object, Arguments = Nothing>(Type<Anything>[] typeArguments) given Arguments satisfies Anything[]` Applies the given closed type arguments to the declaration of the class enclosing this constructor declaration, returning a function model for the constructor Refines `FunctionalDeclaration.apply`
`invoke` | Source Code `shared formal Object invoke(Type<Anything>[] typeArguments, Anything[] arguments)` Invokes the underlying toplevel function, by applying the specified type arguments and value arguments. Refines `FunctionalDeclaration.invoke`
`memberApply` | Source Code `shared formal MemberClassCallableConstructor<Container,Result,Arguments> memberApply<Container = Nothing, Result = Object, Arguments = Nothing>(Type<Object> containerType, Type<Anything>[] typeArguments) given Arguments satisfies Anything[]` Applies the given closed type arguments to the declaration of the member class enclosing this constructor declaration, returning a method model for the constructor Refines `FunctionalDeclaration.memberApply`
`memberInvoke` | Source Code `shared formal Object memberInvoke(Object container, Type<Anything>[] typeArguments, Anything[] arguments)` Invokes the underlying method, by applying the specified type arguments and value arguments. Refines `FunctionalDeclaration.memberInvoke`

Inherited Methods
Methods inherited from: `Object` `equals()`
Methods inherited from: `Annotated` `annotated()`
Methods inherited from: `AnnotatedDeclaration` `annotations()`
Methods inherited from: `FunctionalDeclaration` `apply()`, `getParameterDeclaration()`, `invoke()`, `memberApply()`, `memberInvoke()`
Methods inherited from: `GenericDeclaration` `getTypeParameterDeclaration()`