From 3ecfa104170db686c47691541c62dd7c36ba6e7b Mon Sep 17 00:00:00 2001 From: Mattias Gaertner Date: Sat, 16 Feb 2019 23:26:40 +0000 Subject: [PATCH] pastojs: fixed mark impl scope ref of VarRecs git-svn-id: trunk@41350 - --- packages/pastojs/src/pas2jsuseanalyzer.pp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/pastojs/src/pas2jsuseanalyzer.pp b/packages/pastojs/src/pas2jsuseanalyzer.pp index d2968933cc..fd78ef8de6 100644 --- a/packages/pastojs/src/pas2jsuseanalyzer.pp +++ b/packages/pastojs/src/pas2jsuseanalyzer.pp @@ -48,6 +48,8 @@ procedure TPas2JSAnalyzer.UseExpr(El: TPasExpr); i: Integer; ArgType: TPasType; ModScope: TPas2JSModuleScope; + aMod: TPasModule; + SystemVarRecs: TPasFunction; begin if Args=nil then exit; for i:=0 to Args.Count-1 do @@ -58,10 +60,13 @@ procedure TPas2JSAnalyzer.UseExpr(El: TPasExpr); and (TPasArrayType(ArgType).ElType=nil) then begin // array of const - ModScope:=NoNil(Resolver.RootElement.CustomData) as TPas2JSModuleScope; - if ModScope.SystemVarRecs=nil then + aMod:=El.GetModule; + ModScope:=NoNil(aMod.CustomData) as TPas2JSModuleScope; + SystemVarRecs:=ModScope.SystemVarRecs; + if SystemVarRecs=nil then RaiseNotSupported(20190216104347,El); - UseProcedure(ModScope.SystemVarRecs); + MarkImplScopeRef(El,SystemVarRecs,psraRead); + UseProcedure(SystemVarRecs); break; end; end;