::CLASS rexxdocument PUBLIC SUBCLASS adocument

represents a rexx document
a facade for rexxprogram, with some ids, paths and urls
plus tokenized clauses after xref runs

Requires

'hashfunction.cls' generate unique ids for html output
'rexxprogram.cls' parse rexx
'tokenizer.cls' tokenizer
'pathsep.cls' fs path separator
'classfinder.cls' class lookup
'nodes.cls' html nodes
Definition at line 110 of documents.cls

Public Methods

  clauses ()
return all clauses
  clausesat (lineno)
return all clauses on a line
queue of rdfeatures comments ()
return all comments in document
queue of rdfeatures commentsat (lineno)
return all comments at line
  featureclause (feature)
get the first clause in a feature
list of code features in the program featurelist ()
no comment
  featuresat (lineno)
return all features at line
a file or .nil findfile (f, files)
discover which file in files is closest to f by path
  getanycomment (feature)
get any available comments for feature
blockcomment object getfirstblock ()
get the first block comment in the program
  getnoppedsource (clause)
return the code for a clause, with literals set to '*'
blockcomment object getprevblock (feature)
get the block comment previous to the feature
  getsource (clause)
return the code for a clause
  init (file, basepath, globalix)
no comment
.true - program uses OORexx isoo ()
no comment
  mixedclauses ()
rdfq = .queue~new
feature - the following matching feature nextfeature (f, goodlist)
return next interesting feature
queue of rdfeatures quotes ()
return all quotes
queue of rdfeatures quotesat (lineno)
return all quotes at line
  requires ()
return all requires clauses in the document
  src ()
return program source
  xref (globalix)
cross reference the document

Public Attributes

  classix
.directory of classes as .rdclass, index name~translate
  globalix
.globalix global index
  labelix
label directory, key: label name, item: .rdclause
  procexpose
procedure level expose list directory, key: exposed var, item: .rdprocedure
  procix
.directory of procedures as .rdprocedure, index name~translate
  proclist
procedures list
  reqfiles
::requires required files
  reqrefs
::requires references
  routinix
.directory of routines as .rdprocedure, index name~translate
  rxprogram
parsed rexx program

Private Attributes

  cfeaturelist
::ATTRIBUTE docurlpre PUBLIC -- the prefix of the url the doc is written as
  clauselist
clauses as .rdclause built by xref

Public Methods inherited from adocument

  init (file, basepath)
no comment

Public Attributes inherited from adocument

  file
file object associated with document
  filename
end of file path
  filepath
canonical file path
  prefix
collapsed filename
  relpath
path relative to base path
  uniqueid
unique id for output

Public Methods mixed in from extensible

  addattribute (attrname)
add an attribute

Instantiated by

rexxliterate.cls line 354

Feature Detail

::ATTRIBUTE rxprogram
parsed rexx program
Definition at line 111 of documents.cls
Dynamically referenced by
documents.cls line 132 "self~rxprogram = .rexxprogram~new(self~filepath)"
documents.cls line 133 "self~rxprogram~user = self"
documents.cls line 152 "do c over self~rxprogram~codefeatures"
documents.cls line 256 "return \self~rxprogram~procedural"
documents.cls line 266 "if self~rxprogram~blockcomments~items > 0"
documents.cls line 268 "bc = self~rxprogram~getsource(self~rxprogram~blockcomments[1])"
documents.cls line 268 "bc = self~rxprogram~getsource(self~rxprogram~blockcomments[1])"
documents.cls line 280 "prev = self~rxprogram~getprevcomment(feature)"
documents.cls line 283 "else src = self~rxprogram~getsource(prev)"
documents.cls line 297 "lc = self~rxprogram~getlinecomment(feature)"
documents.cls line 300 "src = self~rxprogram~getsource(lc)"
documents.cls line 306 "return self~rxprogram~src"
documents.cls line 311 "return self~rxprogram~getsource(clause)"
documents.cls line 316 "return self~rxprogram~getnoppedsource(clause)"
documents.cls line 322 "do i over self~rxprogram~comments"
documents.cls line 333 "fcq = self~rxprogram~safeallat(self~rxprogram~commentmap, lineno)"
documents.cls line 333 "fcq = self~rxprogram~safeallat(self~rxprogram~commentmap, lineno)"
documents.cls line 346 "fcq = self~rxprogram~safeallat(self~rxprogram~quotemap, lineno)"
documents.cls line 346 "fcq = self~rxprogram~safeallat(self~rxprogram~quotemap, lineno)"
documents.cls line 357 "do i over self~rxprogram~quotes"
documents.cls line 367 "return self~rxproram~safeallat(self~rxprogram~codefeaturemap~allat(lineno))"
documents.cls line 373 "return self~rxprogram~getclausesat(lineno)"
documents.cls line 386 "do i over self~rxprogram~mixedclauses"
documents.cls line 397 "clauses = self~rxprogram~getclausesat(feature~startline)"
documents.cls line 409 "return self~rxprogram~requires"
documents.cls line 418 "return self~rxprogram~nextfeature(f, goodlist)"
documents.cls line 429 "do c over self~rxprogram~requires"
documents.cls line 463 "do c over self~rxprogram~mixedclauses"

::ATTRIBUTE cfeaturelist PRIVATE
::ATTRIBUTE docurlpre PUBLIC -- the prefix of the url the doc is written as
Definition at line 113 of documents.cls
Dynamically referenced by
documents.cls line 135 "self~cfeaturelist = .queue~new"
documents.cls line 158 "self~cfeaturelist~queue(rf)"
documents.cls line 173 "self~cfeaturelist~queue(rf)"
documents.cls line 182 "self~cfeaturelist~queue(rf)"
documents.cls line 191 "self~cfeaturelist~queue(rf)"
documents.cls line 204 "self~cfeaturelist~queue(rf)"
documents.cls line 215 "self~cfeaturelist~queue(rf)"
documents.cls line 223 "self~cfeaturelist~queue(rf)"
documents.cls line 229 "self~cfeaturelist~queue(rf)"
documents.cls line 236 "self~cfeaturelist~queue(rf)"
documents.cls line 260 "return self~cfeaturelist"

::ATTRIBUTE clauselist PRIVATE
clauses as .rdclause built by xref
Definition at line 114 of documents.cls
Dynamically referenced by
documents.cls line 136 "self~clauselist = .queue~new"
documents.cls line 382 "return self~clauselist"
documents.cls line 469 "self~clauselist~queue(rdl)"

::ATTRIBUTE classix
.directory of classes as .rdclass, index name~translate
Definition at line 115 of documents.cls
Dynamically referenced by
classfinder.cls line 104 "rdc = document~globalix~classix[classname]"
classfinder.cls line 121 "if document~classix~hasindex(classname)"
classfinder.cls line 124 "rdc = document~classix[classname]"
documents.cls line 137 "self~classix = .directory~new"
documents.cls line 175 "globalix~classix~put(rf, rf~rexxname~translate)"
documents.cls line 176 "self~classix~put(rf, rf~rexxname~translate)"
documents.cls line 486 "do cl over self~classix"
documents.cls line 487 "self~classix[cl]~xrefinheritance(reqfiles)"
documents.cls line 488 "self~classix[cl]~xrefexposed"
documents.cls line 775 "irdc = self~document~globalix~classix~at(m~translate)"
documents.cls line 787 "mrdc = self~document~globalix~classix~at(rdc~mixinclass~translate)"
documents.cls line 798 "srdc = self~document~globalix~classix~at(rdc~subclass~translate)"
documents.cls line 879 "if self~document~classix~hasindex(classname)"
documents.cls line 882 "rdc = self~document~classix[classname]"
documents.cls line 886 "if f~document~classix~hasindex(classname)"
documents.cls line 889 "rdc = f~document~classix[classname]"
htmlrexxclass.cls line 275 "rdc = self~htmlout~rexxliterate~globalix~classix~at(supername~translate)"
htmlrexxclass.cls line 294 "rdc = self~htmlout~rexxliterate~globalix~classix~at(mixname~translate)"
htmlrexxsource.cls line 220 "irdc = rdc~document~globalix~classix[w~translate]"

::ATTRIBUTE procix
.directory of procedures as .rdprocedure, index name~translate
Definition at line 116 of documents.cls
Dynamically referenced by
documents.cls line 138 "self~procix = .directory~new"
documents.cls line 184 "self~procix~put(rf, rf~rexxname~translate)"
documents.cls line 492 "do p over self~procix"
documents.cls line 493 "pl = self~procix[p]"
documents.cls line 670 "rdp = self~document~procix[procname]"
documents.cls line 677 "self~document~procix[procname] = rdp"

::ATTRIBUTE routinix
.directory of routines as .rdprocedure, index name~translate
Definition at line 117 of documents.cls
Dynamically referenced by
classfinder.cls line 157 "rdp = document~globalix~routinix[routinename]"
classfinder.cls line 174 "rdp = document~routinix[routinename]"
documents.cls line 139 "self~routinix = .directory~new"
documents.cls line 216 "self~routinix~put(rf, rf~rexxname~translate)"
documents.cls line 218 "globalix~routinix~put(rf, rf~rexxname~translate)"

::ATTRIBUTE reqrefs
::requires references
Definition at line 118 of documents.cls
Dynamically referenced by
documents.cls line 140 "self~reqrefs = .queue~new"
documents.cls line 450 "f~document~reqrefs~queue(.reference~new(c~user, f~document, .nil, 'REQ'))"
htmlrexxprogram.cls line 100 "if file~document~reqrefs~items > 0"
htmlrexxprogram.cls line 103 "do r over file~document~reqrefs"

::ATTRIBUTE reqfiles
::requires required files
Definition at line 119 of documents.cls
Dynamically referenced by
classfinder.cls line 79 "rdc = self~findclass(cn, d, d~reqfiles)"
classfinder.cls line 134 "rdc = self~findclassr(classname, f~document, f~document~reqfiles, seenfiles)"
classfinder.cls line 184 "rdp = self~findroutiner(routinename, f~document, f~document~reqfiles, seenfiles)"
documents.cls line 141 "self~reqfiles = .queue~new"
documents.cls line 455 "self~reqfiles = reqfiles"
documents.cls line 684 "rdp = .classfinder~findroutine(procname, self~document, self~document~reqfiles)"
documents.cls line 1131 "rdc = .classfinder~findclass(self~feature~subclass~translate, self~document, self~document~reqfiles)"
documents.cls line 1138 "rdc = .classfinder~findclass(self~feature~mixinclass~translate, self~document, self~document~reqfiles)"
documents.cls line 1147 "rdc = .classfinder~findclass(iclass, self~document, self~document~reqfiles)"
htmlrexxclass.cls line 218 "xrdc = .classfinder~findclass(w~translate, rdc~document, rdc~document~reqfiles)"
htmlrexxclass.cls line 235 "xrdc = .classfinder~findclass(w~translate, rdc~document, rdc~document~reqfiles)"
htmlrexxsource.cls line 267 "rdc = .classfinder~findclass(cn, rxdoc, rxdoc~reqfiles)"

::ATTRIBUTE globalix
.globalix global index
Definition at line 120 of documents.cls
Dynamically referenced by
classfinder.cls line 104 "rdc = document~globalix~classix[classname]"
classfinder.cls line 157 "rdp = document~globalix~routinix[routinename]"
documents.cls line 131 "self~globalix = globalix"
documents.cls line 644 "if \self~document~globalix~dynamicmethods"
documents.cls line 729 "rdma = self~document~globalix~methix~allat(meth)"
documents.cls line 743 "rdma = self~document~globalix~attrix~allat(meth)"
documents.cls line 775 "irdc = self~document~globalix~classix~at(m~translate)"
documents.cls line 787 "mrdc = self~document~globalix~classix~at(rdc~mixinclass~translate)"
documents.cls line 798 "srdc = self~document~globalix~classix~at(rdc~subclass~translate)"
htmlrexxclass.cls line 275 "rdc = self~htmlout~rexxliterate~globalix~classix~at(supername~translate)"
htmlrexxclass.cls line 294 "rdc = self~htmlout~rexxliterate~globalix~classix~at(mixname~translate)"
htmlrexxsource.cls line 220 "irdc = rdc~document~globalix~classix[w~translate]"

::ATTRIBUTE procexpose
procedure level expose list directory, key: exposed var, item: .rdprocedure
Definition at line 121 of documents.cls
Dynamically referenced by
documents.cls line 142 "self~procexpose = .directory~new"
documents.cls line 498 "if \self~procexpose~hasindex(exposed)"
documents.cls line 499 "self~procexpose[exposed] = .queue~new"
documents.cls line 500 "self~procexpose[exposed]~queue(pl)"
htmlrexxprogram.cls line 112 "if file~document~procexpose~items > 0"
htmlrexxprogram.cls line 115 "do r over file~document~procexpose"
htmlrexxprogram.cls line 116 "rq = file~document~procexpose[r]"

::ATTRIBUTE proclist
procedures list
Definition at line 122 of documents.cls
Dynamically referenced by
documents.cls line 143 "self~proclist = .queue~new"
documents.cls line 494 "self~proclist~queue(pl)"
documents.cls line 678 "self~document~proclist~queue(rdp)"
htmlrexxprogram.cls line 108 "if file~document~proclist~items > 0"
htmlrexxprogram.cls line 109 "self~featsumm(sortq(file~document~proclist), 'Procedures', tp)"

::ATTRIBUTE labelix
label directory, key: label name, item: .rdclause
Definition at line 123 of documents.cls
Dynamically referenced by
documents.cls line 144 "self~labelix = .directory~new"
documents.cls line 160 "self~labelix[rf~rexxname~translate] = rf"
documents.cls line 673 "rdp = self~document~labelix[procname]"

::METHOD init
Parameters
file - associated file object
basepath - the path to the file object
globalix - global index object
Definition at line 128 of documents.cls

::METHOD isoo
Returns
.true - program uses OORexx
.false - program uses Classic Rexx
Definition at line 255 of documents.cls
Dynamically referenced by
htmlindex.cls line 109 "if i~document~isoo"
htmlindex.cls line 149 "if \i~document~isoo"
htmlrexxprogram.cls line 91 "if file~document~isoo"
htmltree.cls line 194 "if i~document~isoo"

::METHOD featurelist
Returns
list of code features in the program
Definition at line 259 of documents.cls
Dynamically referenced by
htmlindex.cls line 103 "if i~document~featurelist~items < 1"
htmlindex.cls line 106 "if i~document~featurelist[1]~rexxname <> '--entry_proc'"
htmlindex.cls line 143 "if i~document~featurelist~items < 1"
htmlindex.cls line 146 "if i~document~featurelist[1]~rexxname <> '--entry_proc'"
htmlindex.cls line 182 "if i~document~featurelist~items < 1"
htmlindex.cls line 185 "if i~document~featurelist[1]~rexxname <> '--entry_proc'"
htmlrexxprogram.cls line 136 "features = file~document~featurelist"
htmlrexxsource.cls line 118 "features = rxdoc~featurelist"
htmltree.cls line 255 "do j = 1 to rexxd~featurelist~items"
htmltree.cls line 256 "i = rexxd~featurelist[j]"
htmltree.cls line 264 "if j = rexxd~featurelist~items"
rexxliterate.cls line 297 "do e over i~document~featurelist"

::METHOD getfirstblock
get the first block comment in the program
Returns
blockcomment object
Definition at line 265 of documents.cls
Dynamically referenced by
htmlrexxprogram.cls line 127 "blocko = htmlout~noprefix(file~document~getfirstblock)"

::METHOD getprevblock
get the block comment previous to the feature
Parameters
feature - filechunk of feature of interest
Returns
blockcomment object
Definition at line 277 of documents.cls
Dynamically referenced by
documents.cls line 291 "bc = self~getprevblock(feature)"
htmlrexxclass.cls line 82 "blocko = self~htmlout~noprefix(rdc~document~getprevblock(rdc~feature))"
htmlrexxprogram.cls line 234 "blocko = htmlout~noprefix(file~document~getprevblock(i~feature))"

::METHOD getanycomment
get any available comments for feature
Parameters
feature not documented
Definition at line 288 of documents.cls
Dynamically referenced by
htmlrexxclass.cls line 91 "comq = rdc~document~getanycomment(i)"
htmlrexxclass.cls line 171 "bc = rdc~document~getanycomment(m~feature)"
htmlrexxclass.cls line 349 "bc = rdc~document~getanycomment(m~feature)"
htmlrexxclass.cls line 402 "bc = rdc~document~getanycomment(m~feature)"
htmlrexxprogram.cls line 280 "bc = m~document~getanycomment(m~feature)"
htmlrexxprogram.cls line 350 "bc = m~document~getanycomment(m~feature)"

::METHOD src
return program source
Definition at line 305 of documents.cls
Dynamically referenced by
documents.cls line 306 "return self~rxprogram~src"
htmlrexxsource.cls line 88 "col = .colourable~new(file~document~src)"

::METHOD getsource
return the code for a clause
Parameters
clause not documented
Definition at line 309 of documents.cls
Dynamically referenced by
documents.cls line 268 "bc = self~rxprogram~getsource(self~rxprogram~blockcomments[1])"
documents.cls line 283 "else src = self~rxprogram~getsource(prev)"
documents.cls line 300 "src = self~rxprogram~getsource(lc)"
documents.cls line 311 "return self~rxprogram~getsource(clause)"
htmlrexxclass.cls line 78 "src = rdc~document~getsource(clause)[1]"
htmlrexxclass.cls line 161 "src = m~document~getsource(clause)[1]"
htmlrexxprogram.cls line 203 "clauseq = i~document~getsource(clause)"
htmlrexxsource.cls line 123 "src = rxdoc~getsource(clause)"
htmlrexxsource.cls line 260 "src = rxdoc~getsource(i)"
htmlutil.cls line 169 "src = r~rdatom~document~getsource(r~rdatom~feature)"
htmlutil.cls line 193 "src = r~rdatom~document~getsource(r~rdatom~feature)"
htmlutil.cls line 206 "src = r~rdatom~document~getsource(r~rdatom~feature)"

::METHOD getnoppedsource
return the code for a clause, with literals set to '*'
Parameters
clause not documented
Definition at line 314 of documents.cls
Dynamically referenced by
documents.cls line 316 "return self~rxprogram~getnoppedsource(clause)"
documents.cls line 585 "src = self~document~getnoppedsource(self~feature)"

::METHOD comments
return all comments in document
Returns
queue of rdfeatures
Definition at line 320 of documents.cls
Dynamically referenced by
documents.cls line 322 "do i over self~rxprogram~comments"
htmlrexxsource.cls line 254 "comments = rxdoc~comments"

::METHOD commentsat
return all comments at line
Parameters
lineno - line number for which to return comments
Returns
queue of rdfeatures
Definition at line 330 of documents.cls

::METHOD quotesat
return all quotes at line
Parameters
lineno - line number for which to return quotes
Returns
queue of rdfeatures
Definition at line 343 of documents.cls

::METHOD quotes
return all quotes
Returns
queue of rdfeatures
Definition at line 355 of documents.cls
Dynamically referenced by
documents.cls line 357 "do i over self~rxprogram~quotes"
htmlrexxsource.cls line 283 "quotes = rxdoc~quotes"

::METHOD featuresat
return all features at line
Parameters
lineno - line number for which to return features
Definition at line 364 of documents.cls

::METHOD clausesat
return all clauses on a line
Parameters
lineno - line number for which to return clauses
Definition at line 371 of documents.cls

::METHOD clauses
return all clauses
Definition at line 376 of documents.cls
Dynamically referenced by
htmlrexxsource.cls line 290 "clauses = rxdoc~clauses"
rexxliterate.cls line 320 "do c over i~document~clauses"

::METHOD mixedclauses
rdfq = .queue~new
do i over self~rxprogram~clauses
rdfq~queue(.rdfeature~new(self, i))
end
return rdfq
Definition at line 384 of documents.cls
Dynamically referenced by
documents.cls line 386 "do i over self~rxprogram~mixedclauses"
documents.cls line 463 "do c over self~rxprogram~mixedclauses"

::METHOD featureclause
get the first clause in a feature
Parameters
feature - the feature for which to return first clause
Definition at line 393 of documents.cls
Dynamically referenced by
htmlrexxclass.cls line 77 "clause = rdc~document~featureclause(rdc~feature)"
htmlrexxclass.cls line 160 "clause = m~document~featureclause(m~feature)"
htmlrexxprogram.cls line 201 "clause = i~document~featureclause(i~feature)"
htmlrexxsource.cls line 122 "clause = rxdoc~featureclause(rdc~feature)"

::METHOD requires
return all requires clauses in the document
Definition at line 408 of documents.cls
Dynamically referenced by
documents.cls line 224 "globalix~requires~queue(rf)"
documents.cls line 409 "return self~rxprogram~requires"
documents.cls line 429 "do c over self~rxprogram~requires"
htmlrexxclass.cls line 87 "if rdc~document~requires~items > 0"
htmlrexxclass.cls line 90 "do i over rdc~document~requires"

::METHOD nextfeature
return next interesting feature
Parameters
f - codelist feature from which to commence search
goodlist - list of objectnames which will terminate search
Returns
feature - the following matching feature
.nil - no following matching feature
Definition at line 416 of documents.cls
Dynamically referenced by
documents.cls line 418 "return self~rxprogram~nextfeature(f, goodlist)"
htmltree.cls line 348 "nf = rexxd~nextfeature(rdc~feature, 'CLAS ROUT')"

::METHOD xref
cross reference the document
Parameters
globalix - global index
Definition at line 422 of documents.cls
Dynamically referenced by
rexxliterate.cls line 267 "i~document~xref(self~globalix)"

::METHOD findfile
discover which file in files is closest to f by path
Parameters
f - a file
files - a queue of files
Returns
a file or .nil
Definition at line 512 of documents.cls
Dynamically referenced by
documents.cls line 444 "f = self~findfile(self~file, files)"


Get RexxLiterate at SourceForge.net. Fast, secure and Free Open Source software downloads
Generated on 31 Aug 2010 05:20:03 for RexxLiterate by rexxliterate  0.0.1