Browse Source

pas2js: fixed handlign error on first token of used unit

git-svn-id: trunk@37782 -
Mattias Gaertner 7 years ago
parent
commit
e00e7d9cfd
2 changed files with 9 additions and 7 deletions
  1. 8 6
      utils/pas2js/pas2jscompiler.pp
  2. 1 1
      utils/pas2js/pas2jspparser.pp

+ 8 - 6
utils/pas2js/pas2jscompiler.pp

@@ -934,8 +934,6 @@ begin
       Log.LogRaw('Pas-Module:');
       Log.LogRaw(PasModule.GetDeclaration(true));
     end;
-    if PasModule.CustomData=nil then
-      PasModule.CustomData:=Self;
 
     // analyze
     UseAnalyzer.AnalyzeModule(FPasModule);
@@ -970,14 +968,18 @@ begin
       Parser.ParseMain(FPasModule)
     else
       Parser.ParseSubModule(FPasModule);
+    if PasModule.CustomData=nil then
+      PasModule.CustomData:=Self;
+    if (FPasModule.ImplementationSection<>nil)
+        and (FPasModule.ImplementationSection.PendingUsedIntf<>nil) then
+      exit;
+    ParserFinished;
   except
     on E: Exception do
       HandleException(E);
   end;
-  if (FPasModule.ImplementationSection<>nil)
-      and (FPasModule.ImplementationSection.PendingUsedIntf<>nil) then
-    exit;
-  ParserFinished;
+  if (PasModule<>nil) and (PasModule.CustomData=nil) then
+    PasModule.CustomData:=Self;
 end;
 
 procedure TPas2jsCompilerFile.CreateJS;

+ 1 - 1
utils/pas2js/pas2jspparser.pp

@@ -126,7 +126,7 @@ begin
   tkLibrary:
     ParseLibrary(Module);
   else
-    ExpectToken(tkUnit);
+    CheckToken(tkUnit);
   end;
 end;