paxCompiler updates
------------------------------------------------------------------------------
Version: 3.1
Status: Registered.
Build: 6 December, 2012.
Copyright (c) 2006-2012 Alexander Baranovsky
Author: Alexander Baranovsky
Web site: www.paxcompiler.com
New:
11 March 2010.
1. Fixed bug in the type cast processing for class types.
2. Added possibility to throw anonimous exception in Basic:
Throw New Exception
or
Throw New Exception()
(Imports SysUtils is not mandatory in this case).
12 March 2010.
1. Fixed memory leak.
17 March 2010.
1. Fixed bug in memory allocation for local variables.
18 March 2010.
1. Fixed bug related to the Monitor field (Delphi 2010 only).
2. Different import tables (see demo).
31 March 2010.
1. Generation of Dll (see demo).
16 April 2010.
1. Bug fix in implementation of try-finally statement.
6 May 2010.
1. Fixed bug for case when event handler is virtual method.
7 May 2010.
1. Bug fix in try-finally statement in Basic and JavaScript.
2. Added extra checks for overloaded routines.
10 May 2010.
1. Speed of compilation has been increased in 2 times.
12 May 2010.
1. Fixed bug in the Exit statement.
14 May 2010.
1. Fixed bug in TPaxEval component.
17 May 2010.
1. Added new methods and properties to TPaxCompilerExplorer class:
function GetResultId(SubId: Integer): Integer;
function GetAncestorId(Id: Integer): Integer;
procedure ExtractMembers(const Id: Integer; L: TStrings;
PaxLang: TPaxCompilerLanguage = nil);
property Kinds[Id: Integer]: TPaxMemberKind read GetKind;
property StrKinds[Id: Integer]: String read GetStrKind;
18 May 2010.
1. Added new function SetImportEntry to PaxRegister unit.
20 May 2010.
1. Added routines:
procedure LoadGlobalSymbolTableFromStream(Stream: TStream);
procedure LoadGlobalSymbolTableFromFile(const FileName: String);
procedure SaveGlobalSymbolTableToStream(Stream: TStream);
procedure SaveGlobalSymbolTableToFile(const FileName: String);
to PaxRegister.pas. See demo.
21 May 2010.
1. Speed of saving/loading binary namespaces increased in 2 times.
24 May 2010.
1. Fixed bug in the cilcular unit reference check.
2. Added import
RegisterHeader(H_TObject, 'function ToString: String; virtual;',
@TObject.ToString);
RegisterHeader(H_TObject, 'function Equals(Obj: TObject): Boolean; virtual;',
@TObject.Equals);
RegisterHeader(H_TObject, 'function GetHashCode: Integer; virtual;',
@TObject.GetHashCode);
(Delphi 2009 and Delphi 2010).
27 May 2010.
1. Fixed memory leak problem.
2. Decreased footprint of TPaxProgram instance.
3. Added improvements to paxcomp_rti.pas.
28 May 2010.
1. Fixed bug in TPaxInvoke component.
4 June 2010.
1. Fixed bug for Raise and Exit statement for case when it is called in main block.
2. Fixed bug in RegisterRecordTypeField method.
3. Fixed bug for case when field of OLE object is a keyword.
4. Correct error message for default parameter of Variant type.
7 June 2010.
1. Fixed bugs related to "==", "!=" operators in JavaScript.
2. Correct error message for case like
TMyClass = class(NotAClassTypeIdentifier);
3. property OnSavePCUFinished: TPaxCompilerSavePCUFinishedEvent;
property OnLoadPCUFinished: TPaxCompilerLoadPCUFinishedEvent;
4. Fixed memory leak for "array of const" parameter applied in a loop.
9 June 2010.
1. Support of "message" keyword in Pascal.
2. Fixed in implementation of Raise/Throw statement.
11 June 2010.
1. Memory leak related to "array of const" parameter has been fixed.
2. Bug fix in TPaxEval component.
14 June 2010.
1. Support of "message" keyword.
18 June 2010.
1. Support of dynamic methods.
21 June 2010.
1. Fixed bugs for case when property reader/writer belongs to an ancestor class.
23 June 2010.
1. Fixed bug for open array parameter of script-defined procedure.
25 June 2010.
1. Support of "deprecated" keyword.
30 June 2010.
1. Fixed dynamic memory leak for case when TPaxProgram.Run is called in a loop.
9 July 2010.
1. Fixed bug in OLE Automation support.
12 July 2010.
1. Support of static methods in Pascal (related to "STATIC" keyword).
13 July 2010.
1. Fixed bug in evaluation of inherited constructor for case when its name differs
from 'Create' (Pascal).
2. Fixed bug for overloaded call.
3. Fixed bug in Exit statement in try-except block.
14 July 2010.
1. Fixed bug in the "inherited" keyword support.
15 July 2010.
1. Added possibility to create inherited JavaScript classes.
2 August 2010.
1. Fixed bug in for-in statement for set types.
12 August 2010.
1. Fixed bugs related to the safecall calling convention.
4-17 September 2010.
1. New events
property OnBeginProc: TPaxProcNotifyEvent
property OnEndProc: TPaxProcNotifyEvent
of TPaxProgram class. They occurs at the beginning and at the end of a function in the debug mode.
2. property PausedPCU: TProgram
of TPaxProgram. It returns pcu unit which was stopped at the pause state.
3. property PCUCount: Integer read GetPCUCount;
of TPaxProgram. Returns number of pcu units which are used given TPaxProgram instance.
4. New methods
function GetCurrentFunctionFullName: String;
procedure GetCurrentParams(result: TStrings);
procedure GetCurrentLocalVars(result: TStrings);
of TPaxProgram. Return current function name in the paused state, current parameter names,
current local variable names. It was added to simplify building of expressions for evaluator.
5. New methods
function AddTempBreakpoint(const ModuleName: String;
SourceLineNumber: Integer): Boolean;
function RemoveBreakpoint(const ModuleName: String;
SourceLineNumber: Integer): Boolean; overload;
function RemoveBreakpoint(const ModuleName: String): Boolean; overload;
function HasBreakpoint(const ModuleName: String;
SourceLineNumber: Integer): Boolean;
function IsExecutableLine(const ModuleName: String;
SourceLineNumber: Integer): Boolean;
procedure RemoveAllBreakpoints;
allows to manipulate breakpoints directly via TPaxProgram instance.
6.
property OnPrintEx: TPaxPrintExEvent
allows to assign custom print event handler to the TPaxProgram class.
7. New properties of TPaxCompiler class:
property WarningCount: Integer read GetWarningCount;
property WarningMessage[I: Integer]: String read GetWarningMessage;
property WarningModuleName[I: Integer]: String read GetWarningModuleName;
property WarningLine[I: Integer]: String read GetWarningLine;
property WarningLineNumber[I: Integer]: Integer read GetWarningLineNumber;
property WarningLinePos[I: Integer]: Integer read GetWarningLinePos;
21 September 2010.
1. Added warnings:
wrnNeverUsed = 'Variable "%s" is declared but never used';
wrnNotInit = 'Variable "%s" might not have been initialized';
wrnReturnValue = 'Return value of function "%s" might be undefined';
5 October 2010.
- Fixed bug in the implementation of "inherited" keyword.
- Fixed bug for virtual constructors.
6 October 2010.
- Fixed bug for structured typed constants.
- Fixed bug for passing dynamic arrays by reference.
19 October 2010.
- Code completion for second, third ... parameter. I.e
P(4, 'abc', // code completion at coma
26 October 2010.
- Increased speed of code completion.
3 December 2010.
- Added processing escape sequences to JavaScript.
8 January 2011.
TPaxCompiler.OnComment event has been added. (See demo).
14 January 2011.
Added support of Pointer types to Basi
- 1
- 2
前往页