Declaration which can be invoked, and may have parameters. Classes and functions are functional declarations.

Note that multiple-parameter lists are not reified at runtime, so if you have a function declaration like this:

    Integer add(Integer a)(Integer b) => a + b;

It will only have a single parameter list at runtime (the first), and its return type will be `Callable<Integer,[Integer]>`.

no type hierarchy

no supertypes hierarchy

- `FunctionalDeclaration`
  - `ClassDeclaration`
  - `FunctionDeclaration`

Attributes
`annotation` | Source Code `shared formal Boolean annotation` True if the current declaration is an annotation class or function.
`parameterDeclarations` | Source Code `shared formal FunctionOrValueDeclaration[] parameterDeclarations` The list of parameter declarations for this functional declaration.

Inherited Attributes
Attributes inherited from: `Object` `Object.hash`, `Object.string`

Methods
`getParameterDeclaration` | Source Code `shared formal FunctionOrValueDeclaration? getParameterDeclaration(String name)` Gets a parameter declaration by name. Returns `null` if no such parameter exists.

Inherited Methods
Methods inherited from: `Object` `Object.equals()`