Browse Source

* Fix compilation in pas2js

Michaël Van Canneyt 10 months ago
parent
commit
705b2cf62a
2 changed files with 14 additions and 0 deletions
  1. 4 0
      packages/fcl-passrc/src/pasresolveeval.pas
  2. 10 0
      packages/fcl-passrc/src/pscanner.pp

+ 4 - 0
packages/fcl-passrc/src/pasresolveeval.pas

@@ -4577,7 +4577,11 @@ end;
 function TResExprEvaluator.EvalPrimitiveExprStringMultiLine(Expr: TPrimitiveExpr
 function TResExprEvaluator.EvalPrimitiveExprStringMultiLine(Expr: TPrimitiveExpr
   ): TResEvalValue;
   ): TResEvalValue;
 begin
 begin
+  {$IFDEF PAS2JS}
+  Result:=TResEvalUTF16.CreateValue(Expr.Value);
+  {$ELSE}
   Result:=TResEvalUTF16.CreateValue(GetUnicodeStr(Expr.Value,Expr));
   Result:=TResEvalUTF16.CreateValue(GetUnicodeStr(Expr.Value,Expr));
+  {$ENDIF}
 end;
 end;
 
 
 function TResExprEvaluator.CreateResEvalInt(UInt: TMaxPrecUInt): TResEvalValue;
 function TResExprEvaluator.CreateResEvalInt(UInt: TMaxPrecUInt): TResEvalValue;

+ 10 - 0
packages/fcl-passrc/src/pscanner.pp

@@ -4293,7 +4293,9 @@ begin
     end;
     end;
 
 
   // build final string
   // build final string
+  {$IFNDEF PAS2JS}
   SetLength(FCurTokenString,Cnt);
   SetLength(FCurTokenString,Cnt);
+  {$ENDIF}
   Cnt:=0;
   Cnt:=0;
   For I:=0 to CurLineCount-1 do
   For I:=0 to CurLineCount-1 do
     begin
     begin
@@ -4301,14 +4303,22 @@ begin
     l:=length(s);
     l:=length(s);
     if l>0 then
     if l>0 then
       begin
       begin
+      {$IFDEF PAS2JS}
+      FCurTokenString:=FCurTokenString+S;
+      {$ELSE}
       System.Move(s[1],FCurTokenString[Cnt+1],l);
       System.Move(s[1],FCurTokenString[Cnt+1],l);
       inc(Cnt,l);
       inc(Cnt,l);
+      {$ENDIF}
       end;
       end;
     if I<CurLineCount-1 then
     if I<CurLineCount-1 then
       begin
       begin
+      {$IFDEF PAS2JS}
+      FCurTokenString:=FCurTokenString+CurLF;
+      {$ELSE}
       l:=length(CurLF);
       l:=length(CurLF);
       System.Move(CurLF[1],FCurTokenString[Cnt+1],l);
       System.Move(CurLF[1],FCurTokenString[Cnt+1],l);
       inc(Cnt,l);
       inc(Cnt,l);
+      {$ENDIF}
       end;
       end;
     end;
     end;
   Result:=tkStringMultiLine;
   Result:=tkStringMultiLine;