• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdevelop API Reference
  • KDE Home
  • Contact Us
 

kdevplatform/language/duchain

  • KDevelop
  • AbstractFunctionDeclaration
Public Types | Public Member Functions | List of all members
KDevelop::AbstractFunctionDeclaration Class Referenceabstract

#include <abstractfunctiondeclaration.h>

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

Public Types

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

Public Member Functions

virtual ~AbstractFunctionDeclaration ()
 
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 setInternalFunctionContext (DUContext *context)
 
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 48 of file abstractfunctiondeclaration.h.

Member Enumeration Documentation

◆ FunctionSpecifier

enum KDevelop::AbstractFunctionDeclaration::FunctionSpecifier
Enumerator
VirtualSpecifier 

indicates a virtual function

InlineSpecifier 

indicates a inline function

ExplicitSpecifier 

indicates a explicit function

Definition at line 53 of file abstractfunctiondeclaration.h.

Constructor & Destructor Documentation

◆ ~AbstractFunctionDeclaration()

KDevelop::AbstractFunctionDeclaration::~AbstractFunctionDeclaration ( )
virtual

Definition at line 28 of file abstractfunctiondeclaration.cpp.

Member Function Documentation

◆ addDefaultParameter()

virtual void KDevelop::AbstractFunctionDeclaration::addDefaultParameter ( const IndexedString &  str)
pure virtual

◆ clearDefaultParameters()

virtual void KDevelop::AbstractFunctionDeclaration::clearDefaultParameters ( )
pure virtual

◆ defaultParameterForArgument()

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 69 of file abstractfunctiondeclaration.cpp.

◆ defaultParameters()

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.

◆ defaultParametersSize()

virtual unsigned int KDevelop::AbstractFunctionDeclaration::defaultParametersSize ( ) const
pure virtual

◆ internalFunctionContext()

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

Return the DUContext::Function type ducontext (the function parameter context) of this function Same as internalContext if the function has no definition.

Definition at line 86 of file abstractfunctiondeclaration.cpp.

◆ isExplicit()

bool KDevelop::AbstractFunctionDeclaration::isExplicit ( ) const

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

Definition at line 52 of file abstractfunctiondeclaration.cpp.

◆ isInline()

bool KDevelop::AbstractFunctionDeclaration::isInline ( ) const

Definition at line 42 of file abstractfunctiondeclaration.cpp.

◆ isVirtual()

bool KDevelop::AbstractFunctionDeclaration::isVirtual ( ) const

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

Definition at line 32 of file abstractfunctiondeclaration.cpp.

◆ setExplicit()

void KDevelop::AbstractFunctionDeclaration::setExplicit ( bool  isExplicit)

Definition at line 57 of file abstractfunctiondeclaration.cpp.

◆ setFunctionSpecifiers()

void KDevelop::AbstractFunctionDeclaration::setFunctionSpecifiers ( FunctionSpecifiers  specifiers)

Definition at line 62 of file abstractfunctiondeclaration.cpp.

◆ setInline()

void KDevelop::AbstractFunctionDeclaration::setInline ( bool  isInline)

Definition at line 47 of file abstractfunctiondeclaration.cpp.

◆ setInternalFunctionContext()

void KDevelop::AbstractFunctionDeclaration::setInternalFunctionContext ( DUContext *  context)

Definition at line 81 of file abstractfunctiondeclaration.cpp.

◆ setVirtual()

void KDevelop::AbstractFunctionDeclaration::setVirtual ( bool  isVirtual)

Definition at line 37 of file abstractfunctiondeclaration.cpp.


The documentation for this class was generated from the following files:
  • abstractfunctiondeclaration.h
  • abstractfunctiondeclaration.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Wed Mar 3 2021 00:37:28 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kdevplatform/language/duchain

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

kdevelop API Reference

Skip menu "kdevelop API Reference"
  • kdevplatform
  •   debugger
  •   documentation
  •   interfaces
  •   language
  •     assistant
  •     backgroundparser
  •     checks
  •     classmodel
  •     codecompletion
  •     codegen
  •     duchain
  •     editor
  •     highlighting
  •     interfaces
  •     util
  •   outputview
  •   project
  •   serialization
  •   shell
  •   sublime
  •   tests
  •   util
  •   vcs

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal