functions
KlasseFunction

This is the common supertype for any kind of function.

Attribute
<Class> ThrowTypeAccess throwTypeAccesses throwTypeAccesses

This property represents a list of ThrowTypeAccesses of this function.

<Class> Access accesses accesses

This property represents a list of all accesses, which are contained within this function, inclusive ThrowTypeAccesses and return type declarations. It is derived from the statements within the function body and from the signature.

<Primitive Type> Unlimited Natural numberOfStatements numberOfStatements

This property represents the number of statements within this function.

<Primitive Type> Unlimited Natural maximumNestingLevel maximumNestingLevel

This property represents the maximum nesting level of the control-flow structure within the function body, with respect to the depth of encapsulation of statements.

<Primitive Type> Unlimited Natural linesOfComments linesOfComments

This property represents the number of comment lines in this function.

<Primitive Type> Unlimited Natural linesOfCode linesOfCode

This property represents the number of code lines in this function.

<Primitive Type> Unlimited Natural numberOfEdgesInCFG numberOfEdgesInCFG

This property represents the number of edges in the control-flow graph of the function.

<Primitive Type> Unlimited Natural numberOfNodesInCFG numberOfNodesInCFG

This property represents the number of nodes in the control-flow graph of the function.

<Primitive Type> Boolean operator operator

This property is true if the function is an operator. Operators are modelled as functions and their usage is modelled as FunctionAccess.

<Class> FormalParameter formalParameters formalParameters

This property represents a list of the formal parameters of the function.

<Class> BlockStatement body body

This property represents a reference to the BlockStatement which contains the function body. This property can be empty in case of an abstract function.

<Class> LocalVariable localVariables localVariables

This property represents a list of local variables declared within this function.

<Class> GASTClass localClasses localClasses

This property represents a list of local classes which are declared within this function.

<Class> CatchParameter catchParameters catchParameters

This property represents a list of catch parameters which are handled within the function body.

<Class> DeclarationTypeAccess returnTypeDeclaration returnTypeDeclaration

This property represents a TypeAccess which points to the declared return type of the function.

!!TableHeading.InheritedAttributes!!gast::core::NamedModelElement gast::core::NamedModelElement
simpleName simpleName

!!TableHeading.InheritedAttributes!!gast::core::SourceEntity gast::core::SourceEntity
position position

!!TableHeading.InheritedAttributes!!gast::core::ModelElement gast::core::ModelElement
annotations annotations, status status, uniqueId uniqueId

!!TableHeading.InheritedOperations!!gast::core::NamedModelElement gast::core::NamedModelElement

!!TableHeading.InheritedOperations!!gast::core::SourceEntity gast::core::SourceEntity

!!TableHeading.InheritedOperations!!gast::core::ModelElement gast::core::ModelElement

Eigenschaften:

Alias
Classifier Behavior
Is Abstracttrue
Is Activefalse
Is Leaffalse
Keywords
NameFunction
Name Expression
Namespace<<ePackage>> <Package> functions
Owned Template Signature
Owner<<ePackage>> <Package> functions
Owning Template Parameter
Package<<ePackage>> <Package> functions
Qualified Namegast::functions::Function
Representation
Stereotype
Template Parameter
VisibilityPublic

Details für Attribute

 accesses
Public <Class> Access accesses

This property represents a list of all accesses, which are contained within this function, inclusive ThrowTypeAccesses and return type declarations. It is derived from the statements within the function body and from the signature.

Eigenschaften:

AggregationNone
Alias
Association
Association End
attributeName
Class<Class> Function
Datatype
Default
Default Value
Is Compositefalse
Is Derivedtrue
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
isIDFalse
isTransientTrue
isUnsettableTrue
isVolatileTrue
Keywords
Lower0
Lower Value<Literal Integer> 0
Multiplicity*
Nameaccesses
Name Expression
Namespace<Class> Function
Opposite
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::accesses
StereotypeeAttribute
Template Parameter
Type<Class> Access
Upper*
Upper Value<Literal Unlimited Natural> *
visibility0 - Unspecified
VisibilityPublic
xmlFeatureKind0 - Unspecified
xmlName
xmlNamespace


 body
Public <Class> BlockStatement body

This property represents a reference to the BlockStatement which contains the function body. This property can be empty in case of an abstract function.

Eigenschaften:

AggregationComposite
Alias
Association<Association> A_body_surroundingFunction
Association End
Class<Class> Function
Datatype
Default
Default Value
Is Compositetrue
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value<Literal Integer> 0
Multiplicity0..1
Namebody
Name Expression
Namespace<Class> Function
Opposite<Property> surroundingFunction : Function
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::body
Stereotype
Template Parameter
Type<Class> BlockStatement
Upper1
Upper Value<Literal Unlimited Natural> 1
VisibilityPublic


 catchParameters
Public <Class> CatchParameter catchParameters

This property represents a list of catch parameters which are handled within the function body.

Eigenschaften:

AggregationComposite
Alias
Association<Association> A_catchParameters_surroundingFunction
Association End
Class<Class> Function
Datatype
Default
Default Value
Is Compositetrue
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value<Literal Integer> 0
Multiplicity*
NamecatchParameters
Name Expression
Namespace<Class> Function
Opposite<Property> surroundingFunction : Function
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::catchParameters
Stereotype
Template Parameter
Type<Class> CatchParameter
Upper*
Upper Value<Literal Unlimited Natural> *
VisibilityPublic


 formalParameters
Public <Class> FormalParameter formalParameters

This property represents a list of the formal parameters of the function.

Eigenschaften:

AggregationComposite
Alias
Association<Association> A_formalParameters_surroundingFunction
Association End
Class<Class> Function
Datatype
Default
Default Value
Is Compositetrue
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value<Literal Integer> 0
Multiplicity*
NameformalParameters
Name Expression
Namespace<Class> Function
Opposite<Property> surroundingFunction : Function
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::formalParameters
Stereotype
Template Parameter
Type<Class> FormalParameter
Upper*
Upper Value<Literal Unlimited Natural> *
VisibilityPublic


 linesOfCode
Public <Primitive Type> Unlimited Natural linesOfCode

This property represents the number of code lines in this function.

Eigenschaften:

AggregationNone
Alias
Association
Association End
Class<Class> Function
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower1
Lower Value
Multiplicity1
NamelinesOfCode
Name Expression
Namespace<Class> Function
Opposite
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::linesOfCode
Stereotype
Template Parameter
Type<Primitive Type> Unlimited Natural
Upper1
Upper Value
VisibilityPublic


 linesOfComments
Public <Primitive Type> Unlimited Natural linesOfComments

This property represents the number of comment lines in this function.

Eigenschaften:

AggregationNone
Alias
Association
Association End
Class<Class> Function
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower1
Lower Value
Multiplicity1
NamelinesOfComments
Name Expression
Namespace<Class> Function
Opposite
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::linesOfComments
Stereotype
Template Parameter
Type<Primitive Type> Unlimited Natural
Upper1
Upper Value
VisibilityPublic


 localClasses
Public <Class> GASTClass localClasses

This property represents a list of local classes which are declared within this function.

Eigenschaften:

AggregationComposite
Alias
Association<Association> A_localClasses_function
Association End
Class<Class> Function
Datatype
Default
Default Value
Is Compositetrue
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value<Literal Integer> 0
Multiplicity*
NamelocalClasses
Name Expression
Namespace<Class> Function
Opposite
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::localClasses
Stereotype
Template Parameter
Type<Class> GASTClass
Upper*
Upper Value<Literal Unlimited Natural> *
VisibilityPublic


 localVariables
Public <Class> LocalVariable localVariables

This property represents a list of local variables declared within this function.

Eigenschaften:

AggregationComposite
Alias
Association<Association> A_localVariables_surroundingFunction
Association End
Class<Class> Function
Datatype
Default
Default Value
Is Compositetrue
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value<Literal Integer> 0
Multiplicity*
NamelocalVariables
Name Expression
Namespace<Class> Function
Opposite<Property> surroundingFunction : Function
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::localVariables
Stereotype
Template Parameter
Type<Class> LocalVariable
Upper*
Upper Value<Literal Unlimited Natural> *
VisibilityPublic


 maximumNestingLevel
Public <Primitive Type> Unlimited Natural maximumNestingLevel

This property represents the maximum nesting level of the control-flow structure within the function body, with respect to the depth of encapsulation of statements.

Eigenschaften:

AggregationNone
Alias
Association
Association End
Class<Class> Function
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower1
Lower Value
Multiplicity1
NamemaximumNestingLevel
Name Expression
Namespace<Class> Function
Opposite
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::maximumNestingLevel
Stereotype
Template Parameter
Type<Primitive Type> Unlimited Natural
Upper1
Upper Value
VisibilityPublic


 numberOfEdgesInCFG
Public <Primitive Type> Unlimited Natural numberOfEdgesInCFG

This property represents the number of edges in the control-flow graph of the function.

Eigenschaften:

AggregationNone
Alias
Association
Association End
Class<Class> Function
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower1
Lower Value
Multiplicity1
NamenumberOfEdgesInCFG
Name Expression
Namespace<Class> Function
Opposite
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::numberOfEdgesInCFG
Stereotype
Template Parameter
Type<Primitive Type> Unlimited Natural
Upper1
Upper Value
VisibilityPublic


 numberOfNodesInCFG
Public <Primitive Type> Unlimited Natural numberOfNodesInCFG

This property represents the number of nodes in the control-flow graph of the function.

Eigenschaften:

AggregationNone
Alias
Association
Association End
Class<Class> Function
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower1
Lower Value
Multiplicity1
NamenumberOfNodesInCFG
Name Expression
Namespace<Class> Function
Opposite
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::numberOfNodesInCFG
Stereotype
Template Parameter
Type<Primitive Type> Unlimited Natural
Upper1
Upper Value
VisibilityPublic


 numberOfStatements
Public <Primitive Type> Unlimited Natural numberOfStatements

This property represents the number of statements within this function.

Eigenschaften:

AggregationNone
Alias
Association
Association End
Class<Class> Function
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower1
Lower Value
Multiplicity1
NamenumberOfStatements
Name Expression
Namespace<Class> Function
Opposite
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::numberOfStatements
Stereotype
Template Parameter
Type<Primitive Type> Unlimited Natural
Upper1
Upper Value
VisibilityPublic


 operator
Public <Primitive Type> Boolean operator

This property is true if the function is an operator. Operators are modelled as functions and their usage is modelled as FunctionAccess.

Eigenschaften:

AggregationNone
Alias
Association
Association End
Class<Class> Function
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower1
Lower Value
Multiplicity1
Nameoperator
Name Expression
Namespace<Class> Function
Opposite
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::operator
Stereotype
Template Parameter
Type<Primitive Type> Boolean
Upper1
Upper Value
VisibilityPublic


 returnTypeDeclaration
Public <Class> DeclarationTypeAccess returnTypeDeclaration

This property represents a TypeAccess which points to the declared return type of the function.

Eigenschaften:

AggregationComposite
Alias
Association<Association> A_returnTypeDeclaration_function
Association End
Class<Class> Function
Datatype
Default
Default Value
Is Compositetrue
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value<Literal Integer> 0
Multiplicity0..1
NamereturnTypeDeclaration
Name Expression
Namespace<Class> Function
Opposite<Property> function : Function
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::returnTypeDeclaration
Stereotype
Template Parameter
Type<Class> DeclarationTypeAccess
Upper1
Upper Value<Literal Unlimited Natural> 1
VisibilityPublic


 throwTypeAccesses
Public <Class> ThrowTypeAccess throwTypeAccesses

This property represents a list of ThrowTypeAccesses of this function.

Eigenschaften:

AggregationNone
Alias
Association
Association End
Class<Class> Function
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value<Literal Integer> 0
Multiplicity*
NamethrowTypeAccesses
Name Expression
Namespace<Class> Function
Opposite
Owned Template Signature
Owner<Class> Function
Owning Association
Owning Template Parameter
Qualified Namegast::functions::Function::throwTypeAccesses
Stereotype
Template Parameter
Type<Class> ThrowTypeAccess
Upper*
Upper Value<Literal Unlimited Natural> *
VisibilityPublic