|
@@ -48,8 +48,8 @@ Type
|
|
function IndexOfDefinition(const AName: String): Integer;
|
|
function IndexOfDefinition(const AName: String): Integer;
|
|
Function FindDefinition(const AName : String) : TIDLDefinition;
|
|
Function FindDefinition(const AName : String) : TIDLDefinition;
|
|
Function AsString(Full: Boolean): UTF8String; override;
|
|
Function AsString(Full: Boolean): UTF8String; override;
|
|
- Function Add(aClass : TIDLDefinitionClass; const AName : UTF8String) : TIDLDefinition; override;
|
|
|
|
- Function Add(aParent : TIDLBaseObject; aClass : TIDLDefinitionClass; const AName : UTF8String) : TIDLDefinition; virtual;
|
|
|
|
|
|
+ Function Add(aClass : TIDLDefinitionClass; const AName : UTF8String; const aFile: string; aLine, aCol: integer) : TIDLDefinition; override;
|
|
|
|
+ Function Add(aParent : TIDLBaseObject; aClass : TIDLDefinitionClass; const AName : UTF8String; const aFile: string; aLine, aCol: integer) : TIDLDefinition; virtual;
|
|
Property Definitions : TIDLDefinitionList Read FDefinitions;
|
|
Property Definitions : TIDLDefinitionList Read FDefinitions;
|
|
Property Aliases : TStrings Read FAliases Write FAliases;
|
|
Property Aliases : TStrings Read FAliases Write FAliases;
|
|
end;
|
|
end;
|
|
@@ -72,6 +72,9 @@ Type
|
|
function CurrentToken: TIDLToken; virtual;
|
|
function CurrentToken: TIDLToken; virtual;
|
|
function GetToken: TIDLToken; virtual;
|
|
function GetToken: TIDLToken; virtual;
|
|
function CurrentTokenString: UTF8String;
|
|
function CurrentTokenString: UTF8String;
|
|
|
|
+ function CurrentRow: integer; virtual;
|
|
|
|
+ function CurrentColumn: integer; virtual;
|
|
|
|
+ function CurrentFile: string; virtual;
|
|
// Get next token, see if it is valid. Raise exception if not.
|
|
// Get next token, see if it is valid. Raise exception if not.
|
|
procedure MaybeFree(Result: TIDLDefinition; aParent: TIDLBaseObject);
|
|
procedure MaybeFree(Result: TIDLDefinition; aParent: TIDLBaseObject);
|
|
Procedure CheckCurrentToken(aToken: TIDLToken);
|
|
Procedure CheckCurrentToken(aToken: TIDLToken);
|
|
@@ -83,6 +86,7 @@ Type
|
|
procedure ParseExtAttributes(aList: TExtAttributeList; aTerminator: TIDLToken; ForSerializer: Boolean=False); virtual;
|
|
procedure ParseExtAttributes(aList: TExtAttributeList; aTerminator: TIDLToken; ForSerializer: Boolean=False); virtual;
|
|
// Definitions
|
|
// Definitions
|
|
// Type is a type without name of the type
|
|
// Type is a type without name of the type
|
|
|
|
+ function AddDefinition(aParent : TIDLBaseObject; aClass : TIDLDefinitionClass; const AName : UTF8String) : TIDLDefinition; virtual;
|
|
function ParseAttribute(aParent: TIDLBaseObject): TIDLAttributeDefinition; virtual;
|
|
function ParseAttribute(aParent: TIDLBaseObject): TIDLAttributeDefinition; virtual;
|
|
function ParseArgument(aParent: TIDLBaseObject): TIDLArgumentDefinition; virtual;
|
|
function ParseArgument(aParent: TIDLBaseObject): TIDLArgumentDefinition; virtual;
|
|
procedure ParseArguments(aParent: TIDLBaseObject);virtual;
|
|
procedure ParseArguments(aParent: TIDLBaseObject);virtual;
|
|
@@ -204,6 +208,21 @@ begin
|
|
Result:=Fscanner.CurTokenString;
|
|
Result:=Fscanner.CurTokenString;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+function TWebIDLParser.CurrentRow: integer;
|
|
|
|
+begin
|
|
|
|
+ Result:=FScanner.CurRow;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+function TWebIDLParser.CurrentColumn: integer;
|
|
|
|
+begin
|
|
|
|
+ Result:=FScanner.CurColumn;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+function TWebIDLParser.CurrentFile: string;
|
|
|
|
+begin
|
|
|
|
+ Result:=FScanner.CurFile;
|
|
|
|
+end;
|
|
|
|
+
|
|
procedure TWebIDLParser.CheckCurrentToken(aToken: TIDLToken);
|
|
procedure TWebIDLParser.CheckCurrentToken(aToken: TIDLToken);
|
|
begin
|
|
begin
|
|
if (aToken<>CurrentToken) then
|
|
if (aToken<>CurrentToken) then
|
|
@@ -317,6 +336,12 @@ begin
|
|
AddToList(S);
|
|
AddToList(S);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+function TWebIDLParser.AddDefinition(aParent: TIDLBaseObject;
|
|
|
|
+ aClass: TIDLDefinitionClass; const AName: UTF8String): TIDLDefinition;
|
|
|
|
+begin
|
|
|
|
+ Result:=Context.Add(aParent,aClass,AName,CurrentFile,CurrentRow,CurrentColumn);
|
|
|
|
+end;
|
|
|
|
+
|
|
function TWebIDLParser.ParseExtAttributes: TExtAttributeList;
|
|
function TWebIDLParser.ParseExtAttributes: TExtAttributeList;
|
|
|
|
|
|
var
|
|
var
|
|
@@ -341,7 +366,7 @@ function TWebIDLParser.ParseArgument(aParent : TIDLBaseObject): TIDLArgumentDefi
|
|
var
|
|
var
|
|
ok: Boolean;
|
|
ok: Boolean;
|
|
begin
|
|
begin
|
|
- Result:=TIDLArgumentDefinition(Context.Add(aParent,TIDLArgumentDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLArgumentDefinition(AddDefinition(aParent,TIDLArgumentDefinition,''));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
if CurrentToken=tkOptional then
|
|
if CurrentToken=tkOptional then
|
|
@@ -377,7 +402,7 @@ function TWebIDLParser.ParseFunction(aParent : TIDLBaseObject): TIDLFunctionDefi
|
|
var
|
|
var
|
|
ok: Boolean;
|
|
ok: Boolean;
|
|
begin
|
|
begin
|
|
- Result:=TIDLFunctionDefinition(Context.Add(aParent,TIDLFunctionDefinition,CurrentTokenString));
|
|
|
|
|
|
+ Result:=TIDLFunctionDefinition(AddDefinition(aParent,TIDLFunctionDefinition,CurrentTokenString));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
ExpectToken(tkEqual);
|
|
ExpectToken(tkEqual);
|
|
@@ -467,7 +492,7 @@ begin
|
|
Include(Opts,FO);
|
|
Include(Opts,FO);
|
|
GetToken;
|
|
GetToken;
|
|
end;
|
|
end;
|
|
- Result:=TIDLFunctionDefinition(Context.Add(aParent,TIDLFunctionDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLFunctionDefinition(AddDefinition(aParent,TIDLFunctionDefinition,''));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
if (foConstructor in Opts) then
|
|
if (foConstructor in Opts) then
|
|
@@ -518,7 +543,7 @@ begin
|
|
tkSemiColon:
|
|
tkSemiColon:
|
|
begin
|
|
begin
|
|
// stringifier;
|
|
// stringifier;
|
|
- Result:=TIDLAttributeDefinition(Context.Add(aParent,TIDLAttributeDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLAttributeDefinition(AddDefinition(aParent,TIDLAttributeDefinition,''));
|
|
With TIDLAttributeDefinition(Result) do
|
|
With TIDLAttributeDefinition(Result) do
|
|
Options:=Options+[aoStringifier];
|
|
Options:=Options+[aoStringifier];
|
|
end;
|
|
end;
|
|
@@ -541,7 +566,7 @@ begin
|
|
ExpectToken(tkLess);
|
|
ExpectToken(tkLess);
|
|
T1:=Nil;
|
|
T1:=Nil;
|
|
T2:=nil;
|
|
T2:=nil;
|
|
- Result:=TIDLIterableDefinition(Context.Add(aParent,TIDLIterableDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLIterableDefinition(AddDefinition(aParent,TIDLIterableDefinition,''));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
T1:=ParseType(Result,True,True);
|
|
T1:=ParseType(Result,True,True);
|
|
@@ -564,7 +589,7 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
-function TWebIDLParser.CompleteSimpleType(tk: TIDLToken; Var S: UTF8String; out
|
|
|
|
|
|
+function TWebIDLParser.CompleteSimpleType(tk: TIDLToken; var S: UTF8String; out
|
|
IsNull: Boolean): TIDLToken;
|
|
IsNull: Boolean): TIDLToken;
|
|
|
|
|
|
begin
|
|
begin
|
|
@@ -606,7 +631,7 @@ function TWebIDLParser.ParseMapLikeMember(aParent: TIDLBaseObject): TIDLMaplikeD
|
|
var
|
|
var
|
|
ok: Boolean;
|
|
ok: Boolean;
|
|
begin
|
|
begin
|
|
- Result:=TIDLMaplikeDefinition(Context.Add(aParent,TIDLMaplikeDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLMaplikeDefinition(AddDefinition(aParent,TIDLMaplikeDefinition,''));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
Result.TypeName:='maplike';
|
|
Result.TypeName:='maplike';
|
|
@@ -628,7 +653,7 @@ function TWebIDLParser.ParseSetLikeMember(aParent: TIDLBaseObject): TIDLSetlikeD
|
|
var
|
|
var
|
|
ok: Boolean;
|
|
ok: Boolean;
|
|
begin
|
|
begin
|
|
- Result:=TIDLSetlikeDefinition(Context.Add(aParent,TIDLSetlikeDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLSetlikeDefinition(AddDefinition(aParent,TIDLSetlikeDefinition,''));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
ExpectToken(tkLess);
|
|
ExpectToken(tkLess);
|
|
@@ -647,7 +672,7 @@ function TWebIDLParser.ParseRecordTypeDef(aParent: TIDLBaseObject): TIDLRecordDe
|
|
var
|
|
var
|
|
ok: Boolean;
|
|
ok: Boolean;
|
|
begin
|
|
begin
|
|
- Result:=TIDLRecordDefinition(Context.Add(aParent,TIDLRecordDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLRecordDefinition(AddDefinition(aParent,TIDLRecordDefinition,''));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
Result.TypeName:='record';
|
|
Result.TypeName:='record';
|
|
@@ -733,7 +758,7 @@ begin
|
|
// Unsigned
|
|
// Unsigned
|
|
Tk:=CompleteSimpleType(tk,S,IsNull);
|
|
Tk:=CompleteSimpleType(tk,S,IsNull);
|
|
CheckCurrentToken(tkIdentifier);
|
|
CheckCurrentToken(tkIdentifier);
|
|
- Result:=TIDLConstDefinition(Context.Add(aParent,TIDLConstDefinition,CurrentTokenString));
|
|
|
|
|
|
+ Result:=TIDLConstDefinition(AddDefinition(aParent,TIDLConstDefinition,CurrentTokenString));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
Result.TypeName:=S;
|
|
Result.TypeName:=S;
|
|
@@ -780,7 +805,7 @@ begin
|
|
GetToken;
|
|
GetToken;
|
|
end;
|
|
end;
|
|
CheckCurrentToken(tkAttribute);
|
|
CheckCurrentToken(tkAttribute);
|
|
- Result:=TIDLAttributeDefinition(Context.Add(aParent,TIDLAttributeDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLAttributeDefinition(AddDefinition(aParent,TIDLAttributeDefinition,''));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
Result.AttributeType:=ParseType(Result,True,True);
|
|
Result.AttributeType:=ParseType(Result,True,True);
|
|
@@ -830,7 +855,7 @@ begin
|
|
tk:=GetToken;
|
|
tk:=GetToken;
|
|
if tk=tkSemiColon then
|
|
if tk=tkSemiColon then
|
|
exit;
|
|
exit;
|
|
- Result:=TIDLSerializerDefinition(Context.Add(aParent,TIDLSerializerDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLSerializerDefinition(AddDefinition(aParent,TIDLSerializerDefinition,''));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
if tk<>tkEqual then
|
|
if tk<>tkEqual then
|
|
@@ -880,7 +905,7 @@ begin
|
|
isMixin:=CurrentToken=tkMixin;
|
|
isMixin:=CurrentToken=tkMixin;
|
|
if CurrentToken=tkMixin then
|
|
if CurrentToken=tkMixin then
|
|
ExpectToken(tkIdentifier);
|
|
ExpectToken(tkIdentifier);
|
|
- Result:=TIDLInterfaceDefinition(Context.Add(aParent,TIDLInterfaceDefinition,CurrentTokenString));
|
|
|
|
|
|
+ Result:=TIDLInterfaceDefinition(AddDefinition(aParent,TIDLInterfaceDefinition,CurrentTokenString));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
Result.IsMixin:=IsMixin;
|
|
Result.IsMixin:=IsMixin;
|
|
@@ -1023,7 +1048,7 @@ Var
|
|
|
|
|
|
begin
|
|
begin
|
|
ExpectToken(tkIdentifier);
|
|
ExpectToken(tkIdentifier);
|
|
- Result:=TIDLEnumDefinition(Context.Add(aParent,TIDLEnumDefinition,CurrentTokenString));
|
|
|
|
|
|
+ Result:=TIDLEnumDefinition(AddDefinition(aParent,TIDLEnumDefinition,CurrentTokenString));
|
|
ExpectToken(tkCurlyBraceOpen);
|
|
ExpectToken(tkCurlyBraceOpen);
|
|
Repeat
|
|
Repeat
|
|
tk:=ExpectTokens([tkCurlyBraceClose,tkString]);
|
|
tk:=ExpectTokens([tkCurlyBraceClose,tkString]);
|
|
@@ -1060,7 +1085,7 @@ begin
|
|
if IsReq then
|
|
if IsReq then
|
|
tk:=GetToken;
|
|
tk:=GetToken;
|
|
end;
|
|
end;
|
|
- Result:=TIDLDictionaryMemberDefinition(Context.Add(aParent,TIDLDictionaryMemberDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLDictionaryMemberDefinition(AddDefinition(aParent,TIDLDictionaryMemberDefinition,''));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
Result.Attributes:=Attrs;
|
|
Result.Attributes:=Attrs;
|
|
@@ -1071,7 +1096,7 @@ begin
|
|
tk:=GetToken;
|
|
tk:=GetToken;
|
|
if tk=tkEqual then
|
|
if tk=tkEqual then
|
|
begin
|
|
begin
|
|
- Result.DefaultValue:=TIDLConstDefinition(Context.Add(Result,TIDLConstDefinition,''));
|
|
|
|
|
|
+ Result.DefaultValue:=TIDLConstDefinition(AddDefinition(Result,TIDLConstDefinition,''));
|
|
Result.DefaultValue.ConstType:=ParseConstValue(S,True);
|
|
Result.DefaultValue.ConstType:=ParseConstValue(S,True);
|
|
Result.DefaultValue.Value:=S;
|
|
Result.DefaultValue.Value:=S;
|
|
tk:=GetToken;
|
|
tk:=GetToken;
|
|
@@ -1104,7 +1129,7 @@ begin
|
|
tk:=GetToken;
|
|
tk:=GetToken;
|
|
end;
|
|
end;
|
|
CheckCurrentToken(tkCurlyBraceOpen);
|
|
CheckCurrentToken(tkCurlyBraceOpen);
|
|
- Result:=TIDLDictionaryDefinition(Context.Add(aParent,TIDLDictionaryDefinition,Name));
|
|
|
|
|
|
+ Result:=TIDLDictionaryDefinition(AddDefinition(aParent,TIDLDictionaryDefinition,Name));
|
|
Result.ParentName:=ParentName;
|
|
Result.ParentName:=ParentName;
|
|
GetToken;
|
|
GetToken;
|
|
While (CurrentToken<>tkCurlyBraceClose) do
|
|
While (CurrentToken<>tkCurlyBraceClose) do
|
|
@@ -1122,7 +1147,7 @@ function TWebIDLParser.ParseSequenceTypeDef(aParent : TIDLBaseObject): TIDLSeque
|
|
var
|
|
var
|
|
ok: Boolean;
|
|
ok: Boolean;
|
|
begin
|
|
begin
|
|
- Result:=TIDLSequenceTypeDefDefinition(Context.Add(aParent,TIDLSequenceTypeDefDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLSequenceTypeDefDefinition(AddDefinition(aParent,TIDLSequenceTypeDefDefinition,''));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
Result.TypeName:='sequence';
|
|
Result.TypeName:='sequence';
|
|
@@ -1149,7 +1174,7 @@ Var
|
|
|
|
|
|
begin
|
|
begin
|
|
Attr:=Nil;
|
|
Attr:=Nil;
|
|
- Result:=TIDLUnionTypeDefDefinition(Context.Add(aParent,TIDLUnionTypeDefDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLUnionTypeDefDefinition(AddDefinition(aParent,TIDLUnionTypeDefDefinition,''));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
Result.TypeName:='union';
|
|
Result.TypeName:='union';
|
|
@@ -1185,7 +1210,7 @@ function TWebIDLParser.ParsePromiseTypeDef(aParent: TIDLBaseObject): TIDLPromise
|
|
var
|
|
var
|
|
ok: Boolean;
|
|
ok: Boolean;
|
|
begin
|
|
begin
|
|
- Result:=TIDLPromiseTypeDefDefinition(Context.Add(aParent,TIDLPromiseTypeDefDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLPromiseTypeDefDefinition(AddDefinition(aParent,TIDLPromiseTypeDefDefinition,''));
|
|
ok:=false;
|
|
ok:=false;
|
|
try
|
|
try
|
|
Result.TypeName:='Promise';
|
|
Result.TypeName:='Promise';
|
|
@@ -1242,7 +1267,7 @@ begin
|
|
Error(SErrInvalidToken,[LegacyDOMString,CurrentTokenString]);
|
|
Error(SErrInvalidToken,[LegacyDOMString,CurrentTokenString]);
|
|
ExpectToken(tkSquaredBraceClose);
|
|
ExpectToken(tkSquaredBraceClose);
|
|
ExpectToken(tkDOMString);
|
|
ExpectToken(tkDOMString);
|
|
- Result:=TIDLTypeDefDefinition(Context.Add(aParent,TIDLTypeDefDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLTypeDefDefinition(AddDefinition(aParent,TIDLTypeDefDefinition,''));
|
|
Result.TypeName:='DOMString';
|
|
Result.TypeName:='DOMString';
|
|
Result.Attributes.Add(LegacyDOMString);
|
|
Result.Attributes.Add(LegacyDOMString);
|
|
GetToken;
|
|
GetToken;
|
|
@@ -1258,7 +1283,7 @@ begin
|
|
if (tk in SimplePrefixTokens) then
|
|
if (tk in SimplePrefixTokens) then
|
|
begin
|
|
begin
|
|
tk:=CompleteSimpleType(tk,TypeName,isNull);
|
|
tk:=CompleteSimpleType(tk,TypeName,isNull);
|
|
- Result:=TIDLTypeDefDefinition(Context.Add(aParent,TIDLTypeDefDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLTypeDefDefinition(AddDefinition(aParent,TIDLTypeDefDefinition,''));
|
|
end
|
|
end
|
|
else
|
|
else
|
|
begin
|
|
begin
|
|
@@ -1269,7 +1294,7 @@ begin
|
|
tkPromise : Result:=ParsePromiseTypeDef(aParent);
|
|
tkPromise : Result:=ParsePromiseTypeDef(aParent);
|
|
tkBracketOpen : Result:=ParseUnionTypeDef(aParent);
|
|
tkBracketOpen : Result:=ParseUnionTypeDef(aParent);
|
|
else
|
|
else
|
|
- Result:=TIDLTypeDefDefinition(Context.Add(aParent,TIDLTypeDefDefinition,''));
|
|
|
|
|
|
+ Result:=TIDLTypeDefDefinition(AddDefinition(aParent,TIDLTypeDefDefinition,''));
|
|
end;
|
|
end;
|
|
tk:=GetToken;
|
|
tk:=GetToken;
|
|
end;
|
|
end;
|
|
@@ -1322,7 +1347,7 @@ begin
|
|
end
|
|
end
|
|
else
|
|
else
|
|
N:=aName;
|
|
N:=aName;
|
|
- Result:=TIDLImplementsDefinition(Context.Add(aParent,TIDLImplementsDefinition,N));
|
|
|
|
|
|
+ Result:=TIDLImplementsDefinition(AddDefinition(aParent,TIDLImplementsDefinition,N));
|
|
try
|
|
try
|
|
ExpectToken(tkIdentifier);
|
|
ExpectToken(tkIdentifier);
|
|
Result.ImplementedInterface:=CurrentTokenString;
|
|
Result.ImplementedInterface:=CurrentTokenString;
|
|
@@ -1337,7 +1362,7 @@ function TWebIDLParser.ParseIncludes(const aName: UTF8String;
|
|
(* On entry, we're on the identifier. On Exit, we're on the last identifier *)
|
|
(* On entry, we're on the identifier. On Exit, we're on the last identifier *)
|
|
|
|
|
|
begin
|
|
begin
|
|
- Result:=TIDLIncludesDefinition(Context.Add(aParent,TIDLIncludesDefinition,aName));
|
|
|
|
|
|
+ Result:=TIDLIncludesDefinition(AddDefinition(aParent,TIDLIncludesDefinition,aName));
|
|
try
|
|
try
|
|
ExpectToken(tkIdentifier);
|
|
ExpectToken(tkIdentifier);
|
|
Result.IncludedInterface:=CurrentTokenString;
|
|
Result.IncludedInterface:=CurrentTokenString;
|
|
@@ -1603,17 +1628,21 @@ begin
|
|
Result:=Definitions.AsString(';'+sLineBreak,'','','',Full,True);
|
|
Result:=Definitions.AsString(';'+sLineBreak,'','','',Full,True);
|
|
end;
|
|
end;
|
|
|
|
|
|
-function TWebIDLContext.Add(aClass: TIDLDefinitionClass; const AName: UTF8String): TIDLDefinition;
|
|
|
|
|
|
+function TWebIDLContext.Add(aClass: TIDLDefinitionClass;
|
|
|
|
+ const AName: UTF8String; const aFile: string; aLine, aCol: integer
|
|
|
|
+ ): TIDLDefinition;
|
|
begin
|
|
begin
|
|
- Result:=Add(FDefinitions,aClass,AName);
|
|
|
|
|
|
+ Result:=Add(FDefinitions,aClass,AName,aFile,aLine,aCol);
|
|
end;
|
|
end;
|
|
|
|
|
|
-function TWebIDLContext.Add(aParent: TIDLBaseObject; aClass: TIDLDefinitionClass; const AName: UTF8String): TIDLDefinition;
|
|
|
|
|
|
+function TWebIDLContext.Add(aParent: TIDLBaseObject;
|
|
|
|
+ aClass: TIDLDefinitionClass; const AName: UTF8String; const aFile: string;
|
|
|
|
+ aLine, aCol: integer): TIDLDefinition;
|
|
begin
|
|
begin
|
|
if Assigned(aParent) then
|
|
if Assigned(aParent) then
|
|
- Result:=aParent.Add(aClass,aName)
|
|
|
|
|
|
+ Result:=aParent.Add(aClass,aName,aFile,aLine,aCol)
|
|
else
|
|
else
|
|
- Result:=aClass.Create(Nil,aName)
|
|
|
|
|
|
+ Result:=aClass.Create(Nil,aName,aFile,aLine,aCol);
|
|
end;
|
|
end;
|
|
|
|
|
|
end.
|
|
end.
|