• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KJS

KJS::FunctionBodyNode

KJS::FunctionBodyNode Class Reference

#include <nodes.h>

Inheritance diagram for KJS::FunctionBodyNode:

Inheritance graph
[legend]

List of all members.


Detailed Description

This AST node corresponds to the function body in the AST, but is used to keep track of much of the information relevant to the whole function, such as parameter names and symbol tables.

This is because there are both function declarations and expressions, so there is no natural single place to put this stuff above the body

Definition at line 1096 of file nodes.h.


Public Member Functions

 FunctionBodyNode (SourceElementsNode *)
int sourceId ()
const UString & sourceURL ()
bool builtSymbolList () const
void setBuiltSymbolList ()
int numLocals () const
int getLocalAttr (int id) const
Identifier getLocalName (int id) const
FuncDeclNode * getLocalFuncDecl (int id) const
int lookupSymbolID (const Identifier &ident) const
void addParam (const Identifier &ident)
void addVarDecl (const Identifier &ident, int attr, ExecState *exec)
void addFunDecl (const Identifier &ident, int attr, FuncDeclNode *funcDecl)
int numParams () const
int paramSymbolID (int pos) const
const Identifier & paramName (int pos) const

Constructor & Destructor Documentation

KJS::FunctionBodyNode::FunctionBodyNode ( SourceElementsNode *  s  ) 

Definition at line 2777 of file nodes.cpp.


Member Function Documentation

int KJS::FunctionBodyNode::sourceId (  )  [inline]

Definition at line 1114 of file nodes.h.

const UString& KJS::FunctionBodyNode::sourceURL (  )  [inline]

Definition at line 1115 of file nodes.h.

bool KJS::FunctionBodyNode::builtSymbolList (  )  const [inline]

Definition at line 1120 of file nodes.h.

void KJS::FunctionBodyNode::setBuiltSymbolList (  )  [inline]

Definition at line 1121 of file nodes.h.

int KJS::FunctionBodyNode::numLocals (  )  const [inline]

Definition at line 1122 of file nodes.h.

int KJS::FunctionBodyNode::getLocalAttr ( int  id  )  const [inline]

Definition at line 1123 of file nodes.h.

Identifier KJS::FunctionBodyNode::getLocalName ( int  id  )  const [inline]

Definition at line 1124 of file nodes.h.

FuncDeclNode* KJS::FunctionBodyNode::getLocalFuncDecl ( int  id  )  const [inline]

Definition at line 1125 of file nodes.h.

int KJS::FunctionBodyNode::lookupSymbolID ( const Identifier &  ident  )  const

Definition at line 2834 of file nodes.cpp.

void KJS::FunctionBodyNode::addParam ( const Identifier &  ident  ) 

Definition at line 2843 of file nodes.cpp.

void KJS::FunctionBodyNode::addVarDecl ( const Identifier &  ident,
int  attr,
ExecState *  exec 
)

Definition at line 2788 of file nodes.cpp.

void KJS::FunctionBodyNode::addFunDecl ( const Identifier &  ident,
int  attr,
FuncDeclNode *  funcDecl 
)

Definition at line 2803 of file nodes.cpp.

int KJS::FunctionBodyNode::numParams (  )  const [inline]

Definition at line 1140 of file nodes.h.

int KJS::FunctionBodyNode::paramSymbolID ( int  pos  )  const [inline]

Definition at line 1141 of file nodes.h.

const Identifier& KJS::FunctionBodyNode::paramName ( int  pos  )  const [inline]

Definition at line 1142 of file nodes.h.


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

KJS

Skip menu "KJS"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • KIO
  • KIOSlave
  • KJS
  •   WTF
  • KJSEmbed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  •   core
  • Phonon
  •   Backend
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.4
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