::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 Methods inherited from adocument
|
|
init
(file, basepath)
|
|
no comment
|
Instantiated by
rexxliterate.cls line 354
Feature Detail
::ATTRIBUTE rxprogram
|
parsed rexx program
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
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
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
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 routinix
|
.directory of routines as
.rdprocedure, index name~translate
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
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
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
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 labelix
|
label directory, key: label name, item:
.rdclause
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
::METHOD isoo
|
Returns
.true - program uses OORexx
.false - program uses Classic Rexx
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
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
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
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
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
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
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
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
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
::METHOD quotesat
|
return all quotes at line
Parameters
lineno - line number for which to return quotes
Returns
queue of rdfeatures
::METHOD quotes
|
return all quotes
Returns
queue of rdfeatures
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
::METHOD clausesat
|
return all clauses on a line
Parameters
lineno - line number for which to return clauses
::METHOD clauses
|
return all clauses
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
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
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
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
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
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
Dynamically referenced by
documents.cls line 444 "
f = self~findfile(self~file, files)"
|
Generated on 31 Aug 2010 05:20:03 for RexxLiterate by
0.0.1
|