|
@@ -40,7 +40,7 @@ type
|
|
|
mkDirectReference
|
|
|
);
|
|
|
const
|
|
|
- SrcMarker: array[TSrcMarkerKind] of AnsiChar = (
|
|
|
+ SrcMarker: array[TSrcMarkerKind] of char = (
|
|
|
'#', // mkLabel
|
|
|
'@', // mkResolverReference
|
|
|
'=' // mkDirectReference
|
|
@@ -1041,21 +1041,21 @@ function CheckSrcDiff(Expected, Actual: string; out Msg: string): boolean;
|
|
|
const
|
|
|
SpaceChars = [#9,#10,#13,' '];
|
|
|
var
|
|
|
- ExpectedP, ActualP: PAnsiChar;
|
|
|
+ ExpectedP, ActualP: PChar;
|
|
|
|
|
|
- function FindLineEnd(p: PAnsiChar): PAnsiChar;
|
|
|
+ function FindLineEnd(p: PChar): PChar;
|
|
|
begin
|
|
|
Result:=p;
|
|
|
while not (Result^ in [#0,#10,#13]) do inc(Result);
|
|
|
end;
|
|
|
|
|
|
- function FindLineStart(p, MinP: PAnsiChar): PAnsiChar;
|
|
|
+ function FindLineStart(p, MinP: PChar): PChar;
|
|
|
begin
|
|
|
while (p>MinP) and not (p[-1] in [#10,#13]) do dec(p);
|
|
|
Result:=p;
|
|
|
end;
|
|
|
|
|
|
- procedure SkipLineEnd(var p: PAnsiChar);
|
|
|
+ procedure SkipLineEnd(var p: PChar);
|
|
|
begin
|
|
|
if p^ in [#10,#13] then
|
|
|
begin
|
|
@@ -1090,19 +1090,19 @@ var
|
|
|
|
|
|
procedure DiffFound;
|
|
|
var
|
|
|
- ActLineStartP, ActLineEndP, p, StartPos: PAnsiChar;
|
|
|
+ ActLineStartP, ActLineEndP, p, StartPos: PChar;
|
|
|
ExpLine, ActLine: String;
|
|
|
i, LineNo, DiffLineNo: Integer;
|
|
|
begin
|
|
|
writeln('Diff found "',Msg,'". Lines:');
|
|
|
// write correct lines
|
|
|
- p:=PAnsiChar(Expected);
|
|
|
+ p:=PChar(Expected);
|
|
|
LineNo:=0;
|
|
|
DiffLineNo:=0;
|
|
|
repeat
|
|
|
StartPos:=p;
|
|
|
while not (p^ in [#0,#10,#13]) do inc(p);
|
|
|
- ExpLine:=copy(Expected,StartPos-PAnsiChar(Expected)+1,p-StartPos);
|
|
|
+ ExpLine:=copy(Expected,StartPos-PChar(Expected)+1,p-StartPos);
|
|
|
SkipLineEnd(p);
|
|
|
inc(LineNo);
|
|
|
if (p<=ExpectedP) and (p^<>#0) then
|
|
@@ -1112,9 +1112,9 @@ var
|
|
|
// diff line
|
|
|
if DiffLineNo=0 then DiffLineNo:=LineNo;
|
|
|
// write actual line
|
|
|
- ActLineStartP:=FindLineStart(ActualP,PAnsiChar(Actual));
|
|
|
+ ActLineStartP:=FindLineStart(ActualP,PChar(Actual));
|
|
|
ActLineEndP:=FindLineEnd(ActualP);
|
|
|
- ActLine:=copy(Actual,ActLineStartP-PAnsiChar(Actual)+1,ActLineEndP-ActLineStartP);
|
|
|
+ ActLine:=copy(Actual,ActLineStartP-PChar(Actual)+1,ActLineEndP-ActLineStartP);
|
|
|
writeln('- ',ActLine);
|
|
|
if HasSpecialChar(ActLine) then
|
|
|
writeln('- ',HashSpecialChars(ActLine));
|
|
@@ -1133,7 +1133,7 @@ var
|
|
|
SkipLineEnd(ActLineStartP);
|
|
|
if ActLineStartP^=#0 then break;
|
|
|
ActLineEndP:=FindLineEnd(ActLineStartP);
|
|
|
- ActLine:=copy(Actual,ActLineStartP-PAnsiChar(Actual)+1,ActLineEndP-ActLineStartP);
|
|
|
+ ActLine:=copy(Actual,ActLineStartP-PChar(Actual)+1,ActLineEndP-ActLineStartP);
|
|
|
writeln('~ ',ActLine);
|
|
|
end;
|
|
|
exit;
|
|
@@ -1151,14 +1151,14 @@ var
|
|
|
|
|
|
var
|
|
|
IsSpaceNeeded: Boolean;
|
|
|
- LastChar, Quote: AnsiChar;
|
|
|
+ LastChar, Quote: Char;
|
|
|
begin
|
|
|
Result:=true;
|
|
|
Msg:='';
|
|
|
if Expected='' then Expected:=' ';
|
|
|
if Actual='' then Actual:=' ';
|
|
|
- ExpectedP:=PAnsiChar(Expected);
|
|
|
- ActualP:=PAnsiChar(Actual);
|
|
|
+ ExpectedP:=PChar(Expected);
|
|
|
+ ActualP:=PChar(Actual);
|
|
|
repeat
|
|
|
//writeln('TTestModule.CheckDiff Exp="',ExpectedP^,'" Act="',ActualP^,'"');
|
|
|
case ExpectedP^ of
|
|
@@ -1177,7 +1177,7 @@ begin
|
|
|
begin
|
|
|
// skip space in Expected
|
|
|
IsSpaceNeeded:=false;
|
|
|
- if ExpectedP>PAnsiChar(Expected) then
|
|
|
+ if ExpectedP>PChar(Expected) then
|
|
|
LastChar:=ExpectedP[-1]
|
|
|
else
|
|
|
LastChar:=#0;
|
|
@@ -1881,8 +1881,8 @@ begin
|
|
|
//' LineEnding = #10;',
|
|
|
//' DirectorySeparator = ''/'';',
|
|
|
//' DriveSeparator = '''';',
|
|
|
- //' AllowDirectorySeparators : set of AnsiChar = [''\'',''/''];',
|
|
|
- //' AllowDriveSeparators : set of AnsiChar = [];',
|
|
|
+ //' AllowDirectorySeparators : set of char = [''\'',''/''];',
|
|
|
+ //' AllowDriveSeparators : set of char = [];',
|
|
|
if supTObject in Parts then
|
|
|
Intf.AddStrings([
|
|
|
'type',
|
|
@@ -2475,7 +2475,7 @@ var
|
|
|
while p^ in ['a'..'z','A'..'Z','_','0'..'9'] do inc(p);
|
|
|
Result:='';
|
|
|
SetLength(Result,p-StartP);
|
|
|
- Move(StartP^,Result[1],length(Result)*sizeof(char));
|
|
|
+ Move(StartP^,Result[1],length(Result));
|
|
|
end;
|
|
|
|
|
|
procedure AddLabel;
|
|
@@ -2515,7 +2515,7 @@ var
|
|
|
|
|
|
procedure ParseCode(SrcLines: TStringList; aFilename: string);
|
|
|
var
|
|
|
- p,pstart,pend: PChar;
|
|
|
+ p: PChar;
|
|
|
IsDirective: Boolean;
|
|
|
begin
|
|
|
//writeln('TCustomTestModule.CheckReferenceDirectives.ParseCode File=',aFilename);
|
|
@@ -2528,13 +2528,10 @@ var
|
|
|
SrcLine:=SrcLines[LineNumber-1];
|
|
|
if SrcLine='' then continue;
|
|
|
//writeln('TCustomTestModule.CheckReferenceDirectives Line=',SrcLine);
|
|
|
- pstart:=PChar(SrcLine);
|
|
|
- pend:=pstart;
|
|
|
- inc(PEnd,length(SrcLine));
|
|
|
- p:=pstart;
|
|
|
+ p:=PChar(SrcLine);
|
|
|
repeat
|
|
|
case p^ of
|
|
|
- #0: if (p>=pend) then break;
|
|
|
+ #0: if (p-PChar(SrcLine)=length(SrcLine)) then break;
|
|
|
'{':
|
|
|
begin
|
|
|
CommentStartP:=p;
|
|
@@ -2545,7 +2542,7 @@ var
|
|
|
repeat
|
|
|
case p^ of
|
|
|
#0:
|
|
|
- if (p>=pend) then
|
|
|
+ if (p-PChar(SrcLine)=length(SrcLine)) then
|
|
|
begin
|
|
|
// multi line comment
|
|
|
if IsDirective then
|
|
@@ -2556,10 +2553,7 @@ var
|
|
|
SrcLine:=SrcLines[LineNumber-1];
|
|
|
//writeln('TCustomTestModule.CheckReferenceDirectives Comment Line=',SrcLine);
|
|
|
until SrcLine<>'';
|
|
|
- pstart:=PChar(SrcLine);
|
|
|
- pend:=pstart;
|
|
|
- inc(PEnd,length(SrcLine));
|
|
|
- p:=pstart;
|
|
|
+ p:=PChar(SrcLine);
|
|
|
continue;
|
|
|
end;
|
|
|
'}':
|
|
@@ -3452,12 +3446,12 @@ begin
|
|
|
Add('var');
|
|
|
Add(' i: longint;');
|
|
|
Add(' s: string;');
|
|
|
- Add(' c: AnsiChar;');
|
|
|
+ Add(' c: char;');
|
|
|
Add(' b: boolean;');
|
|
|
Add(' d: double;');
|
|
|
Add(' i2: longint = 3;');
|
|
|
Add(' s2: string = ''foo'';');
|
|
|
- Add(' c2: AnsiChar = ''4'';');
|
|
|
+ Add(' c2: char = ''4'';');
|
|
|
Add(' b2: boolean = true;');
|
|
|
Add(' d2: double = 5.6;');
|
|
|
Add(' i3: longint = $707;');
|
|
@@ -3518,7 +3512,7 @@ begin
|
|
|
Add('const');
|
|
|
Add(' i: longint = 3;');
|
|
|
Add(' s: string = ''foo'';');
|
|
|
- Add(' c: AnsiChar = ''4'';');
|
|
|
+ Add(' c: char = ''4'';');
|
|
|
Add(' b: boolean = true;');
|
|
|
Add(' d: double = 5.6;');
|
|
|
Add(' e = low(word);');
|
|
@@ -3568,7 +3562,7 @@ begin
|
|
|
' b: boolean;',
|
|
|
' d: double;',
|
|
|
' s: string;',
|
|
|
- ' c: AnsiChar;',
|
|
|
+ ' c: char;',
|
|
|
'begin',
|
|
|
' i:=longint(i);',
|
|
|
' i:=longint(b);',
|
|
@@ -3578,11 +3572,11 @@ begin
|
|
|
' d:=double(i);',
|
|
|
' s:=string(s);',
|
|
|
' s:=string(c);',
|
|
|
- ' c:=AnsiChar(c);',
|
|
|
- ' c:=AnsiChar(i);',
|
|
|
- ' c:=AnsiChar(65);',
|
|
|
- ' c:=AnsiChar(#10);',
|
|
|
- ' c:=AnsiChar(#$E000);',
|
|
|
+ ' c:=char(c);',
|
|
|
+ ' c:=char(i);',
|
|
|
+ ' c:=char(65);',
|
|
|
+ ' c:=char(#10);',
|
|
|
+ ' c:=char(#$E000);',
|
|
|
'']);
|
|
|
ConvertProgram;
|
|
|
CheckSource('TestAliasTypeRef',
|
|
@@ -3618,7 +3612,7 @@ begin
|
|
|
Add(' TYesNo = boolean;');
|
|
|
Add(' TFloat = double;');
|
|
|
Add(' TCaption = string;');
|
|
|
- Add(' TChar = AnsiChar;');
|
|
|
+ Add(' TChar = char;');
|
|
|
Add('var');
|
|
|
Add(' i: integer;');
|
|
|
Add(' b: TYesNo;');
|
|
@@ -5011,7 +5005,7 @@ begin
|
|
|
StartProgram(false);
|
|
|
Add(['type TCaption = string;',
|
|
|
'procedure DoIt(vA: TCaption; var vB: TCaption; out vC: TCaption);',
|
|
|
- 'var c: AnsiChar;',
|
|
|
+ 'var c: char;',
|
|
|
'begin',
|
|
|
' va[1]:=c;',
|
|
|
' vb[2]:=c;',
|
|
@@ -7321,7 +7315,7 @@ begin
|
|
|
' TAtoZ = ''A''..''Z'';',
|
|
|
' TSetOfAZ = set of TAtoZ;',
|
|
|
'var',
|
|
|
- ' c: AnsiChar;',
|
|
|
+ ' c: char;',
|
|
|
' a: TAtoZ;',
|
|
|
' s: TSetOfAZ = [''P'',''A''];',
|
|
|
' i: longint;',
|
|
@@ -7405,7 +7399,7 @@ begin
|
|
|
' Chars = LowChars+[''A''..''Z''];',
|
|
|
' sc = [''А'', ''Я''];',
|
|
|
'var',
|
|
|
- ' c: AnsiChar;',
|
|
|
+ ' c: char;',
|
|
|
' s: string;',
|
|
|
'begin',
|
|
|
' if c in lowchars then ;',
|
|
@@ -8595,7 +8589,7 @@ begin
|
|
|
Add([
|
|
|
'const',
|
|
|
' a = #$00F3;',
|
|
|
- ' c: AnsiChar = ''1'';',
|
|
|
+ ' c: char = ''1'';',
|
|
|
' wc: widechar = ''ä'';',
|
|
|
'begin',
|
|
|
' c:=#0;',
|
|
@@ -8611,7 +8605,7 @@ begin
|
|
|
' c:=#$0b;',
|
|
|
' c:=^A;',
|
|
|
' c:=''"'';',
|
|
|
- ' c:=default(AnsiChar);',
|
|
|
+ ' c:=default(char);',
|
|
|
' c:=#$00E4;', // ä
|
|
|
' c:=''ä'';',
|
|
|
' c:=#$E4;', // ä
|
|
@@ -8658,7 +8652,7 @@ procedure TTestModule.TestChar_Compare;
|
|
|
begin
|
|
|
StartProgram(false);
|
|
|
Add('var');
|
|
|
- Add(' c: AnsiChar;');
|
|
|
+ Add(' c: char;');
|
|
|
Add(' b: boolean;');
|
|
|
Add('begin');
|
|
|
Add(' b:=c=''1'';');
|
|
@@ -8702,7 +8696,7 @@ begin
|
|
|
StartProgram(false);
|
|
|
Add([
|
|
|
'var',
|
|
|
- ' c: AnsiChar;',
|
|
|
+ ' c: char;',
|
|
|
' i: longint;',
|
|
|
' s: string;',
|
|
|
'begin',
|
|
@@ -8817,7 +8811,7 @@ begin
|
|
|
StartProgram(false);
|
|
|
Add([
|
|
|
'const',
|
|
|
- ' a: AnsiChar = #$D87E;',
|
|
|
+ ' a: char = #$D87E;',
|
|
|
' b: string = #$D87E;',
|
|
|
' c: string = #$D87E#43;',
|
|
|
'begin',
|
|
@@ -8993,7 +8987,7 @@ begin
|
|
|
Add([
|
|
|
'var',
|
|
|
' s: string;',
|
|
|
- ' c: AnsiChar;',
|
|
|
+ ' c: char;',
|
|
|
' b: boolean;',
|
|
|
'begin',
|
|
|
' b:= s[1] = c;',
|
|
@@ -9146,7 +9140,7 @@ begin
|
|
|
'const',
|
|
|
' crg: TCharRg = ''b'';',
|
|
|
'var',
|
|
|
- ' c: AnsiChar;',
|
|
|
+ ' c: char;',
|
|
|
' crg2: TCharRg2;',
|
|
|
' s: TSetOfCharRg;',
|
|
|
'begin',
|
|
@@ -9185,14 +9179,14 @@ procedure TTestModule.TestWideChar;
|
|
|
begin
|
|
|
StartProgram(false);
|
|
|
Add([
|
|
|
- 'procedure Fly(var c: AnsiChar);',
|
|
|
+ 'procedure Fly(var c: char);',
|
|
|
'begin',
|
|
|
'end;',
|
|
|
'procedure Run(var c: widechar);',
|
|
|
'begin',
|
|
|
'end;',
|
|
|
'var',
|
|
|
- ' c: AnsiChar;',
|
|
|
+ ' c: char;',
|
|
|
' wc: widechar;',
|
|
|
' w: word;',
|
|
|
'begin',
|
|
@@ -9241,7 +9235,7 @@ procedure TTestModule.TestForCharDo;
|
|
|
begin
|
|
|
StartProgram(false);
|
|
|
Add([
|
|
|
- 'var c: AnsiChar;',
|
|
|
+ 'var c: char;',
|
|
|
'begin',
|
|
|
' for c:=''a'' to ''c'' do ;',
|
|
|
' for c:=c downto ''a'' do ;',
|
|
@@ -9263,22 +9257,22 @@ begin
|
|
|
StartProgram(false);
|
|
|
Add([
|
|
|
'type',
|
|
|
- ' TSetOfChar = set of AnsiChar;',
|
|
|
+ ' TSetOfChar = set of char;',
|
|
|
' TCharRg = ''a''..''z'';',
|
|
|
' TSetOfCharRg = set of TCharRg;',
|
|
|
'const Foo = ''foo'';',
|
|
|
'var',
|
|
|
- ' c,c2: AnsiChar;',
|
|
|
+ ' c,c2: char;',
|
|
|
' s: string;',
|
|
|
- ' a1: array of AnsiChar;',
|
|
|
- ' a2: array[1..3] of AnsiChar;',
|
|
|
+ ' a1: array of char;',
|
|
|
+ ' a2: array[1..3] of char;',
|
|
|
' soc: TSetOfChar;',
|
|
|
' socr: TSetOfCharRg;',
|
|
|
' cr: TCharRg;',
|
|
|
'begin',
|
|
|
' for c in foo do ;',
|
|
|
' for c in s do ;',
|
|
|
- ' for c in AnsiChar do ;',
|
|
|
+ ' for c in char do ;',
|
|
|
' for c in a1 do ;',
|
|
|
' for c in a2 do ;',
|
|
|
' for c in [''1''..''3''] do ;',
|
|
@@ -9349,7 +9343,7 @@ begin
|
|
|
Add('procedure p1(i: longint = 1);');
|
|
|
Add('begin');
|
|
|
Add('end;');
|
|
|
- Add('procedure p2(i: longint = 1; c: AnsiChar = ''a'');');
|
|
|
+ Add('procedure p2(i: longint = 1; c: char = ''a'');');
|
|
|
Add('begin');
|
|
|
Add('end;');
|
|
|
Add('procedure p3(d: double = 1.0; b: boolean = false; s: string = ''abc'');');
|
|
@@ -10041,7 +10035,7 @@ procedure TTestModule.TestCaseOfChar;
|
|
|
begin
|
|
|
StartProgram(false);
|
|
|
Add([
|
|
|
- 'var s,h: AnsiChar;',
|
|
|
+ 'var s,h: char;',
|
|
|
'begin',
|
|
|
' case s of',
|
|
|
' ''a''..''z'': h:=s;',
|
|
@@ -10398,16 +10392,16 @@ begin
|
|
|
StartProgram(false);
|
|
|
Add([
|
|
|
'type',
|
|
|
- ' TChars = array[AnsiChar] of AnsiChar;',
|
|
|
- ' TChars2 = array[''a''..''z''] of AnsiChar;',
|
|
|
+ ' TChars = array[char] of char;',
|
|
|
+ ' TChars2 = array[''a''..''z''] of char;',
|
|
|
'var',
|
|
|
' Arr: TChars;',
|
|
|
' Arr2: TChars2;',
|
|
|
- ' Arr3: array[2..4] of AnsiChar = (''p'',''a'',''s'');',
|
|
|
- ' Arr4: array[11..13] of AnsiChar = ''pas'';',
|
|
|
- ' Arr5: array[21..22] of AnsiChar = ''äö'';',
|
|
|
- ' Arr6: array[31..32] of AnsiChar = ''ä''+''ö'';',
|
|
|
- ' c: AnsiChar;',
|
|
|
+ ' Arr3: array[2..4] of char = (''p'',''a'',''s'');',
|
|
|
+ ' Arr4: array[11..13] of char = ''pas'';',
|
|
|
+ ' Arr5: array[21..22] of char = ''äö'';',
|
|
|
+ ' Arr6: array[31..32] of char = ''ä''+''ö'';',
|
|
|
+ ' c: char;',
|
|
|
' b: boolean;',
|
|
|
'begin',
|
|
|
' c:=low(arr);',
|
|
@@ -11262,12 +11256,12 @@ procedure TTestModule.TestArray_ArrayOfCharAssignString;
|
|
|
begin
|
|
|
StartProgram(false);
|
|
|
Add([
|
|
|
- 'type TArr = array of AnsiChar;',
|
|
|
+ 'type TArr = array of char;',
|
|
|
'var',
|
|
|
- ' c: AnsiChar;',
|
|
|
+ ' c: char;',
|
|
|
' s: string;',
|
|
|
' a: TArr;',
|
|
|
- 'procedure Run(const a: array of AnsiChar);',
|
|
|
+ 'procedure Run(const a: array of char);',
|
|
|
'begin',
|
|
|
' Run(c);',
|
|
|
' Run(s);',
|
|
@@ -11802,7 +11796,7 @@ begin
|
|
|
' Aliases: TarrStr = (''foo'',''b'');',
|
|
|
' OneInt: TArrInt = (7);',
|
|
|
' OneStr: array of integer = (7);',
|
|
|
- ' Chars: array of AnsiChar = ''aoc'';',
|
|
|
+ ' Chars: array of char = ''aoc'';',
|
|
|
' Names: array of string = (''a'',''foo'');',
|
|
|
' NameCount = low(Names)+high(Names)+length(Names);',
|
|
|
'var i: integer;',
|
|
@@ -11859,7 +11853,7 @@ begin
|
|
|
' Aliases: TarrStr = [''foo'',''b''];',
|
|
|
' OneInt: TArrInt = [7];',
|
|
|
' OneStr: array of integer = [7]+[8];',
|
|
|
- ' Chars: array of AnsiChar = ''aoc'';',
|
|
|
+ ' Chars: array of char = ''aoc'';',
|
|
|
' Names: array of string = [''a'',''a''];',
|
|
|
' NameCount = low(Names)+high(Names)+length(Names);',
|
|
|
'begin',
|
|
@@ -14779,7 +14773,7 @@ begin
|
|
|
Add(' end;');
|
|
|
Add(' TA = class');
|
|
|
Add(' constructor Create; override;');
|
|
|
- Add(' constructor CreateWithC(c: AnsiChar);');
|
|
|
+ Add(' constructor CreateWithC(c: char);');
|
|
|
Add(' procedure DoIt;');
|
|
|
Add(' class function DoSome: TObject;');
|
|
|
Add(' end;');
|
|
@@ -14798,7 +14792,7 @@ begin
|
|
|
Add(' inherited create; // normal call TObject.Create');
|
|
|
Add(' inherited createwithb(false); // normal call TObject.CreateWithB');
|
|
|
Add('end;');
|
|
|
- Add('constructor ta.createwithc(c: AnsiChar);');
|
|
|
+ Add('constructor ta.createwithc(c: char);');
|
|
|
Add('begin');
|
|
|
Add(' inherited create; // call TObject.Create');
|
|
|
Add(' inherited createwithb(true); // call TObject.CreateWithB');
|
|
@@ -27297,7 +27291,7 @@ begin
|
|
|
' TStringHelper = type helper for string',
|
|
|
' procedure DoIt(e: byte = 123);',
|
|
|
' end;',
|
|
|
- ' TCharHelper = type helper for AnsiChar',
|
|
|
+ ' TCharHelper = type helper for char',
|
|
|
' procedure Fly;',
|
|
|
' end;',
|
|
|
'procedure TStringHelper.DoIt(e: byte);',
|
|
@@ -29847,14 +29841,14 @@ begin
|
|
|
Add(' TYesNo = boolean;');
|
|
|
Add(' TFloat = double;');
|
|
|
Add(' TCaption = string;');
|
|
|
- Add(' TChar = AnsiChar;');
|
|
|
+ Add(' TChar = char;');
|
|
|
Add('var');
|
|
|
Add(' v: jsvalue;');
|
|
|
Add(' i: integer;');
|
|
|
Add(' s: TCaption;');
|
|
|
Add(' b: TYesNo;');
|
|
|
Add(' d: TFloat;');
|
|
|
- Add(' c: AnsiChar;');
|
|
|
+ Add(' c: char;');
|
|
|
Add('begin');
|
|
|
Add(' i:=longint(v);');
|
|
|
Add(' i:=integer(v);');
|
|
@@ -29864,7 +29858,7 @@ begin
|
|
|
Add(' b:=TYesNo(v);');
|
|
|
Add(' d:=double(v);');
|
|
|
Add(' d:=TFloat(v);');
|
|
|
- Add(' c:=AnsiChar(v);');
|
|
|
+ Add(' c:=char(v);');
|
|
|
Add(' c:=TChar(v);');
|
|
|
ConvertProgram;
|
|
|
CheckSource('TestJSValue_TypeCastToBaseType',
|
|
@@ -29942,7 +29936,7 @@ begin
|
|
|
Add(' TYesNo = boolean;');
|
|
|
Add(' TFloat = double;');
|
|
|
Add(' TCaption = string;');
|
|
|
- Add(' TChar = AnsiChar;');
|
|
|
+ Add(' TChar = char;');
|
|
|
Add(' TMulti = JSValue;');
|
|
|
Add('var');
|
|
|
Add(' v: jsvalue;');
|
|
@@ -29950,7 +29944,7 @@ begin
|
|
|
Add(' s: TCaption;');
|
|
|
Add(' b: TYesNo;');
|
|
|
Add(' d: TFloat;');
|
|
|
- Add(' c: AnsiChar;');
|
|
|
+ Add(' c: char;');
|
|
|
Add(' m: TMulti;');
|
|
|
Add('begin');
|
|
|
Add(' b:=v=v;');
|
|
@@ -30325,7 +30319,7 @@ begin
|
|
|
Add(' TYesNo = boolean;');
|
|
|
Add(' TFloat = double;');
|
|
|
Add(' TCaption = string;');
|
|
|
- Add(' TChar = AnsiChar;');
|
|
|
+ Add(' TChar = char;');
|
|
|
Add('function DoIt(a: jsvalue; const b: jsvalue; var c: jsvalue; out d: jsvalue): jsvalue;');
|
|
|
Add('var');
|
|
|
Add(' l: jsvalue;');
|
|
@@ -30919,12 +30913,12 @@ begin
|
|
|
Add([
|
|
|
'type',
|
|
|
' uni = string;',
|
|
|
- ' WChar = AnsiChar;',
|
|
|
+ ' WChar = char;',
|
|
|
'procedure DoIt(s: string); begin end;',
|
|
|
'procedure DoIt(v: jsvalue); begin end;',
|
|
|
'var',
|
|
|
' s: string;',
|
|
|
- ' c: AnsiChar;',
|
|
|
+ ' c: char;',
|
|
|
' u: uni;',
|
|
|
'begin',
|
|
|
' DoIt(s);',
|
|
@@ -30955,12 +30949,12 @@ begin
|
|
|
Add([
|
|
|
'type',
|
|
|
' uni = string;',
|
|
|
- ' WChar = AnsiChar;',
|
|
|
- 'procedure DoIt(c: AnsiChar); begin end;',
|
|
|
+ ' WChar = char;',
|
|
|
+ 'procedure DoIt(c: char); begin end;',
|
|
|
'procedure DoIt(v: jsvalue); begin end;',
|
|
|
'var',
|
|
|
' s: string;',
|
|
|
- ' c: AnsiChar;',
|
|
|
+ ' c: char;',
|
|
|
' u: uni;',
|
|
|
'begin',
|
|
|
' DoIt(s);',
|
|
@@ -31115,7 +31109,7 @@ begin
|
|
|
Add(' TProcA = procedure;');
|
|
|
Add(' TMethodB = procedure of object;');
|
|
|
Add(' TProcC = procedure; varargs;');
|
|
|
- Add(' TProcD = procedure(i: longint; const j: string; var c: AnsiChar; out d: double);');
|
|
|
+ Add(' TProcD = procedure(i: longint; const j: string; var c: char; out d: double);');
|
|
|
Add(' TProcE = function: nativeint;');
|
|
|
Add(' TProcF = function(const p: TProcA): nativeuint;');
|
|
|
Add('var p: pointer;');
|
|
@@ -31135,7 +31129,7 @@ begin
|
|
|
' procsig: rtl.newTIProcSig([], null, 2)',
|
|
|
'});',
|
|
|
'this.$rtti.$ProcVar("TProcD", {',
|
|
|
- ' procsig: rtl.newTIProcSig([["i", rtl.longint], ["j", rtl.string, 2], ["c", rtl.AnsiChar, 1], ["d", rtl.double, 4]])',
|
|
|
+ ' procsig: rtl.newTIProcSig([["i", rtl.longint], ["j", rtl.string, 2], ["c", rtl.char, 1], ["d", rtl.double, 4]])',
|
|
|
'});',
|
|
|
'this.$rtti.$ProcVar("TProcE", {',
|
|
|
' procsig: rtl.newTIProcSig([], rtl.nativeint)',
|
|
@@ -31200,7 +31194,7 @@ begin
|
|
|
' ProcA: procedure;',
|
|
|
' MethodB: procedure of object;',
|
|
|
' ProcC: procedure; varargs;',
|
|
|
- ' ProcD: procedure(i: longint; const j: string; var c: AnsiChar; out d: double);',
|
|
|
+ ' ProcD: procedure(i: longint; const j: string; var c: char; out d: double);',
|
|
|
' ProcE: function: nativeint;',
|
|
|
' p: pointer;',
|
|
|
'begin',
|
|
@@ -31222,7 +31216,7 @@ begin
|
|
|
'});',
|
|
|
'this.ProcC = null;',
|
|
|
'this.$rtti.$ProcVar("ProcD$a", {',
|
|
|
- ' procsig: rtl.newTIProcSig([["i", rtl.longint], ["j", rtl.string, 2], ["c", rtl.AnsiChar, 1], ["d", rtl.double, 4]])',
|
|
|
+ ' procsig: rtl.newTIProcSig([["i", rtl.longint], ["j", rtl.string, 2], ["c", rtl.char, 1], ["d", rtl.double, 4]])',
|
|
|
'});',
|
|
|
'this.ProcD = null;',
|
|
|
'this.$rtti.$ProcVar("ProcE$a", {',
|
|
@@ -31578,7 +31572,7 @@ begin
|
|
|
Add(' FPropA: string;');
|
|
|
Add(' published');
|
|
|
Add(' VarLI: longint;');
|
|
|
- Add(' VarC: AnsiChar;');
|
|
|
+ Add(' VarC: char;');
|
|
|
Add(' VarS: string;');
|
|
|
Add(' VarD: double;');
|
|
|
Add(' VarB: boolean;');
|
|
@@ -31621,7 +31615,7 @@ begin
|
|
|
' };',
|
|
|
' var $r = this.$rtti;',
|
|
|
' $r.addField("VarLI", rtl.longint);',
|
|
|
- ' $r.addField("VarC", rtl.AnsiChar);',
|
|
|
+ ' $r.addField("VarC", rtl.char);',
|
|
|
' $r.addField("VarS", rtl.string);',
|
|
|
' $r.addField("VarD", rtl.double);',
|
|
|
' $r.addField("VarB", rtl.boolean);',
|
|
@@ -31804,11 +31798,11 @@ begin
|
|
|
Add(' private');
|
|
|
Add(' function GetItems(i: integer): tobject; virtual; abstract;');
|
|
|
Add(' procedure SetItems(i: integer; value: tobject); virtual; abstract;');
|
|
|
- Add(' function GetValues(const i: integer; var b: boolean): AnsiChar; virtual; abstract;');
|
|
|
- Add(' procedure SetValues(const i: integer; var b: boolean; value: AnsiChar); virtual; abstract;');
|
|
|
+ Add(' function GetValues(const i: integer; var b: boolean): char; virtual; abstract;');
|
|
|
+ Add(' procedure SetValues(const i: integer; var b: boolean; value: char); virtual; abstract;');
|
|
|
Add(' published');
|
|
|
Add(' property Items[Index: integer]: tobject read getitems write setitems;');
|
|
|
- Add(' property Values[const keya: integer; var keyb: boolean]: AnsiChar read getvalues write setvalues;');
|
|
|
+ Add(' property Values[const keya: integer; var keyb: boolean]: char read getvalues write setvalues;');
|
|
|
Add(' end;');
|
|
|
Add('begin');
|
|
|
ConvertProgram;
|
|
@@ -31821,7 +31815,7 @@ begin
|
|
|
' };',
|
|
|
' var $r = this.$rtti;',
|
|
|
' $r.addProperty("Items", 3, $r, "GetItems", "SetItems");',
|
|
|
- ' $r.addProperty("Values", 3, rtl.AnsiChar, "GetValues", "SetValues");',
|
|
|
+ ' $r.addProperty("Values", 3, rtl.char, "GetValues", "SetValues");',
|
|
|
'});',
|
|
|
'']),
|
|
|
LinesToStr([ // $mod.$main
|
|
@@ -32693,7 +32687,7 @@ begin
|
|
|
StartProgram(false);
|
|
|
Add('type');
|
|
|
Add(' TFloatRec = record');
|
|
|
- Add(' c,d: array of AnsiChar;');
|
|
|
+ Add(' c,d: array of char;');
|
|
|
// Add(' i: array of array of longint;');
|
|
|
Add(' end;');
|
|
|
Add('var p: pointer;');
|
|
@@ -32722,7 +32716,7 @@ begin
|
|
|
' };',
|
|
|
' var $r = $mod.$rtti.$Record("TFloatRec", {});',
|
|
|
' $mod.$rtti.$DynArray("TFloatRec.d$a", {',
|
|
|
- ' eltype: rtl.AnsiChar',
|
|
|
+ ' eltype: rtl.char',
|
|
|
' });',
|
|
|
' $r.addField("c", $mod.$rtti["TFloatRec.d$a"]);',
|
|
|
' $r.addField("d", $mod.$rtti["TFloatRec.d$a"]);',
|
|
@@ -32818,7 +32812,7 @@ begin
|
|
|
'type',
|
|
|
' TCaption = string;',
|
|
|
' TYesNo = boolean;',
|
|
|
- ' TLetter = AnsiChar;',
|
|
|
+ ' TLetter = char;',
|
|
|
' TFloat = double;',
|
|
|
' TPtr = pointer;',
|
|
|
' TShortInt = shortint;',
|
|
@@ -32834,7 +32828,7 @@ begin
|
|
|
' p:=typeinfo(tcaption);',
|
|
|
' p:=typeinfo(boolean);',
|
|
|
' p:=typeinfo(tyesno);',
|
|
|
- ' p:=typeinfo(AnsiChar);',
|
|
|
+ ' p:=typeinfo(char);',
|
|
|
' p:=typeinfo(tletter);',
|
|
|
' p:=typeinfo(double);',
|
|
|
' p:=typeinfo(tfloat);',
|
|
@@ -32863,8 +32857,8 @@ begin
|
|
|
'$mod.p = rtl.string;',
|
|
|
'$mod.p = rtl.boolean;',
|
|
|
'$mod.p = rtl.boolean;',
|
|
|
- '$mod.p = rtl.AnsiChar;',
|
|
|
- '$mod.p = rtl.AnsiChar;',
|
|
|
+ '$mod.p = rtl.char;',
|
|
|
+ '$mod.p = rtl.char;',
|
|
|
'$mod.p = rtl.double;',
|
|
|
'$mod.p = rtl.double;',
|
|
|
'$mod.p = rtl.pointer;',
|
|
@@ -32892,7 +32886,7 @@ begin
|
|
|
'type',
|
|
|
' TCaption = type string;',
|
|
|
' TYesNo = type boolean;',
|
|
|
- ' TLetter = type AnsiChar;',
|
|
|
+ ' TLetter = type char;',
|
|
|
' TFloat = type double;',
|
|
|
' TPtr = type pointer;',
|
|
|
' TShortInt = type shortint;',
|
|
@@ -32926,7 +32920,7 @@ begin
|
|
|
LinesToStr([ // statements
|
|
|
'this.$rtti.$inherited("TCaption", rtl.string, {});',
|
|
|
'this.$rtti.$inherited("TYesNo", rtl.boolean, {});',
|
|
|
- 'this.$rtti.$inherited("TLetter", rtl.AnsiChar, {});',
|
|
|
+ 'this.$rtti.$inherited("TLetter", rtl.char, {});',
|
|
|
'this.$rtti.$inherited("TFloat", rtl.double, {});',
|
|
|
'this.$rtti.$inherited("TPtr", rtl.pointer, {});',
|
|
|
'this.$rtti.$inherited("TShortInt", rtl.shortint, {});',
|
|
@@ -32993,7 +32987,7 @@ begin
|
|
|
'begin',
|
|
|
' ti:=typeinfo(string);',
|
|
|
' ti:=typeinfo(boolean);',
|
|
|
- ' ti:=typeinfo(AnsiChar);',
|
|
|
+ ' ti:=typeinfo(char);',
|
|
|
' ti:=typeinfo(double);',
|
|
|
' tiInt:=typeinfo(shortint);',
|
|
|
' tiInt:=typeinfo(byte);',
|
|
@@ -33030,7 +33024,7 @@ begin
|
|
|
LinesToStr([ // $mod.$main
|
|
|
'$mod.ti = rtl.string;',
|
|
|
'$mod.ti = rtl.boolean;',
|
|
|
- '$mod.ti = rtl.AnsiChar;',
|
|
|
+ '$mod.ti = rtl.char;',
|
|
|
'$mod.ti = rtl.double;',
|
|
|
'$mod.tiInt = rtl.shortint;',
|
|
|
'$mod.tiInt = rtl.byte;',
|
|
@@ -33621,7 +33615,7 @@ begin
|
|
|
' Red = ''red'';',
|
|
|
' Foobar = ''fOo''+bar;',
|
|
|
'var s: string;',
|
|
|
- ' c: AnsiChar;',
|
|
|
+ ' c: char;',
|
|
|
'begin',
|
|
|
' s:=red;',
|
|
|
' s:=test1.red;',
|
|
@@ -34403,7 +34397,7 @@ begin
|
|
|
Add([
|
|
|
'{$R+}',
|
|
|
'type',
|
|
|
- ' TLetter = AnsiChar;',
|
|
|
+ ' TLetter = char;',
|
|
|
'var',
|
|
|
' b: TLetter = ''2'';',
|
|
|
' w: TLetter = ''3'';',
|
|
@@ -34509,7 +34503,7 @@ begin
|
|
|
' ArrChar: TArrChar;',
|
|
|
' ArrByteChar: TArrByteChar;',
|
|
|
' i: Ten;',
|
|
|
- ' c: AnsiChar;',
|
|
|
+ ' c: char;',
|
|
|
' o: tobject;',
|
|
|
'begin',
|
|
|
' i:=Arr[1];',
|
|
@@ -34643,7 +34637,7 @@ begin
|
|
|
'var',
|
|
|
' s: string;',
|
|
|
' i: longint;',
|
|
|
- ' c: AnsiChar;',
|
|
|
+ ' c: char;',
|
|
|
' o: tobject;',
|
|
|
'begin',
|
|
|
' c:=s[1];',
|