RTL custom interface types as records

This commit is contained in:
Michael Schimmel
2025-12-11 14:22:09 +01:00
parent 3ed5a4011f
commit 18dde168fd
13 changed files with 918 additions and 84 deletions
+5 -13
View File
@@ -227,10 +227,6 @@ type
function VisitNop(const Node: INopNode): TVoid; override;
end;
// -----------------------------------------------------------------------------
// IMPLEMENTATION: Helpers & Basic Types
// -----------------------------------------------------------------------------
function TTokenKindHelper.ToString: String;
begin
case Self of
@@ -259,9 +255,7 @@ begin
Result := TIdentities.Location(Line, Col);
end;
// -----------------------------------------------------------------------------
// IMPLEMENTATION: Lexer
// -----------------------------------------------------------------------------
{ EParserException }
constructor EParserException.Create(const AMessage: string; ALine, ACol: Integer);
begin
@@ -270,6 +264,8 @@ begin
FCol := ACol;
end;
{ TLexer }
constructor TLexer.Create(const ASource: string);
begin
inherited Create;
@@ -811,9 +807,7 @@ begin
Result := expr.Node;
end;
// -----------------------------------------------------------------------------
// IMPLEMENTATION: PrettyPrintVisitor
// -----------------------------------------------------------------------------
{ TPrettyPrintVisitor }
constructor TPrettyPrintVisitor.Create;
begin
@@ -1136,9 +1130,7 @@ begin
Append(')');
end;
// -----------------------------------------------------------------------------
// IMPLEMENTATION: TAstScript Facade
// -----------------------------------------------------------------------------
{ TAstScript }
class function TAstScript.Parse(const ASource: string): IAstNode;
var