| import ceylon.language.meta.model{ |
| Type, |
| Function, |
| Method |
| } |
| |
| """Abstraction over declarations which can be invoked, namely functions, methods and constructors """ |
| shared sealed interface FunctionDeclaration |
| satisfies FunctionOrValueDeclaration & FunctionalDeclaration { |
| |
| shared actual formal Function<Return, Arguments> apply<Return=Anything, Arguments=Nothing>(Type<>* typeArguments) |
| given Arguments satisfies Anything[]; |
| |
| shared actual formal Method<Container, Return, Arguments> memberApply<Container=Nothing, Return=Anything, Arguments=Nothing>(Type<Object> containerType, Type<>* typeArguments) |
| given Arguments satisfies Anything[]; |
| } |
| |