org.eclipse.wst.jsdt.core.ast

## Interface IAbstractFunctionDeclaration

All Superinterfaces:
  IASTNode, IProgramElement, IStatement

All Known Subinterfaces:
  IConstructorDeclaration, IFunctionDeclaration

    public interface IAbstractFunctionDeclaration
    extends IStatement

Abstract representation of a Function declaration.

This interface is not intended to be implemented by clients.

Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

### Field Summary

### Fields inherited from interface org.eclipse.wst.jsdt.core.ast.IASTNode

`ABSTRACT_FUNCTION_DECLARATION, ABSTRACT_VARIABLE_DECLARATION, ALLOCATION_EXPRESSION, AND_AND_EXPRESSION, ARGUMENT, ARRAY_ALLOCATION_EXPRESSION, ARRAY_INITIALIZER, ARRAY_QUALIFIED_TYPE_REFERENCE, ARRAY_REFERENCE, ARRAY_TYPE_REFERENCE, ASSIGNMENT, AST_NODE, BINARY_EXPRESSION, BLOCK, BRANCH_STATEMENT, BREAK_STATEMENT, CASE_STATEMENT, CHAR_LITERAL, CL_INIT, CLASS_LITERAL_ACCESS, COMBINED_BINARY_EXPRESSION, COMPOUND_ASSIGNMENT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_DECLARATION, CONTINUE_STATEMENT, DO_STATEMENT, DOUBLE_LITERAL, EMPTY_EXPRESSION, EMPTY_STATEMENT, EQUAL_EXPRESSION, EXPLICIT_CONSTRUCTOR_CALL, EXPRESSION, EXTENDED_STRING_LITERAL, FALSE_LITERAL, FIELD_DECLARATION, FIELD_REFERENCE, FLOAT_LITERAL, FOR_EACH_STATEMENT, FOR_IN_STATEMENT, FOR_STATEMENT, FUNCTION_CALL, FUNCTION_DECLARATION, FUNCTION_EXPRESSION, IF_STATEMENT, IMPORT_REFERENCE, INITIALIZER, INSTANCEOF_EXPRESSION, INT_LITERAL, INT_LITERAL_MIN_VALUE, JSDOC, JSDOC_ALLOCATION_EXPRESSION, JSDOC_ARGUMENTEXPRESSION, JSDOC_ARRAY_QUALIFIED_TYPE_REFERENCE, JSDOC_ARRAY_SINGLE_TYPE_REFERENCE, JSDOC_FIELD_REFERENCE, JSDOC_IMPLICIT_TYPE_REFERENCE, JSDOC_MESSAGE_SEND, JSDOC_QUALIFIED_TYPE_REFERENCE, JSDOC_RETURN_STATEMENT, JSDOC_SINGLE_NAME_REFERENCE, JSDOC_SINGLE_TYPE_REFERENCE, LABELED_STATEMENT, LIST_EXPRESSION, LITERAL, LOCAL_DECLARATION, LONG_LITERAL, LONG_LITERAL_MIN_VALUE, MAGIC_LITERAL, NAME_REFERENCE, NULL_LITERAL, NUMBER_LITERAL, OBJECT_GETTER_SETTER_FIELD, OBJECT_LITERAL, OBJECT_LITERAL_FIELD, OPERATOR_EXPRESSION, OR_OR_EXPRESSION, PARAMETERIZED_QUALIFIED_TYPE_REFERENCE, PARAMETERIZED_SINGLE_TYPE_REFERENCE, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PROGRAM_ELEMENT, QUALIFIED_ALLOCATION_EXPRESSION, QUALIFIED_NAME_REFERENCE, QUALIFIED_SUPER_REFERENCE, QUALIFIED_THIS_REFERENCE, QUALIFIED_TYPE_REFERENCE, REFERENCE, REG_EX_LITERAL, RETURN_STATEMENT, SCRIPT_FILE_DECLARATION, SINGLE_NAME_REFERENCE, SINGLE_TYPE_REFERENCE, STATEMENT, STRING_LITERAL, STRING_LITERAL_CONCATENATION, SUB_ROUTINE_STATEMENT, SUPER_REFERENCE, SWITCH_STATEMENT, THIS_REFERENCE, THROW_STATEMENT, TRUE_LITERAL, TRY_STATEMENT, TYPE_DECLARATION, TYPE_PARAMETER, TYPE_REFERENCE, UNARY_EXPRESSION, UNDEFINED_LITERAL, WHILE_STATEMENT, WITH_STATEMENT`

### Method Summary

All Methods Instance Methods Abstract Methods
`IArgument[]` `getArguments()` Get the function arguments
`InferredMethod` `getInferredMethod()` Get the Inferred method associated with this function
`InferredType` `getInferredType()` Get the inferred return type for the function
`IJsDoc` `getJsDoc()` Get the function jsdoc
`char[]` `getName()` Get the function name
`IProgramElement[]` `getStatements()` Get the function statements
`void` `setArguments(IArgument[] args)` Set the function arguments
`void` `setInferredType(InferredType type)` Set the inferred return type

### Methods inherited from interface org.eclipse.wst.jsdt.core.ast.IASTNode

`getASTType, sourceEnd, sourceStart, traverse`

### Method Detail

#### setArguments

    void setArguments(IArgument[] args)

Set the function arguments

Parameters:
  `args` - IArgument[]

#### getArguments

    IArgument[] getArguments()

Get the function arguments

Returns:
  arguments

#### getJsDoc

    IJsDoc getJsDoc()

Get the function jsdoc

Returns:
  jsdoc

#### getStatements

    IProgramElement[] getStatements()

Get the function statements

Returns:
  statements

#### getName

    char[] getName()

Get the function name

Returns:
  name

#### setInferredType

    void setInferredType(InferredType type)

Set the inferred return type

Parameters:
  `inferred` - return type

#### getInferredType

    InferredType getInferredType()

Get the inferred return type for the function

Returns:
  inferred type

#### getInferredMethod

    InferredMethod getInferredMethod()

Get the Inferred method associated with this function

Returns: