diff options
author | mattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2017-09-18 18:57:26 +0000 |
---|---|---|
committer | mattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2017-09-18 18:57:26 +0000 |
commit | 764c1b54701fbd8d692d57d749419013d63e1bc5 (patch) | |
tree | 055d027030f7f5841416b6d9589751f63ee68135 | |
parent | dba8bc8ff6b88704acb16d80dcea25aeea01f83c (diff) | |
download | fpc-764c1b54701fbd8d692d57d749419013d63e1bc5.tar.gz |
pastojs: fixed intf function
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@37254 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | packages/pastojs/src/fppas2js.pp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/packages/pastojs/src/fppas2js.pp b/packages/pastojs/src/fppas2js.pp index 1c91ea67e2..ec5ff5d2be 100644 --- a/packages/pastojs/src/fppas2js.pp +++ b/packages/pastojs/src/fppas2js.pp @@ -1134,7 +1134,7 @@ type FTargetProcessor: TPasToJsProcessor; Function CreatePrimitiveDotExpr(AName: string; Src: TPasElement = nil): TJSElement; Function CreateSubDeclNameExpr(El: TPasElement; const Name: string; - AContext: TConvertContext): TJSElement; + AContext: TConvertContext; PosEl: TPasElement = nil): TJSElement; Function CreateIdentifierExpr(El: TPasElement; AContext: TConvertContext): TJSElement; Function CreateIdentifierExpr(AName: string; El: TPasElement; AContext: TConvertContext): TJSElement; Function CreateSwitchStatement(El: TPasImplCaseOf; AContext: TConvertContext): TJSElement; @@ -4445,16 +4445,18 @@ begin end; function TPasToJSConverter.CreateSubDeclNameExpr(El: TPasElement; - const Name: string; AContext: TConvertContext): TJSElement; + const Name: string; AContext: TConvertContext; PosEl: TPasElement + ): TJSElement; var CurName, ParentName: String; begin + if PosEl=nil then PosEl:=El; CurName:=TransformVariableName(El,Name,AContext); ParentName:=AContext.GetLocalName(El.Parent); if ParentName='' then ParentName:='this'; CurName:=ParentName+'.'+CurName; - Result:=CreatePrimitiveDotExpr(CurName,El); + Result:=CreatePrimitiveDotExpr(CurName,PosEl); end; function TPasToJSConverter.ConvertPrimitiveExpression(El: TPrimitiveExpr; @@ -8620,7 +8622,7 @@ begin begin AssignSt:=TJSSimpleAssignStatement(CreateElement(TJSSimpleAssignStatement,ImplProc)); Result:=AssignSt; - AssignSt.LHS:=CreateSubDeclNameExpr(ImplProc,El.Name,AContext); + AssignSt.LHS:=CreateSubDeclNameExpr(El,El.Name,AContext,ImplProc); end; FS:=CreateFunction(ImplProc,ImplProc.Body<>nil); |