|
@@ -354,7 +354,6 @@ Works:
|
|
- typecast byte(longword) -> value & $ff
|
|
- typecast byte(longword) -> value & $ff
|
|
- typecast TJSFunction(func)
|
|
- typecast TJSFunction(func)
|
|
- modeswitch OmitRTTI
|
|
- modeswitch OmitRTTI
|
|
-- debugger;
|
|
|
|
|
|
|
|
ToDos:
|
|
ToDos:
|
|
- do not rename property Date
|
|
- do not rename property Date
|
|
@@ -1263,11 +1262,8 @@ type
|
|
procedure ComputeBinaryExprRes(Bin: TBinaryExpr; out
|
|
procedure ComputeBinaryExprRes(Bin: TBinaryExpr; out
|
|
ResolvedEl: TPasResolverResult; Flags: TPasResolverComputeFlags;
|
|
ResolvedEl: TPasResolverResult; Flags: TPasResolverComputeFlags;
|
|
var LeftResolved, RightResolved: TPasResolverResult); override;
|
|
var LeftResolved, RightResolved: TPasResolverResult); override;
|
|
- // built-in functions
|
|
|
|
procedure BI_TypeInfo_OnGetCallResult(Proc: TResElDataBuiltInProc;
|
|
procedure BI_TypeInfo_OnGetCallResult(Proc: TResElDataBuiltInProc;
|
|
Params: TParamsExpr; out ResolvedEl: TPasResolverResult); override;
|
|
Params: TParamsExpr; out ResolvedEl: TPasResolverResult); override;
|
|
- function BI_Debugger_OnGetCallCompatibility(Proc: TResElDataBuiltInProc;
|
|
|
|
- Expr: TPasExpr; RaiseOnError: boolean): integer; virtual;
|
|
|
|
public
|
|
public
|
|
constructor Create; reintroduce;
|
|
constructor Create; reintroduce;
|
|
destructor Destroy; override;
|
|
destructor Destroy; override;
|
|
@@ -1752,7 +1748,6 @@ type
|
|
Function ConvertBuiltIn_New(El: TParamsExpr; AContext: TConvertContext): TJSElement; virtual;
|
|
Function ConvertBuiltIn_New(El: TParamsExpr; AContext: TConvertContext): TJSElement; virtual;
|
|
Function ConvertBuiltIn_Dispose(El: TParamsExpr; AContext: TConvertContext): TJSElement; virtual;
|
|
Function ConvertBuiltIn_Dispose(El: TParamsExpr; AContext: TConvertContext): TJSElement; virtual;
|
|
Function ConvertBuiltIn_Default(El: TParamsExpr; AContext: TConvertContext): TJSElement; virtual;
|
|
Function ConvertBuiltIn_Default(El: TParamsExpr; AContext: TConvertContext): TJSElement; virtual;
|
|
- Function ConvertBuiltIn_Debugger(El: TPasExpr; AContext: TConvertContext): TJSElement; virtual;
|
|
|
|
Function ConvertRecordValues(El: TRecordValues; AContext: TConvertContext): TJSElement; virtual;
|
|
Function ConvertRecordValues(El: TRecordValues; AContext: TConvertContext): TJSElement; virtual;
|
|
Function ConvertSelfExpression(El: TSelfExpr; AContext: TConvertContext): TJSElement; virtual;
|
|
Function ConvertSelfExpression(El: TSelfExpr; AContext: TConvertContext): TJSElement; virtual;
|
|
Function ConvertBinaryExpression(El: TBinaryExpr; AContext: TConvertContext): TJSElement; virtual;
|
|
Function ConvertBinaryExpression(El: TBinaryExpr; AContext: TConvertContext): TJSElement; virtual;
|
|
@@ -4236,16 +4231,6 @@ begin
|
|
if Proc=nil then ;
|
|
if Proc=nil then ;
|
|
end;
|
|
end;
|
|
|
|
|
|
-function TPas2JSResolver.BI_Debugger_OnGetCallCompatibility(
|
|
|
|
- Proc: TResElDataBuiltInProc; Expr: TPasExpr; RaiseOnError: boolean): integer;
|
|
|
|
-// debugger;
|
|
|
|
-begin
|
|
|
|
- if Expr is TParamsExpr then
|
|
|
|
- Result:=CheckBuiltInMaxParamCount(Proc,TParamsExpr(Expr),0,RaiseOnError)
|
|
|
|
- else
|
|
|
|
- Result:=cExact;
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
constructor TPas2JSResolver.Create;
|
|
constructor TPas2JSResolver.Create;
|
|
var
|
|
var
|
|
bt: TPas2jsBaseType;
|
|
bt: TPas2jsBaseType;
|
|
@@ -4336,9 +4321,6 @@ begin
|
|
AddBaseType(Pas2JSBuiltInNames[pbitnUIntDouble],btUIntDouble);
|
|
AddBaseType(Pas2JSBuiltInNames[pbitnUIntDouble],btUIntDouble);
|
|
if btIntDouble in TheBaseTypes then
|
|
if btIntDouble in TheBaseTypes then
|
|
AddBaseType(Pas2JSBuiltInNames[pbitnIntDouble],btIntDouble);
|
|
AddBaseType(Pas2JSBuiltInNames[pbitnIntDouble],btIntDouble);
|
|
- AddBuiltInProc('Debugger','procedure Debugger',
|
|
|
|
- @BI_Debugger_OnGetCallCompatibility,nil,
|
|
|
|
- nil,nil,bfCustom,[bipfCanBeStatement]);
|
|
|
|
end;
|
|
end;
|
|
|
|
|
|
function TPas2JSResolver.CheckTypeCastRes(const FromResolved,
|
|
function TPas2JSResolver.CheckTypeCastRes(const FromResolved,
|
|
@@ -7302,12 +7284,6 @@ begin
|
|
bfBreak: Result:=ConvertBuiltInBreak(El,AContext);
|
|
bfBreak: Result:=ConvertBuiltInBreak(El,AContext);
|
|
bfContinue: Result:=ConvertBuiltInContinue(El,AContext);
|
|
bfContinue: Result:=ConvertBuiltInContinue(El,AContext);
|
|
bfExit: Result:=ConvertBuiltIn_Exit(El,AContext);
|
|
bfExit: Result:=ConvertBuiltIn_Exit(El,AContext);
|
|
- bfCustom:
|
|
|
|
- case BuiltInProc.Element.Name of
|
|
|
|
- 'Debugger': Result:=ConvertBuiltIn_Debugger(El,AContext);
|
|
|
|
- else
|
|
|
|
- RaiseNotSupported(El,AContext,20181126102554,'built in custom proc '+BuiltInProc.Element.Name);
|
|
|
|
- end
|
|
|
|
else
|
|
else
|
|
RaiseNotSupported(El,AContext,20161130164955,'built in proc '+ResolverBuiltInProcNames[BuiltInProc.BuiltIn]);
|
|
RaiseNotSupported(El,AContext,20161130164955,'built in proc '+ResolverBuiltInProcNames[BuiltInProc.BuiltIn]);
|
|
end;
|
|
end;
|
|
@@ -8407,12 +8383,6 @@ begin
|
|
if Result=nil then exit;
|
|
if Result=nil then exit;
|
|
end;
|
|
end;
|
|
bfDefault: Result:=ConvertBuiltIn_Default(El,AContext);
|
|
bfDefault: Result:=ConvertBuiltIn_Default(El,AContext);
|
|
- bfCustom:
|
|
|
|
- case BuiltInProc.Element.Name of
|
|
|
|
- 'Debugger': Result:=ConvertBuiltIn_Debugger(El,AContext);
|
|
|
|
- else
|
|
|
|
- RaiseNotSupported(El,AContext,20181126101801,'built in custom proc '+BuiltInProc.Element.Name);
|
|
|
|
- end;
|
|
|
|
else
|
|
else
|
|
RaiseNotSupported(El,AContext,20161130164955,'built in proc '+ResolverBuiltInProcNames[BuiltInProc.BuiltIn]);
|
|
RaiseNotSupported(El,AContext,20161130164955,'built in proc '+ResolverBuiltInProcNames[BuiltInProc.BuiltIn]);
|
|
end;
|
|
end;
|
|
@@ -11003,13 +10973,6 @@ begin
|
|
AContext.Resolver.GetResolverResultDescription(ResolvedEl)],Param);
|
|
AContext.Resolver.GetResolverResultDescription(ResolvedEl)],Param);
|
|
end;
|
|
end;
|
|
|
|
|
|
-function TPasToJSConverter.ConvertBuiltIn_Debugger(El: TPasExpr;
|
|
|
|
- AContext: TConvertContext): TJSElement;
|
|
|
|
-begin
|
|
|
|
- Result:=CreateLiteralCustomValue(El,'debugger');
|
|
|
|
- if AContext=nil then ;
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
function TPasToJSConverter.ConvertRecordValues(El: TRecordValues;
|
|
function TPasToJSConverter.ConvertRecordValues(El: TRecordValues;
|
|
AContext: TConvertContext): TJSElement;
|
|
AContext: TConvertContext): TJSElement;
|
|
var
|
|
var
|