Sirtaj Singh Kang <taj@kde.org>, Dec 1998.
readSourceLine
Returns a raw line read from the current input file.
This is used by routines outside main, since I don t know
how to share fds.
readCxxLine
Reads a C++ source line, skipping comments, blank lines,
preprocessor tokens and the Q_OBJECT macro
readCxxCodeBlock
Reads a C++ code block (recursive curlies), returning the last line
or undef on error.
Parameters: none
readDecl
Returns a declaration and sets the $declNodeType variable.
A decl starts with a type or keyword and ends with [{};]
The entire decl is returned in a single line, sans newlines.
declNodeType values: undef for error, "a" for access specifier,
"c" for doc comment, "d" for other decls.
readCxxLine is used to read the declaration.
getRoot
Return a root node for the given type of input file.
identifyDecl
Parameters: decl
Identifies a declaration returned by readDecl. If a code block
needs to be skipped, this subroutine returns a 1, or 0 otherwise.
newEnum
Reads the parameters of an enumeration.
Returns the parameters, or undef on error.
initEnum
Parameters: name, (ref) params
Returns an initialized enum node.
newIDLstruct
Parameters: type, name, forward, complete, inherits...
Handles an IDL structure definition (ie module, interface,
exception).
newClass
Parameters: tmplArgs, cNodeType, name, endTag, @inheritlist
Handles a class declaration (also fwd decls).
parseInheritance
Param: inheritance decl string
Returns: list of superclasses (template decls included)
This will fail if < and > appear in strings in the decl.
newNamespace
Param: namespace name.
Returns nothing.
Imports a namespace into the current node, for ref searches etc.
Triggered by "using namespace ..."
newTypedef
Parameters: realtype, name
Handles a type definition.
newTypedefComp
Params: realtype, name endtoken
Creates a new compound type definition.
newMethod
Parameters: retType, name, params, const, pure?
Handles a new method declaration or definition.
makeParamList
Parameters:
* method (or enum) node
* string containing the whole param list
* 1 for enums
Adds a property "ParamList" to the method node.
This property contains a list of nodes, one for each parameter.
Each parameter node has the following properties:
* ArgType the type of the argument, e.g. const QString&
* ArgName the name of the argument - optionnal
* DefaultValue the default value of the argument - optionnal
For enum values, ArgType is unset, ArgName is the name, DefaultValue its value.
Author: David Faure <david@mandrakesoft.com>
newAccess
Parameters: access
Sets the default "Access" specifier for the current class node. If
the access is a "slot" type, "_slots" is appended to the access
string.
newVar
Parameters: type, name, value
New variable. Value is ignored if undef
show_usage
Display usage information and quit.
show_version
Display short version information and quit.