|
@@ -76,7 +76,7 @@ Type
|
|
Property Value : TJSValue Read FValue Write FValue;
|
|
Property Value : TJSValue Read FValue Write FValue;
|
|
end;
|
|
end;
|
|
|
|
|
|
- { TJSStringLiteral }
|
|
|
|
|
|
+(* { TJSStringLiteral }
|
|
|
|
|
|
TJSStringLiteral = Class(TJSElement)
|
|
TJSStringLiteral = Class(TJSElement)
|
|
private
|
|
private
|
|
@@ -84,7 +84,7 @@ Type
|
|
Public
|
|
Public
|
|
Property Value : TJSString Read FValue Write FValue;
|
|
Property Value : TJSString Read FValue Write FValue;
|
|
end;
|
|
end;
|
|
-
|
|
|
|
|
|
+*)
|
|
{ TJSRegularExpressionLiteral }
|
|
{ TJSRegularExpressionLiteral }
|
|
|
|
|
|
TJSRegularExpressionLiteral = Class(TJSElement)
|
|
TJSRegularExpressionLiteral = Class(TJSElement)
|
|
@@ -103,14 +103,15 @@ Type
|
|
end;
|
|
end;
|
|
|
|
|
|
{ TJSPrimaryExpressionIdent }
|
|
{ TJSPrimaryExpressionIdent }
|
|
|
|
+ TJSPrimaryExpression = Class(TJSElement);
|
|
|
|
|
|
- TJSPrimaryExpressionIdent = Class(TJSElement)
|
|
|
|
|
|
+ TJSPrimaryExpressionIdent = Class(TJSPrimaryExpression)
|
|
private
|
|
private
|
|
- FString: TJSString;
|
|
|
|
|
|
+ FName: TJSString;
|
|
Public
|
|
Public
|
|
- Property AString : TJSString Read FString Write FString;
|
|
|
|
|
|
+ Property Name : TJSString Read FName Write FName;
|
|
end;
|
|
end;
|
|
- TJSPrimaryExpressionThis = Class(TJSElement);
|
|
|
|
|
|
+ TJSPrimaryExpressionThis = Class(TJSPrimaryExpression);
|
|
|
|
|
|
{ TJSArrayLiteralElement }
|
|
{ TJSArrayLiteralElement }
|
|
|
|
|
|
@@ -878,9 +879,16 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
destructor TJSSourceElements.Destroy;
|
|
destructor TJSSourceElements.Destroy;
|
|
|
|
+
|
|
|
|
+Var
|
|
|
|
+ i : integer;
|
|
|
|
+
|
|
begin
|
|
begin
|
|
FreeAndNil(FStatements);
|
|
FreeAndNil(FStatements);
|
|
FreeAndNil(FFunctions);
|
|
FreeAndNil(FFunctions);
|
|
|
|
+ // Vars are owned by their statements, and those have been freed
|
|
|
|
+ For I:=0 to FVars.Count-1 do
|
|
|
|
+ FVars.Nodes[i].Node:=nil;
|
|
FreeAndNil(FVars);
|
|
FreeAndNil(FVars);
|
|
inherited Destroy;
|
|
inherited Destroy;
|
|
end;
|
|
end;
|
|
@@ -914,7 +922,7 @@ end;
|
|
|
|
|
|
destructor TJSElementNode.Destroy;
|
|
destructor TJSElementNode.Destroy;
|
|
begin
|
|
begin
|
|
- //FreeAndNil(FNode);
|
|
|
|
|
|
+ FreeAndNil(FNode);
|
|
inherited Destroy;
|
|
inherited Destroy;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -933,6 +941,7 @@ end;
|
|
|
|
|
|
destructor TJSFuncDef.Destroy;
|
|
destructor TJSFuncDef.Destroy;
|
|
begin
|
|
begin
|
|
|
|
+ FreeAndNil(FBody);
|
|
FreeAndNil(FParams);
|
|
FreeAndNil(FParams);
|
|
inherited Destroy;
|
|
inherited Destroy;
|
|
end;
|
|
end;
|