xotcl/library/lib/metadataAnalyzer.xotcl
Package/File Information
No package provided/requiredDefined Objects/Classes:
- @:
- AnalyzerCmd:
- ClassToken:
- ConstraintToken:
- FileToken:
- InstprocToken:
- MetaClassToken:
- MetadataAnalyzer: print.
- MetadataToken: print, printProperties, sortTokenList.
- MethodToken:
- ObjToken:
- PackageToken:
- ProcToken:
Filename: xotcl/library/lib/metadataAnalyzer.xotcl
| Description: | XOTcl file analyzer for @ metadata. E.g.\ used for
doumentation with xoDoc (but in the static variant
StaticMetadataAnalyzer which uses the dynamic variant in this
file).
Sample sample usage:
package require xotcl::metadataAnalyzer
# instantiate metadata analyzer object
MetadataAnalyzer @::m
# make this object be known to @ and turn @ metadata processing on
@ analyzerObj @::m
@ onOff 1
# read in some metadata tags (in sample file) & execute the file
source lib/testx.xotcl
# turn @ metadata processing off again
@ onOff 0
# print out all collected metadata
puts [@::m print]
|
Object: @
Class: AnalyzerCmd| Description: | Recreate @ with metadata analyis funtionality. |
Class: AnalyzerCmd
Class: Class| Description: | Class that overload the unknown mechanism of @ to provide metadata analysis. |
Class: ClassToken
Class: ClassHeritage: ObjToken
| Description: | Token for Class metadata. Contains additional parameters: "instprocList" = list of all instproc token. |
Class: ConstraintToken
Class: ClassHeritage: MetadataToken
| Description: | Token for @Constraint Metadata. |
Class: FileToken
Class: ClassHeritage: MetadataToken
| Description: | Token for @File Metadata. |
Class: InstprocToken
Class: ClassHeritage: MethodToken
| Description: | Token for Instproc metadata. |
Class: MetaClassToken
Class: ClassHeritage: ClassToken
| Description: | Token for Meta-Class metadata. |
Class: MetadataAnalyzer
Class: ClassProcs/Instprocs: print.
| Description: | Handler class for building a metadata runtime structure |
Instprocs
- print
Description: Print all collected token information to stdout. This method is also an exmaple how the tokens can be used.
Class: MetadataToken
Class: ClassProcs/Instprocs: print, printProperties, sortTokenList.
| Description: | Each collected metadata element is stored in a
token object. MetadataToken is superclass of token object classes.
Each metadata token has two interesting parameters:
"properties" contains list of all described metadata properties. E.g. can be printed with
foreach p [my set properties] {
if {[my exists $p]} {
append c " $p=[my set $p]\n"
}
}
"name" contains the method, object, ... name of the metadata
element.
All metadata token are aggregated by @. Therefore,
foreach mdt [@ info children] {
if {[$mdt istype MetadataToken]} {$mdt print}
}
prints all token. |
Instprocs
-
printProperties
Description: Print metadata properties to stdout. - abstract
print
Description: Abstract method for printing a token to stdout.
Procs
- sortTokenList
l
Arguments: l: token list Description: Sort a token list with names. Since names are autonames, this means order of appearance in the program.
Class: MethodToken
Class: ClassHeritage: MetadataToken
| Description: | Token for Method metadata. Contains additional parameters: "arguments" of the method, "returnValue" of the method, "obj" name, "abstract" = 0 or 1 (whether its an abstract method or not). |
Class: ObjToken
Class: ClassHeritage: MetadataToken
| Description: | Token for Object metadata. Contains additional parameters: "procList" = list of all proc token and "cl"= class name. |
Class: PackageToken
Class: ClassHeritage: MetadataToken
| Description: | Token for Package metadata. Contains additional parameters: "version" of the package and "type"= either "require" or "provide". |
Class: ProcToken
Class: ClassHeritage: MethodToken
| Description: | Token for Proc metadata |
Back to index page.