packages feed

language-ecmascript 0.19 → 0.19.0.1

raw patch · 3 files changed

+22/−18 lines, 3 filesdep ~Diffdep ~basedep ~testing-featnew-uploaderPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: Diff, base, testing-feat

API changes (from Hackage documentation)

- Language.ECMAScript3.Analysis.Environment: EnvTree :: (Map String SourcePos) -> [EnvTree] -> EnvTree
+ Language.ECMAScript3.Analysis.Environment: EnvTree :: Map String SourcePos -> [EnvTree] -> EnvTree
- Language.ECMAScript3.Syntax: AssignExpr :: a -> AssignOp -> (LValue a) -> (Expression a) -> Expression a
+ Language.ECMAScript3.Syntax: AssignExpr :: a -> AssignOp -> LValue a -> Expression a -> Expression a
- Language.ECMAScript3.Syntax: BracketRef :: a -> (Expression a) -> (Expression a) -> Expression a
+ Language.ECMAScript3.Syntax: BracketRef :: a -> Expression a -> Expression a -> Expression a
- Language.ECMAScript3.Syntax: BreakStmt :: a -> (Maybe (Id a)) -> Statement a
+ Language.ECMAScript3.Syntax: BreakStmt :: a -> Maybe (Id a) -> Statement a
- Language.ECMAScript3.Syntax: CallExpr :: a -> (Expression a) -> [Expression a] -> Expression a
+ Language.ECMAScript3.Syntax: CallExpr :: a -> Expression a -> [Expression a] -> Expression a
- Language.ECMAScript3.Syntax: CaseClause :: a -> (Expression a) -> [Statement a] -> CaseClause a
+ Language.ECMAScript3.Syntax: CaseClause :: a -> Expression a -> [Statement a] -> CaseClause a
- Language.ECMAScript3.Syntax: CatchClause :: a -> (Id a) -> (Statement a) -> CatchClause a
+ Language.ECMAScript3.Syntax: CatchClause :: a -> Id a -> Statement a -> CatchClause a
- Language.ECMAScript3.Syntax: CondExpr :: a -> (Expression a) -> (Expression a) -> (Expression a) -> Expression a
+ Language.ECMAScript3.Syntax: CondExpr :: a -> Expression a -> Expression a -> Expression a -> Expression a
- Language.ECMAScript3.Syntax: ContinueStmt :: a -> (Maybe (Id a)) -> Statement a
+ Language.ECMAScript3.Syntax: ContinueStmt :: a -> Maybe (Id a) -> Statement a
- Language.ECMAScript3.Syntax: DoWhileStmt :: a -> (Statement a) -> (Expression a) -> Statement a
+ Language.ECMAScript3.Syntax: DoWhileStmt :: a -> Statement a -> Expression a -> Statement a
- Language.ECMAScript3.Syntax: DotRef :: a -> (Expression a) -> (Id a) -> Expression a
+ Language.ECMAScript3.Syntax: DotRef :: a -> Expression a -> Id a -> Expression a
- Language.ECMAScript3.Syntax: ExprInit :: (Expression a) -> ForInit a
+ Language.ECMAScript3.Syntax: ExprInit :: Expression a -> ForInit a
- Language.ECMAScript3.Syntax: ExprStmt :: a -> (Expression a) -> Statement a
+ Language.ECMAScript3.Syntax: ExprStmt :: a -> Expression a -> Statement a
- Language.ECMAScript3.Syntax: ForInLVal :: (LValue a) -> ForInInit a
+ Language.ECMAScript3.Syntax: ForInLVal :: LValue a -> ForInInit a
- Language.ECMAScript3.Syntax: ForInStmt :: a -> (ForInInit a) -> (Expression a) -> (Statement a) -> Statement a
+ Language.ECMAScript3.Syntax: ForInStmt :: a -> ForInInit a -> Expression a -> Statement a -> Statement a
- Language.ECMAScript3.Syntax: ForInVar :: (Id a) -> ForInInit a
+ Language.ECMAScript3.Syntax: ForInVar :: Id a -> ForInInit a
- Language.ECMAScript3.Syntax: ForStmt :: a -> (ForInit a) -> (Maybe (Expression a)) -> (Maybe (Expression a)) -> (Statement a) -> Statement a
+ Language.ECMAScript3.Syntax: ForStmt :: a -> ForInit a -> Maybe (Expression a) -> Maybe (Expression a) -> Statement a -> Statement a
- Language.ECMAScript3.Syntax: FuncExpr :: a -> (Maybe (Id a)) -> [Id a] -> [Statement a] -> Expression a
+ Language.ECMAScript3.Syntax: FuncExpr :: a -> Maybe (Id a) -> [Id a] -> [Statement a] -> Expression a
- Language.ECMAScript3.Syntax: FunctionStmt :: a -> (Id a) -> [Id a] -> [Statement a] -> Statement a
+ Language.ECMAScript3.Syntax: FunctionStmt :: a -> Id a -> [Id a] -> [Statement a] -> Statement a
- Language.ECMAScript3.Syntax: IfSingleStmt :: a -> (Expression a) -> (Statement a) -> Statement a
+ Language.ECMAScript3.Syntax: IfSingleStmt :: a -> Expression a -> Statement a -> Statement a
- Language.ECMAScript3.Syntax: IfStmt :: a -> (Expression a) -> (Statement a) -> (Statement a) -> Statement a
+ Language.ECMAScript3.Syntax: IfStmt :: a -> Expression a -> Statement a -> Statement a -> Statement a
- Language.ECMAScript3.Syntax: InfixExpr :: a -> InfixOp -> (Expression a) -> (Expression a) -> Expression a
+ Language.ECMAScript3.Syntax: InfixExpr :: a -> InfixOp -> Expression a -> Expression a -> Expression a
- Language.ECMAScript3.Syntax: LBracket :: a -> (Expression a) -> (Expression a) -> LValue a
+ Language.ECMAScript3.Syntax: LBracket :: a -> Expression a -> Expression a -> LValue a
- Language.ECMAScript3.Syntax: LDot :: a -> (Expression a) -> String -> LValue a
+ Language.ECMAScript3.Syntax: LDot :: a -> Expression a -> String -> LValue a
- Language.ECMAScript3.Syntax: LabelledStmt :: a -> (Id a) -> (Statement a) -> Statement a
+ Language.ECMAScript3.Syntax: LabelledStmt :: a -> Id a -> Statement a -> Statement a
- Language.ECMAScript3.Syntax: NewExpr :: a -> (Expression a) -> [Expression a] -> Expression a
+ Language.ECMAScript3.Syntax: NewExpr :: a -> Expression a -> [Expression a] -> Expression a
- Language.ECMAScript3.Syntax: PrefixExpr :: a -> PrefixOp -> (Expression a) -> Expression a
+ Language.ECMAScript3.Syntax: PrefixExpr :: a -> PrefixOp -> Expression a -> Expression a
- Language.ECMAScript3.Syntax: PropId :: a -> (Id a) -> Prop a
+ Language.ECMAScript3.Syntax: PropId :: a -> Id a -> Prop a
- Language.ECMAScript3.Syntax: ReturnStmt :: a -> (Maybe (Expression a)) -> Statement a
+ Language.ECMAScript3.Syntax: ReturnStmt :: a -> Maybe (Expression a) -> Statement a
- Language.ECMAScript3.Syntax: SwitchStmt :: a -> (Expression a) -> [CaseClause a] -> Statement a
+ Language.ECMAScript3.Syntax: SwitchStmt :: a -> Expression a -> [CaseClause a] -> Statement a
- Language.ECMAScript3.Syntax: ThrowStmt :: a -> (Expression a) -> Statement a
+ Language.ECMAScript3.Syntax: ThrowStmt :: a -> Expression a -> Statement a
- Language.ECMAScript3.Syntax: TryStmt :: a -> (Statement a) -> (Maybe (CatchClause a)) -> (Maybe (Statement a)) -> Statement a
+ Language.ECMAScript3.Syntax: TryStmt :: a -> Statement a -> Maybe (CatchClause a) -> Maybe (Statement a) -> Statement a
- Language.ECMAScript3.Syntax: UnaryAssignExpr :: a -> UnaryAssignOp -> (LValue a) -> Expression a
+ Language.ECMAScript3.Syntax: UnaryAssignExpr :: a -> UnaryAssignOp -> LValue a -> Expression a
- Language.ECMAScript3.Syntax: VarDecl :: a -> (Id a) -> (Maybe (Expression a)) -> VarDecl a
+ Language.ECMAScript3.Syntax: VarDecl :: a -> Id a -> Maybe (Expression a) -> VarDecl a
- Language.ECMAScript3.Syntax: VarRef :: a -> (Id a) -> Expression a
+ Language.ECMAScript3.Syntax: VarRef :: a -> Id a -> Expression a
- Language.ECMAScript3.Syntax: WhileStmt :: a -> (Expression a) -> (Statement a) -> Statement a
+ Language.ECMAScript3.Syntax: WhileStmt :: a -> Expression a -> Statement a -> Statement a
- Language.ECMAScript3.Syntax: WithStmt :: a -> (Expression a) -> (Statement a) -> Statement a
+ Language.ECMAScript3.Syntax: WithStmt :: a -> Expression a -> Statement a -> Statement a
- Language.ECMAScript3.Syntax: data SourcePos :: *
+ Language.ECMAScript3.Syntax: data SourcePos
- Language.ECMAScript3.Syntax.Annotations: withAnnotation :: (HasAnnotation a) => (b -> b) -> a b -> a b
+ Language.ECMAScript3.Syntax.Annotations: withAnnotation :: HasAnnotation a => (b -> b) -> a b -> a b

Files

CHANGELOG view
@@ -1,5 +1,8 @@ Version change log. +=0.19.0.1=+Version bumps and a build fix for GHC 8.8 (GitHub issue #85).+ =0.19= Pull request #84: Moved the Arbitrary instance and the testing-feat dependency to the test-suite. Removed tabs from the lexer. 
language-ecmascript.cabal view
@@ -1,8 +1,8 @@ Name:           language-ecmascript-Version:        0.19+Version:        0.19.0.1 Cabal-Version:	>= 1.12 Copyright:      (c) 2007-2012 Brown University, (c) 2008-2010 Claudiu Saftoiu,-                (c) 2012-2015 Stevens Institute of Technology, (c) 2016 Eyal Lotem, (c) 2016-2018 Andrey Chudnov+                (c) 2012-2015 Stevens Institute of Technology, (c) 2016 Eyal Lotem, (c) 2016-2020 Andrey Chudnov License:        BSD3 License-file:   LICENSE Author:         Andrey Chudnov, Arjun Guha, Spiridon Aristides Eliopoulos,@@ -11,7 +11,7 @@ Homepage:       http://github.com/jswebtools/language-ecmascript Bug-reports:    http://github.com/jswebtools/language-ecmascript/issues Stability:      experimental-Tested-with:    GHC==8.2.2+Tested-with:    GHC==8.8.1 Extra-Source-Files: test/parse-pretty/*.js, test/diff/left/*.js, test/diff/right/*.js, test/diff/expects/*.diff, CHANGELOG Category:       Language Build-Type:     Simple@@ -29,13 +29,13 @@ Source-repository this    type: git    location: git://github.com/jswebtools/language-ecmascript.git-   tag: 0.19+   tag: 0.19.0.1  Library   Hs-Source-Dirs:     src   Build-Depends:-    base >= 4 && < 5,+    base >= 4 && < 4.14,     mtl >= 1 && < 3,     parsec > 3 && < 3.2.0,     ansi-wl-pprint >= 0.6 && < 1,@@ -44,7 +44,7 @@     data-default-class >= 0.0.1 && < 0.2,     QuickCheck >= 2.5 && < 3,     template-haskell >= 2.7 && < 3,-    Diff == 0.3.*,+    Diff == 0.4.*,     charset >= 0.3   ghc-options:     -fwarn-incomplete-patterns@@ -72,21 +72,21 @@   Type: exitcode-stdio-1.0   Main-Is: TestMain.hs   Other-Modules:-    Language.ECMAScript3.Lexer                                        -    Language.ECMAScript3.Parser                                       -    Language.ECMAScript3.Parser.State                                 -    Language.ECMAScript3.Parser.Type                                  -    Language.ECMAScript3.PrettyPrint                                  -    Language.ECMAScript3.SourceDiff                                   -    Language.ECMAScript3.Syntax                                       -    Language.ECMAScript3.Syntax.Annotations  +    Language.ECMAScript3.Lexer+    Language.ECMAScript3.Parser+    Language.ECMAScript3.Parser.State+    Language.ECMAScript3.Parser.Type+    Language.ECMAScript3.PrettyPrint+    Language.ECMAScript3.SourceDiff+    Language.ECMAScript3.Syntax+    Language.ECMAScript3.Syntax.Annotations     Language.ECMAScript3.Syntax.Arbitrary     Test.Diff     Test.Unit     Test.Pretty     Test.Arbitrary   Build-Depends:-    base >= 4 && < 5,+    base >= 4 && < 4.14,     mtl >= 1 && < 3,     parsec >= 3 && < 3.2.0,     ansi-wl-pprint >= 0.6 && < 1,@@ -97,12 +97,12 @@     HUnit >= 1.2 && < 1.7,     QuickCheck >= 2.5 && < 3,     data-default-class >= 0.0.1 && < 0.2,-    testing-feat >= 0.4.0.2 && < 1.1,+    testing-feat >= 0.4.0.2 && < 1.2,     test-framework >= 0.8 && < 0.9,     test-framework-hunit >= 0.3.0 && < 0.4,     test-framework-quickcheck2 >= 0.3.0.1 && < 0.4,     uniplate >= 1.6 && <1.7,-    Diff == 0.3.*,+    Diff == 0.4.*,     language-ecmascript   Default-Extensions: DeriveDataTypeable, ScopedTypeVariables, DeriveFunctor, DeriveFoldable, DeriveTraversable, FlexibleContexts   Default-Language: Haskell2010
src/Language/ECMAScript3/Parser.hs view
@@ -42,6 +42,7 @@ import Data.Maybe (isJust, isNothing, fromMaybe) import Control.Monad.Error.Class import Control.Applicative ((<$>), (<*>))+import Control.Exception (throwIO)  {-# DEPRECATED ParsedStatement, ParsedExpression, StatementParser,                ExpressionParser@@ -794,7 +795,7 @@ parseJavaScriptFromFile filename = do   chars <- liftIO $ readFile filename   case parse parseScript filename chars of-    Left err               -> fail (show err)+    Left err               -> liftIO $ throwIO $ userError $ show err     Right (Script _ stmts) -> return stmts  -- | Parse a JavaScript program from a string