-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathVarMapping.pas
More file actions
59 lines (49 loc) · 1.24 KB
/
VarMapping.pas
File metadata and controls
59 lines (49 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
unit VarMapping;
interface
uses
Classes, Types, SysUtils, LineMapping;
type
TVarMapping = class(TLineMapping)
private
FElementName: string;
FTypeName: string;
protected
function GetText(): string; override;
public
constructor Create(); reintroduce;
procedure ReadFromLine(ALine: string); override;
property ElementName: string read FElementName write FElementName;
property TypeName: string read FTypeName write FTypeName;
end;
implementation
uses
StrUtils;
{ TVarMapping }
constructor TVarMapping.Create;
begin
inherited;
FIsPossibleBreakPoint := False;
end;
function TVarMapping.GetText: string;
begin
Result := inherited + '#' + ElementName + ',' + TypeName;
end;
procedure TVarMapping.ReadFromLine(ALine: string);
var
LLines: TStringDynArray;
LElements: TStringDynArray;
begin
LLines := SplitString(ALine, '#');
if Length(LLines) = 2 then
begin
inherited ReadFromLine(LLines[0]);
LElements := SplitString(LLines[1], ',');
FElementName := LElements[0];
FTypeName := LElements[1];
end
else
begin
raise Exception.Create('Expected 2 LineElements in TVarMapping but found ' + IntToStr(Length(LLines)));
end;
end;
end.