Name

Routines — This tag records each routine declared in the source file.

Synopsis


ro#[id] [name]
rloc {Location}
rsig ty#[type]
rlink [link]
rkind [kind]
rvirt [virtual]
rgroup gr#[groupId]
racs [access]
rnspace na#[namespaceId]
rroutine [parentRoutineId]
ralias ro#[aliasId]
rimpl ro#[implementsId]
[rstatic]
[rcrvo]
[rinline]
[rexpl]
rtempl te#[templateId]
[rspecl]
[rarginfo]
[rrec]
[riselem]
rstart {Location}
rcall ro#[calleeId] [virtualCall] {Location}
[...]
rret {Location}
[...]
rstop {Location}
[...]
rbody st#[body]
{Statements}
[...]
rpos {Location} {Location} {Location}
{Location}     

Definition

[id] Unique number identifying this routine. [name] The name given this routine in the source file.
{Location} The location of this routine in the source file.
[type] The id of the tag in the pdb file that defines the type of this Routine.
[link] The kind of link this is either: NA, INTERNAL, C, C++, FINT, F90.
[kind] The kind of Routine this is either: NA (not defined), ext (external), tproto (template/protoype), fext (Fortran external), fprog (Fortran program), fbdat (Fortran block data), fint (Fortran internal), fstfu (Fortran statement function), fintrin (Fortran intrinsic), fmproc (Fortran module procedure), funspec (Fortran unspecified).
[virtual] Either yes or no.
[groupId] The Id. for this routines parent class.
[access] The access level for this routine.
[namespaceId] Id. for the Parent namespace.
[parentRoutineId] Id. for the Parent routine.
[aliasId] Id. for this routines alias (through interface).
[implementsId] Id. for the routine this routine implements (for Fortran alaised functions.)
[rstatic] rstatic if this routine is static. (Ommit line otherwise)
[rcrvo] rcrvo if this routine has a covarient return virtual override
[rinline] rinline if this routine is inlined, ommit this line otherwise.
[rexpl] rexpl if this routine is explicit ctor ommit otherwise.
[templateId] Id for the template, if this routine implements one, ommit otherwise.
[rspecl] rspecl if this routine is specialized
[rarginfo] rarginfo if this routine explicatly defined interface.
[rrec] rrec if this routine is declared recursive.
[riselem] riselem if this routine is elemental.
{Location} The location of the first executable statement.
[calleeId]The Id. that defines the type of the routine this routine calles.[virtualCall] Is this call virtual. {Location} The location of this routine call in this routine.
{Location} Location of the return statements.
{Location} The location of the stop statements.
[body]Id. of the first statement in the body of this Routine.
{statements} Each statement inside the body of this Routine.
{Location} {Location} {Location} {Location} Four location tags, in order, the begining of the Routine declaration, the ending of the Routine declaration, the begining of the Routine body, and lastly the ending of the Routine body.