In the compiled Javascript occurs double return calls at the end of functions and the browser always displays a lot of error messages due to "unreachable code".
With the following PureBasic code snippet you can eliminate them afterwards.
It only works without "[ ] Optimized Javascript Output".
Code: Select all
EnableExplicit
Global SourceFile.s
#AppName = "RemoveUnreachableCode"
#AppVersion = "2018-01-26"
Procedure Main()
Protected NewList l.s()
Protected t.s
Protected ff
Protected flag
Protected Count
; After Create App
SourceFile.s = ProgramParameter() ; %COMPILEFILE!
SourceFile = GetPathPart(SourceFile) + "spiderbasic.js"
SetCurrentDirectory( GetPathPart(SourceFile))
SourceFile = OpenFileRequester(#AppName, GetFilePart(SourceFile), "JavaScript (*.js)|*.js;|Alle Dateien (*.*)|*.*", 0)
If SourceFile = ""
End
EndIf
If OpenFile(0, SourceFile)
ff = ReadStringFormat(0)
While Not Eof(0)
t = ReadString(0, ff)
; return "";
; Debug t
If Mid(Trim(t), 1, 6) = "return"
If flag = 0
flag = 1
Else
t = ""
Count + 1
EndIf
Else
flag = 0
EndIf
If t <> ""
AddElement(l())
l() = t
EndIf
Wend
CloseFile(0)
EndIf
If CreateFile(0, SourceFile, ff)
ForEach l()
WriteStringN(0, l(), ff)
Next
CloseFile(0)
EndIf
If Count > 0
MessageRequester( #AppName, Str(Count) + " lines of code removed.")
EndIf
EndProcedure
Main()