mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-19 00:29:19 +02:00
fcl-passrc: resolver: adaptions for pas2js
git-svn-id: trunk@39976 -
This commit is contained in:
parent
481a8bee0c
commit
7b3d35ad2f
@ -1446,7 +1446,7 @@ type
|
|||||||
fExprEvaluator: TResExprEvaluator;
|
fExprEvaluator: TResExprEvaluator;
|
||||||
procedure OnExprEvalLog(Sender: TResExprEvaluator; const id: TMaxPrecInt;
|
procedure OnExprEvalLog(Sender: TResExprEvaluator; const id: TMaxPrecInt;
|
||||||
MsgType: TMessageType; MsgNumber: integer; const Fmt: String;
|
MsgType: TMessageType; MsgNumber: integer; const Fmt: String;
|
||||||
Args: array of const; PosEl: TPasElement); virtual;
|
Args: array of {$ifdef pas2js}jsvalue{$else}const{$endif}; PosEl: TPasElement); virtual;
|
||||||
function OnExprEvalIdentifier(Sender: TResExprEvaluator;
|
function OnExprEvalIdentifier(Sender: TResExprEvaluator;
|
||||||
Expr: TPrimitiveExpr; Flags: TResEvalFlags): TResEvalValue; virtual;
|
Expr: TPrimitiveExpr; Flags: TResEvalFlags): TResEvalValue; virtual;
|
||||||
function OnExprEvalParams(Sender: TResExprEvaluator;
|
function OnExprEvalParams(Sender: TResExprEvaluator;
|
||||||
@ -1653,9 +1653,11 @@ type
|
|||||||
class function GetDbgSourcePosStr(El: TPasElement): string;
|
class function GetDbgSourcePosStr(El: TPasElement): string;
|
||||||
function GetElementSourcePosStr(El: TPasElement): string;
|
function GetElementSourcePosStr(El: TPasElement): string;
|
||||||
procedure SetLastMsg(const id: TMaxPrecInt; MsgType: TMessageType; MsgNumber: integer;
|
procedure SetLastMsg(const id: TMaxPrecInt; MsgType: TMessageType; MsgNumber: integer;
|
||||||
Const Fmt : String; Args : Array of const; PosEl: TPasElement);
|
Const Fmt : String; Args : Array of {$ifdef pas2js}jsvalue{$else}const{$endif};
|
||||||
|
PosEl: TPasElement);
|
||||||
procedure LogMsg(const id: TMaxPrecInt; MsgType: TMessageType; MsgNumber: integer;
|
procedure LogMsg(const id: TMaxPrecInt; MsgType: TMessageType; MsgNumber: integer;
|
||||||
const Fmt: String; Args: Array of const; PosEl: TPasElement); overload;
|
const Fmt: String; Args: Array of {$ifdef pas2js}jsvalue{$else}const{$endif};
|
||||||
|
PosEl: TPasElement); overload;
|
||||||
class function GetWarnIdentifierNumbers(Identifier: string;
|
class function GetWarnIdentifierNumbers(Identifier: string;
|
||||||
out MsgNumbers: TIntegerDynArray): boolean; virtual;
|
out MsgNumbers: TIntegerDynArray): boolean; virtual;
|
||||||
procedure GetIncompatibleTypeDesc(const GotType, ExpType: TPasResolverResult;
|
procedure GetIncompatibleTypeDesc(const GotType, ExpType: TPasResolverResult;
|
||||||
@ -1663,7 +1665,8 @@ type
|
|||||||
procedure GetIncompatibleTypeDesc(const GotType, ExpType: TPasType;
|
procedure GetIncompatibleTypeDesc(const GotType, ExpType: TPasType;
|
||||||
out GotDesc, ExpDesc: String); overload;
|
out GotDesc, ExpDesc: String); overload;
|
||||||
procedure RaiseMsg(const Id: TMaxPrecInt; MsgNumber: integer; const Fmt: String;
|
procedure RaiseMsg(const Id: TMaxPrecInt; MsgNumber: integer; const Fmt: String;
|
||||||
Args: Array of const; ErrorPosEl: TPasElement); virtual;
|
Args: Array of {$ifdef pas2js}jsvalue{$else}const{$endif};
|
||||||
|
ErrorPosEl: TPasElement); virtual;
|
||||||
procedure RaiseNotYetImplemented(id: TMaxPrecInt; El: TPasElement; Msg: string = ''); virtual;
|
procedure RaiseNotYetImplemented(id: TMaxPrecInt; El: TPasElement; Msg: string = ''); virtual;
|
||||||
procedure RaiseInternalError(id: TMaxPrecInt; const Msg: string = '');
|
procedure RaiseInternalError(id: TMaxPrecInt; const Msg: string = '');
|
||||||
procedure RaiseInvalidScopeForElement(id: TMaxPrecInt; El: TPasElement; const Msg: string = '');
|
procedure RaiseInvalidScopeForElement(id: TMaxPrecInt; El: TPasElement; const Msg: string = '');
|
||||||
@ -1675,11 +1678,14 @@ type
|
|||||||
procedure RaiseVarExpected(id: TMaxPrecInt; ErrorEl: TPasElement; IdentEl: TPasElement);
|
procedure RaiseVarExpected(id: TMaxPrecInt; ErrorEl: TPasElement; IdentEl: TPasElement);
|
||||||
procedure RaiseRangeCheck(id: TMaxPrecInt; ErrorEl: TPasElement);
|
procedure RaiseRangeCheck(id: TMaxPrecInt; ErrorEl: TPasElement);
|
||||||
procedure RaiseIncompatibleTypeDesc(id: TMaxPrecInt; MsgNumber: integer;
|
procedure RaiseIncompatibleTypeDesc(id: TMaxPrecInt; MsgNumber: integer;
|
||||||
const Args: array of const; const GotDesc, ExpDesc: String; ErrorEl: TPasElement);
|
const Args: array of {$ifdef pas2js}jsvalue{$else}const{$endif};
|
||||||
|
const GotDesc, ExpDesc: String; ErrorEl: TPasElement);
|
||||||
procedure RaiseIncompatibleType(id: TMaxPrecInt; MsgNumber: integer;
|
procedure RaiseIncompatibleType(id: TMaxPrecInt; MsgNumber: integer;
|
||||||
const Args: array of const; GotType, ExpType: TPasType; ErrorEl: TPasElement);
|
const Args: array of {$ifdef pas2js}jsvalue{$else}const{$endif};
|
||||||
|
GotType, ExpType: TPasType; ErrorEl: TPasElement);
|
||||||
procedure RaiseIncompatibleTypeRes(id: TMaxPrecInt; MsgNumber: integer;
|
procedure RaiseIncompatibleTypeRes(id: TMaxPrecInt; MsgNumber: integer;
|
||||||
const Args: array of const; const GotType, ExpType: TPasResolverResult;
|
const Args: array of {$ifdef pas2js}jsvalue{$else}const{$endif};
|
||||||
|
const GotType, ExpType: TPasResolverResult;
|
||||||
ErrorEl: TPasElement);
|
ErrorEl: TPasElement);
|
||||||
procedure RaiseInvalidProcTypeModifier(id: TMaxPrecInt; ProcType: TPasProcedureType;
|
procedure RaiseInvalidProcTypeModifier(id: TMaxPrecInt; ProcType: TPasProcedureType;
|
||||||
ptm: TProcTypeModifier; ErrorEl: TPasElement);
|
ptm: TProcTypeModifier; ErrorEl: TPasElement);
|
||||||
@ -1909,7 +1915,7 @@ function GetTreeDbg(El: TPasElement; Indent: integer): string;
|
|||||||
procedure LineBreak(SubIndent: integer);
|
procedure LineBreak(SubIndent: integer);
|
||||||
begin
|
begin
|
||||||
Inc(Indent,SubIndent);
|
Inc(Indent,SubIndent);
|
||||||
Result:=Result+LineEnding+Space(Indent);
|
Result:=Result+LineEnding+StringOfChar(' ',Indent);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -11554,7 +11560,8 @@ end;
|
|||||||
|
|
||||||
procedure TPasResolver.OnExprEvalLog(Sender: TResExprEvaluator;
|
procedure TPasResolver.OnExprEvalLog(Sender: TResExprEvaluator;
|
||||||
const id: TMaxPrecInt; MsgType: TMessageType; MsgNumber: integer;
|
const id: TMaxPrecInt; MsgType: TMessageType; MsgNumber: integer;
|
||||||
const Fmt: String; Args: array of const; PosEl: TPasElement);
|
const Fmt: String; Args: array of {$ifdef pas2js}jsvalue{$else}const{$endif};
|
||||||
|
PosEl: TPasElement);
|
||||||
begin
|
begin
|
||||||
if MsgType<=mtError then
|
if MsgType<=mtError then
|
||||||
RaiseMsg(id,MsgNumber,Fmt,Args,PosEl)
|
RaiseMsg(id,MsgNumber,Fmt,Args,PosEl)
|
||||||
@ -15294,7 +15301,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPasResolver.SetLastMsg(const id: TMaxPrecInt; MsgType: TMessageType;
|
procedure TPasResolver.SetLastMsg(const id: TMaxPrecInt; MsgType: TMessageType;
|
||||||
MsgNumber: integer; const Fmt: String; Args: array of const;
|
MsgNumber: integer; const Fmt: String;
|
||||||
|
Args: array of {$ifdef pas2js}jsvalue{$else}const{$endif};
|
||||||
PosEl: TPasElement);
|
PosEl: TPasElement);
|
||||||
var
|
var
|
||||||
{$IFDEF VerbosePasResolver}
|
{$IFDEF VerbosePasResolver}
|
||||||
@ -15336,7 +15344,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPasResolver.RaiseMsg(const Id: TMaxPrecInt; MsgNumber: integer;
|
procedure TPasResolver.RaiseMsg(const Id: TMaxPrecInt; MsgNumber: integer;
|
||||||
const Fmt: String; Args: array of const; ErrorPosEl: TPasElement);
|
const Fmt: String; Args: array of {$ifdef pas2js}jsvalue{$else}const{$endif};
|
||||||
|
ErrorPosEl: TPasElement);
|
||||||
var
|
var
|
||||||
E: EPasResolve;
|
E: EPasResolve;
|
||||||
begin
|
begin
|
||||||
@ -15437,7 +15446,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPasResolver.RaiseIncompatibleTypeDesc(id: TMaxPrecInt; MsgNumber: integer;
|
procedure TPasResolver.RaiseIncompatibleTypeDesc(id: TMaxPrecInt; MsgNumber: integer;
|
||||||
const Args: array of const; const GotDesc, ExpDesc: String; ErrorEl: TPasElement);
|
const Args: array of {$ifdef pas2js}jsvalue{$else}const{$endif};
|
||||||
|
const GotDesc, ExpDesc: String; ErrorEl: TPasElement);
|
||||||
|
|
||||||
function GetString(ArgNo: integer): string;
|
function GetString(ArgNo: integer): string;
|
||||||
begin
|
begin
|
||||||
@ -15475,7 +15485,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPasResolver.RaiseIncompatibleType(id: TMaxPrecInt; MsgNumber: integer;
|
procedure TPasResolver.RaiseIncompatibleType(id: TMaxPrecInt; MsgNumber: integer;
|
||||||
const Args: array of const; GotType, ExpType: TPasType; ErrorEl: TPasElement);
|
const Args: array of {$ifdef pas2js}jsvalue{$else}const{$endif};
|
||||||
|
GotType, ExpType: TPasType; ErrorEl: TPasElement);
|
||||||
var
|
var
|
||||||
DescA, DescB: String;
|
DescA, DescB: String;
|
||||||
begin
|
begin
|
||||||
@ -15490,7 +15501,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPasResolver.RaiseIncompatibleTypeRes(id: TMaxPrecInt; MsgNumber: integer;
|
procedure TPasResolver.RaiseIncompatibleTypeRes(id: TMaxPrecInt; MsgNumber: integer;
|
||||||
const Args: array of const; const GotType, ExpType: TPasResolverResult;
|
const Args: array of {$ifdef pas2js}jsvalue{$else}const{$endif};
|
||||||
|
const GotType, ExpType: TPasResolverResult;
|
||||||
ErrorEl: TPasElement);
|
ErrorEl: TPasElement);
|
||||||
var
|
var
|
||||||
GotDesc, ExpDesc: String;
|
GotDesc, ExpDesc: String;
|
||||||
@ -15517,7 +15529,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPasResolver.LogMsg(const id: TMaxPrecInt; MsgType: TMessageType;
|
procedure TPasResolver.LogMsg(const id: TMaxPrecInt; MsgType: TMessageType;
|
||||||
MsgNumber: integer; const Fmt: String; Args: array of const;
|
MsgNumber: integer; const Fmt: String;
|
||||||
|
Args: array of {$ifdef pas2js}jsvalue{$else}const{$endif};
|
||||||
PosEl: TPasElement);
|
PosEl: TPasElement);
|
||||||
var
|
var
|
||||||
Scanner: TPascalScanner;
|
Scanner: TPascalScanner;
|
||||||
|
Loading…
Reference in New Issue
Block a user