### TPaxCompilerExplorer Methods

- Create
- Destroy
- RegisterCompiler
- IsExecutableLine
- GetParamCount
- GetParamId
- GetLocalCount
- GetGlobalCount
- GetGlobalId
- HasArrayType
- HasDynArrayType
- HasRecordType
- HasClassType
- IsArrayType
- IsDynArrayType
- IsRecordType
- IsClassType
- Host
- GetFieldCount
- GetFieldName
- GetArrayLowBound
- GetArrayHighBound
- EnumMembers
- IsConst
- IsVar
- IsProcedure
- IsFunction
- IsNamespace
- IsType
- IsTypeField
- IsProperty
- IsConstructor
- IsDestructor

### TPaxCompilerExplorer.Create

> Constructor of the component.

>     constructor Create(AOwner: TComponent); override;

### TPaxCompilerExplorer.Destroy

> Destructor of the component.

>     destructor Destroy; override;

### TPaxCompilerExplorer.RegisterCompiler

> Registeres TPaxCompiler component.

>     procedure RegisterCompiler(i_compiler: TPaxCompiler);

### TPaxCompilerExplorer.IsExecutableLine

> Returns 'true', if line is executable.

>     function IsExecutableLine(const ModuleName: String;
>     LineNumber: Integer): Boolean;

> #### Arguments

> > ModuleName

> > > Name of module.

> > LineNumber

> > > Number of line.

### TPaxCompilerExplorer.GetParamCount

> Returns number of parameters of function.

>     function GetParamCount(SubId: Integer): Integer;

> #### Arguments

> > SubId

> > > Id of function.

### TPaxCompilerExplorer.GetParamId

> Returns Id of parameter of function.

>     function GetParamId(SubId, I: Integer): Integer;

> #### Arguments

> > SubId

> > > Id of function.

> > I

> > > Index of parameter.

### TPaxCompilerExplorer.GetLocalCount

> Returns number of local variables of function.

>     function GetLocalCount(SubId: Integer): Integer;

> #### Arguments

> > SubId

> > > Id of function.

### TPaxCompilerExplorer.GetGlobalCount

> Returns number of global variables in a namespace.

>     function GetGlobalCount(NamespaceId: Integer): Integer;

> #### Arguments

> > NamespaceId

> > > Id of namespace. Use Id = 0 for noname namespace.

### TPaxCompilerExplorer.GetGlobalId

> Returns number of global variables in a namespace.

>     function GetGlobalId(NamespaceId, I: Integer): Integer;

> #### Arguments

> > NamespaceId

> > > Id of namespace.

> > I

> > > Index of variable.

### TPaxCompilerExplorer.HasArrayType

> Returns 'true', if variable has array type.

>     function HasArrayType(Id: Integer): Boolean;

> #### Arguments

> > Id

> > > Id of variable.

### TPaxCompilerExplorer.HasDynArrayType

> Returns 'true', if variable has dynamic array type.

>     function HasDynArrayType(Id: Integer): Boolean;

> #### Arguments

> > Id

> > > Id of variable.

### TPaxCompilerExplorer.HasRecordType

> Returns 'true', if variable has record type.

>     function HasRecordType(Id: Integer): Boolean;

> #### Arguments

> > Id

> > > Id of variable.

### TPaxCompilerExplorer.HasClassType

> Returns 'true', if variable has class type.

>     function HasClassType(Id: Integer): Boolean;

> #### Arguments

> > Id

> > > Id of variable.

### TPaxCompilerExplorer.IsArrayType

> Returns 'true', if Id represents array type.

>     function IsArrayType(Id: Integer): Boolean;

> #### Arguments

> > Id

> > > Id of type.

### TPaxCompilerExplorer.IsDynArrayType

> Returns 'true', if Id represents dynamic array type.

>     function IsDynArrayType(Id: Integer): Boolean;

> #### Arguments

> > Id

> > > Id of type.

### TPaxCompilerExplorer.IsRecordType

> Returns 'true', if Id represents record type.

>     function IsRecordType(Id: Integer): Boolean;

> #### Arguments

> > Id

> > > Id of type.

### TPaxCompilerExplorer.IsClassType

> Returns 'true', if Id represents class type.

>     function IsClassType(Id: Integer): Boolean;

> #### Arguments

> > Id

> > > Id of type.

### TPaxCompilerExplorer.Host

> Returns 'true', if Id represents a host-defined variable, constant, type or function.

>     function Host(Id: Integer): Boolean;

> #### Arguments

> > Id

> > > Id of variable, constant, type or function.

### TPaxCompilerExplorer.GetFieldCount

> Returns number of fields of variable of class or record type.

>     function GetFieldCount(Id: Integer): Integer;

> #### Arguments

> > Id

> > > Id of variable.

### TPaxCompilerExplorer.GetFieldName

> Returns name of field.

>     function GetFieldName(Id, FieldNumber: Integer): String;

> #### Arguments

> > Id

> > > Id of variable.

> > FieldNumber

> > > Number of field.

### TPaxCompilerExplorer.GetArrayLowBound

> Returns low bound of array.

>     function GetArrayLowBound(Id: Integer): Integer;

> #### Arguments

> > Id

> > > Id of array.

### TPaxCompilerExplorer.GetArrayHighBound

> Returns high bound of array.

>     function GetArrayHighBound(Id: Integer): Integer;

> #### Arguments

> > Id

> > > Id of array.

### TPaxCompilerExplorer.EnumMembers

> Allows you to enumerate all members of script.

>     procedure EnumMembers(OwnerId: Integer; Host: Boolean; mk: TMemberKind; CallBack: TExplorerEnumProc; Data: Pointer);

> #### Arguments

> > OwnerId

> > > Id of namespace, class type, record type or function.

> > Host

> > > Set it to 'true', if you enumerates host-defined members, or set it to 'false', if you enumerates script-defined members.

> > mk

> > > Kind of member. It has type TMemberKind = (mkNamespace, mkType, mkField, mkProperty, mkProcedure, mkFunction, mkConstructor, mkDestructor, mkParam, mkVar, mkConst);

> > CallBack

> > > Call-back method. It has type TExplorerEnumProc = procedure (Id: Integer; Host: Boolean; Kind: TMemberKind; Data: Pointer) of object;

> > Data

> > > Pointer to user-defined data.

### TPaxCompilerExplorer.IsConst

> Returns 'true', if Id represents a constant.

>     function IsConst(LevelId, Id: Integer): Boolean;

> #### Arguments

> > LevelId

> > > Id of namespace.

> > Id

> > > Source Id.

### TPaxCompilerExplorer.IsVar

> Returns 'true', if Id represents a variable.

>     function IsVar(LevelId, Id: Integer): Boolean;

> #### Arguments

> > LevelId

> > > Id of namespace or function.

> > Id

> > > Source Id.

### TPaxCompilerExplorer.IsProcedure

> Returns 'true', if Id represents global procedure, nested procedure or method (class procedure).

>     function IsProcedure(LevelId, Id: Integer): Boolean;

> #### Arguments

> > LevelId

> > > Id of namespace, function or class type.

> > Id

> > > Source Id.

### TPaxCompilerExplorer.IsFunction

> Returns 'true', if Id represents global function, nested function or method (class function).

>     function IsFunction(LevelId, Id: Integer): Boolean;

> #### Arguments

> > LevelId

> > > Id of namespace, function or class type.

> > Id

> > > Source Id.

### TPaxCompilerExplorer.IsNamespace

> Returns 'true', if Id represents a namespace.

>     function IsNamespace(LevelId, Id: Integer): Boolean;

> #### Arguments

> > LevelId

> > > Id of owner namespace.

> > Id

> > > Source Id.

### TPaxCompilerExplorer.IsType

> Returns 'true', if Id represents a type.

>     function IsType(LevelId, Id: Integer): Boolean;

> #### Arguments

> > LevelId

> > > Id of namespace or function.

### TPaxCompilerExplorer.IsTypeField

> Returns 'true', if Id represents a record type field or a class type field.

>     function IsTypeField(TypeId, Id: Integer): Boolean;

> #### Arguments

> > TypeId

> > > Id of type.

> > Id

> > > Source Id.

### TPaxCompilerExplorer.IsProperty

> Returns 'true', if Id represent a property of type.

>     function IsProperty(TypeId, Id: Integer): Boolean;

> #### Arguments

> > TypeId

> > > Id of type.

> > Id

> > > Source Id.

### TPaxCompilerExplorer.IsConstructor

> Returns 'true', if Id represent a type constructor.

>     function IsConstructor(TypeId, Id: Integer): Boolean;

> #### Arguments

> > TypeId

> > > Id of type.

> > Id

> > > Source Id.

### TPaxCompilerExplorer.IsDestructor

> Returns 'true', if Id represents destructor of type.

>     function IsDestructor(TypeId, Id: Integer): Boolean;

> #### Arguments

> > TypeId

> > > Id of type.

> > Id

> > > Source Id.

Copyright © 2006-2008 VIRT Laboratory. All rights reserved.