• Skip to content
  • Skip to link menu
KDE 4.4 API Reference
  • KDE API Reference
  • KDevelop Platform Libraries
  • Sitemap
  • Contact Us
 

language/duchain

KDevelop::AbstractFunctionDeclaration

KDevelop::AbstractFunctionDeclaration Class Reference

Provides an interface to declarations which represent functions in a definition-use chain. More...

#include <abstractfunctiondeclaration.h>

Inheritance diagram for KDevelop::AbstractFunctionDeclaration:
Inheritance graph
[legend]

List of all members.

Public Types

enum  FunctionSpecifier { VirtualSpecifier = 0x1, InlineSpecifier = 0x2, ExplicitSpecifier = 0x4 }

Public Member Functions

virtual void addDefaultParameter (const IndexedString &str)=0
virtual void clearDefaultParameters ()=0
IndexedString defaultParameterForArgument (int index) const
virtual const IndexedString * defaultParameters () const =0
virtual unsigned int defaultParametersSize () const =0
DUContext * internalFunctionContext () const
bool isExplicit () const
bool isInline () const
bool isVirtual () const
void setExplicit (bool isExplicit)
void setFunctionSpecifiers (FunctionSpecifiers specifiers)
void setInline (bool isInline)
void setVirtual (bool isVirtual)

Detailed Description

Provides an interface to declarations which represent functions in a definition-use chain.

Don't inherit from this directly, use MergeAbstractFunctionDeclaration instead.

Definition at line 45 of file abstractfunctiondeclaration.h.


Member Enumeration Documentation

enum KDevelop::AbstractFunctionDeclaration::FunctionSpecifier
Enumerator:
VirtualSpecifier 

indicates a virtual function

InlineSpecifier 

indicates a inline function

ExplicitSpecifier 

indicates a explicit function

Definition at line 50 of file abstractfunctiondeclaration.h.


Member Function Documentation

IndexedString KDevelop::AbstractFunctionDeclaration::defaultParameterForArgument ( int  index  )  const

Returns the default parameter assigned to the given argument number.

This is a convenience-function.

Definition at line 67 of file abstractfunctiondeclaration.cpp.

virtual const IndexedString* KDevelop::AbstractFunctionDeclaration::defaultParameters (  )  const [pure virtual]

Returns the default-parameters that are set.

The last default-parameter matches the last argument of the function, but the returned vector will only contain default-values for those arguments that have one, for performance-reasons.

So the vector may be empty or smaller than the count of function-arguments.

DUContext * KDevelop::AbstractFunctionDeclaration::internalFunctionContext (  )  const

Conveniency function, returns the context of type DUContext::Function that is attached to this declaration This does not equal internalContext(), because internalContext() may point to the function body May return zero if no function context is attached.

Definition at line 78 of file abstractfunctiondeclaration.cpp.

bool KDevelop::AbstractFunctionDeclaration::isExplicit (  )  const

Only used for class-member function declarations(see ClassFunctionDeclaration).

Definition at line 50 of file abstractfunctiondeclaration.cpp.

bool KDevelop::AbstractFunctionDeclaration::isVirtual (  )  const

Only used for class-member function declarations(see ClassFunctionDeclaration).

Definition at line 30 of file abstractfunctiondeclaration.cpp.


The documentation for this class was generated from the following files:
  • abstractfunctiondeclaration.h
  • abstractfunctiondeclaration.cpp

language/duchain

Skip menu "language/duchain"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

KDevelop Platform Libraries

Skip menu "KDevelop Platform Libraries"
  • interfaces
  • language
  •   codegen
  •   duchain
  •   editor
  • outputview
  • project
  • shell
  • sublime
  • util
  • vcs
Generated for KDevelop Platform Libraries by doxygen 1.5.9-20090814
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal