This file is here to give a listing of all variables, properties, and methods that are surfaced to the scripting engine.  These are only the ones that are above and beyond the standard Lua libraries.

This file contains sections for Global Variables, Exported Properties (of nodes), Exported Methods, and the Class Heriarchary.

Global Variables:
  SourceFile
    Source filename (including path and extension) of the file that the generator is working with.  This should be used to derrive the output filename.

Exported Properties:
  SourceFilename
    Source filename that the node resides in.
  SourceLinenumber
    Source linenumber that the node was found on.
  FullName
    Full name of the node.
  PathName
    Path name of the node within the tree.
  ElementTypeName
    The textual name of the type of the node.
  Name
    The name of the node.  In some cases (such as Function Types and Procedure Types) this will be blank.
  Parent
    Pointer to the parent of the node.  May be NIL if the node is a top level node.
  ClassName
    Pascal class name associated with the node type.
  Visibility
    Visibility of the node in string format of "default", "private", "protected", "public", "published", or "automated".
  DestType
    Pointer to the node defining the current node type.  Only valid on TPasPointerType and TPasAliasType nodes.
  PackageName
    Name of the package the node represents.  Only valid on TPasModule node types.
  Value
    The default value assigned to the current node.  Only valid on TPasResString, TPasEnumValue, TPasArgument, and TPasVariable node types.
  RangeStart
    The start or low bound of the range the node represents.  Only valid on TPasRangeType nodes.
  RangeEnd
    The end or high bound of the range the node represents.  Only valid on TPasRangeType nodes.
  IndexRange
    The textual version of the IndexRange for an array node type.  Only valid on TPasArrayType nodes.
  IsPacked
    Boolean value if the node is a packed type or not.  Only valid on TPasArrayType, TPasRecordType, and TPasClassType nodes.
  ElType
    Element type of the current node. Only valid on TPasArrayType and TPasFileType nodes.  In "procedure of object;" the ElType would be "object".
  IsValueUsed 
    Boolean value stating if the enumeration value of the node is apparently used in the source code.  Only valid on TPasEnumValue nodes.
  AssignedValue
    Value assigned to an Enum type node by default.  Only valid on TPasEnumValue nodes.
  EnumType
    Type node assigned to the enum node.  Only valid on TPasEnumValue nodes.
  VariantName
    Name of the variant part of a record node.  Only valid on TPasRecordType nodes.
  VariantType
    Type of the variant part of a record node.  Only valid on TPasRecordType nodes.
  Members
    Node holding the members of a variant node type.  Only valid on TPasVariant nodes.
  ObjKind
    String of "Object", "Class", or "Interface" describing the type of the node type.  Only valid on TPasClassType nodes.
  AncestorType
    Ancestor node type for the current type node.  Only valid on TPasClassType nodes.
  InterfaceGUID
    String of the GUID assigned to a class type node.  Only valid on TPasClassType nodes.
  Access
    Access type of an argument.  String of "Default", "Const", "Var", or "Out".  Only valid on TPasArgument nodes.
  ArgType
    Type node for the argument node.  Only valid on TPasArgument nodes.
  IsOfObject
    Boolean representing if the method is an "of object" method.  Only valid on TPasProcedureType and TPasFunctionType nodes.
  ResultType
    Type node for the result type node.  Only valid on TPasResultElement nodes.
  ResultEl
    Type node for a function result element node.  Only valid on TPasFunctionType nodes.
  RefType
    Type node for a reference node.  Only valid on TPasTypeRef nodes.
  VarType
    Type node for a variable node.  Only valid on TPasVariable nodes.
  Modifiers
    Modifiers associated with a variable node.  Only valid on TPasVariable nodes.
  AbsoluteLocation
    If a variable is an absolute variable this string contains its absolute location.  Only valid on TPasVariable nodes.
  IndexValue
    Index value for a property node.  Only valid on TPasProperty nodes.
  ReadAccessorName
    String name of the reader method for a property node.  Only valid on TPasProperty nodes.
  WriteAccessorName
    String name of the writer method for a property node.  Only valid on TPasProperty nodes.
  StoredAccessorName
    String name of the stored method for a property node.  Only valid on TPasProperty nodes.
  DefaultValue
    String value of the default value for a property node.  Only valid on TPasProperty nodes.
  IsDefault
    Boolean value stating if an indexed node is the default for a class.  Only valid on TPasProperty nodes.
  IsNodefault
    Boolean value stating if an indexed node is NOT the default for a class.  Only valid on TPasProperty nodes.
  TypeName
    Type name associated with a procedure base node.  Only valid on TPasProcedureBase type nodes.
  ProcType
    Type node of a method pointer (event) node.  Only valid on TPasProcedure type nodes.
  IsVirtual
    Boolean value of a method node stating if it is defined as virtual.  Only valid on TPasProcedure type nodes.
  IsDynamic
    Boolean value of a method node stating if it is defined as dynamic.  Only valid on TPasProcedure type nodes.
  IsAbstract
    Boolean value of a method node stating if it is defined as abstract.  Only valid on TPasProcedure type nodes.
  IsOverride
    Boolean value of a method node stating if it is defined as override.  Only valid on TPasProcedure type nodes.
  IsOverload
    Boolean value of a method node stating if it is defined as overloaded.  Only valid on TPasProcedure type nodes.
  IsMessage
    Boolean value of a method node stating if it is defined as a message method.  Only valid on TPasProcedure type nodes.
  isReintroduced
    Boolean value of a method node stating if it is defined as reintroduced.  Only valid on TPasProcedure type nodes.
  isStatic
    Boolean value of a method node stating if it is defined as static.  Only valid on TPasProcedure type nodes.

Exported Methods:
  GetDeclaration(Full = True)->String
    Returns the declaration of the given node (by default returns the full declaration of the node).
  GetGetEnumNames()->Table with names
    Returns the names that an enumeration node represents.  Only valid on TPasEnumType nodes.

Class Heriarchary:
  TPasElement
    TPasSection
    TPasModule
    TPasPackage
    TPasResString
    TPasType
      TPasAliasType
        TPasTypeAliasType
        TPasClassOfType
      TPasRangeType
      TPasArrayType
      TPasFileType
      TPasEnumType
      TPasSetType
      TPasRecordType
      TPasClassType
      TPasProcedureType
        TPasFunctionType
      TPasUnresolvedTypeRef
        TPasTypeRef
    TPasEnumValue
    TPasVariant
    TPasArgument
    TPasResultElement
    TPasVariable
      TPasConst
      TPasProperty
    TPasProcedureBase
      TPasOverloadedProc
      TPasProcedure
      TPasFunction
      TPasOperator
      TPasConstructor
      TPasDestructor
