./library/lib/metadataAnalyzer.xotcl ./library/lib/metadataAnalyzer.xotcl


Package/File Information

No package provided/required

Defined Objects/Classes:
Filename: ./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 analysis functionality.


Class: AnalyzerCmd

Class: Class
Description: Class that overload the unknown mechanism of @ to provide metadata analysis.


Class: ClassToken

Class: Class
Heritage: ObjToken
Description: Token for Class metadata. Contains additional parameters: "instprocList" = list of all instproc token.


Class: ConstraintToken

Class: Class
Heritage: MetadataToken
Description: Token for @Constraint Metadata.


Class: FileToken

Class: Class
Heritage: MetadataToken
Description: Token for @File Metadata.


Class: InstprocToken

Class: Class
Heritage: MethodToken
Description: Token for Instproc metadata.


Class: MetaClassToken

Class: Class
Heritage: ClassToken
Description: Token for Meta-Class metadata.


Class: MetadataAnalyzer

Class: Class
Procs/Instprocs: print.
Description: Handler class for building a metadata runtime structure

Instprocs


Class: MetadataToken

Class: Class
Procs/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

Procs


Class: MethodToken

Class: Class
Heritage: 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: Class
Heritage: MetadataToken
Description: Token for Object metadata. Contains additional parameters: "procList" = list of all proc token and "cl"= class name.


Class: PackageToken

Class: Class
Heritage: MetadataToken
Description: Token for Package metadata. Contains additional parameters: "version" of the package and "type"= either "require" or "provide".


Class: ProcToken

Class: Class
Heritage: MethodToken
Description: Token for Proc metadata



Back to index page.