on master help sign in
switch from `error` to `fail` in binary decoders
820e5f8Evan Czaplicki
builder/src/Elm/Details.hs+1−1
@@ -776,7 +776,7 @@ instance Binary ValidOutline where
776 case n of
776 case n of
777 0 -> liftM ValidApp get
777 0 -> liftM ValidApp get
778 1 -> liftM3 ValidPkg get get get
778 1 -> liftM3 ValidPkg get get get
779− _ -> error "binary encoding of ValidOutline was corrupted"
779+ _ -> fail "binary encoding of ValidOutline was corrupted"
780
780
781
781
782instance Binary Local where
782instance Binary Local where
compiler/src/AST/Canonical.hs+2−2
@@ -342,7 +342,7 @@ instance Binary CtorOpts where
342 0 -> return Normal
342 0 -> return Normal
343 1 -> return Enum
343 1 -> return Enum
344 2 -> return Unbox
344 2 -> return Unbox
345− _ -> error "binary encoding of CtorOpts was corrupted"
345+ _ -> fail "binary encoding of CtorOpts was corrupted"
346
346
347
347
348instance Binary Annotation where
348instance Binary Annotation where
@@ -393,7 +393,7 @@ instance Binary AliasType where
393 case n of
393 case n of
394 0 -> liftM Holey get
394 0 -> liftM Holey get
395 1 -> liftM Filled get
395 1 -> liftM Filled get
396− _ -> error "binary encoding of AliasType was corrupted"
396+ _ -> fail "binary encoding of AliasType was corrupted"
397
397
398
398
399instance Binary FieldType where
399instance Binary FieldType where
compiler/src/AST/Optimized.hs+8−8
@@ -308,7 +308,7 @@ instance Binary Expr where
308 24 -> pure Unit
308 24 -> pure Unit
309 25 -> liftM3 Tuple get get get
309 25 -> liftM3 Tuple get get get
310 26 -> liftM3 Shader get get get
310 26 -> liftM3 Shader get get get
311− _ -> error "problem getting Opt.Expr binary"
311+ _ -> fail "problem getting Opt.Expr binary"
312
312
313
313
314instance Binary Def where
314instance Binary Def where
@@ -322,7 +322,7 @@ instance Binary Def where
322 case word of
322 case word of
323 0 -> liftM2 Def get get
323 0 -> liftM2 Def get get
324 1 -> liftM3 TailDef get get get
324 1 -> liftM3 TailDef get get get
325− _ -> error "problem getting Opt.Def binary"
325+ _ -> fail "problem getting Opt.Def binary"
326
326
327
327
328instance Binary Destructor where
328instance Binary Destructor where
@@ -345,7 +345,7 @@ instance Binary Path where
345 1 -> liftM2 Field get get
345 1 -> liftM2 Field get get
346 2 -> liftM Unbox get
346 2 -> liftM Unbox get
347 3 -> liftM Root get
347 3 -> liftM Root get
348− _ -> error "problem getting Opt.Path binary"
348+ _ -> fail "problem getting Opt.Path binary"
349
349
350
350
351instance (Binary a) => Binary (Decider a) where
351instance (Binary a) => Binary (Decider a) where
@@ -361,7 +361,7 @@ instance (Binary a) => Binary (Decider a) where
361 0 -> liftM Leaf get
361 0 -> liftM Leaf get
362 1 -> liftM3 Chain get get get
362 1 -> liftM3 Chain get get get
363 2 -> liftM3 FanOut get get get
363 2 -> liftM3 FanOut get get get
364− _ -> error "problem getting Opt.Decider binary"
364+ _ -> fail "problem getting Opt.Decider binary"
365
365
366
366
367instance Binary Choice where
367instance Binary Choice where
@@ -375,7 +375,7 @@ instance Binary Choice where
375 case word of
375 case word of
376 0 -> liftM Inline get
376 0 -> liftM Inline get
377 1 -> liftM Jump get
377 1 -> liftM Jump get
378− _ -> error "problem getting Opt.Choice binary"
378+ _ -> fail "problem getting Opt.Choice binary"
379
379
380
380
381
381
@@ -400,7 +400,7 @@ instance Binary Main where
400 case word of
400 case word of
401 0 -> return Static
401 0 -> return Static
402 1 -> liftM2 Dynamic get get
402 1 -> liftM2 Dynamic get get
403− _ -> error "problem getting Opt.Main binary"
403+ _ -> fail "problem getting Opt.Main binary"
404
404
405
405
406instance Binary Node where
406instance Binary Node where
@@ -432,7 +432,7 @@ instance Binary Node where
432 8 -> liftM2 Kernel get get
432 8 -> liftM2 Kernel get get
433 9 -> liftM2 PortIncoming get get
433 9 -> liftM2 PortIncoming get get
434 10 -> liftM2 PortOutgoing get get
434 10 -> liftM2 PortOutgoing get get
435− _ -> error "problem getting Opt.Node binary"
435+ _ -> fail "problem getting Opt.Node binary"
436
436
437
437
438instance Binary EffectsType where
438instance Binary EffectsType where
@@ -448,4 +448,4 @@ instance Binary EffectsType where
448 0 -> return Cmd
448 0 -> return Cmd
449 1 -> return Sub
449 1 -> return Sub
450 2 -> return Fx
450 2 -> return Fx
451− _ -> error "problem getting Opt.EffectsType binary"
451+ _ -> fail "problem getting Opt.EffectsType binary"
compiler/src/AST/Utils/Binop.hs+5−6
@@ -41,12 +41,11 @@ instance Binary Precedence where
41instance Binary Associativity where
41instance Binary Associativity where
42 get =
42 get =
43 do n <- getWord8
43 do n <- getWord8
44− return $
45− case n of
44+ case n of
46− 0 -> Left
45+ 0 -> return Left
47− 1 -> Non
46+ 1 -> return Non
48− 2 -> Right
47+ 2 -> return Right
49− _ -> error "Error reading valid associativity from serialized string"
48+ _ -> fail "Error reading valid associativity from serialized string"
50
49
51 put assoc =
50 put assoc =
52 putWord8 $
51 putWord8 $
compiler/src/Elm/Constraint.hs+1−1
@@ -216,7 +216,7 @@ instance Binary Op where
216 case n of
216 case n of
217 0 -> return Less
217 0 -> return Less
218 1 -> return LessOrEqual
218 1 -> return LessOrEqual
219− _ -> error "binary encoding of Op was corrupted"
219+ _ -> fail "binary encoding of Op was corrupted"
220
220
221
221
222
222
compiler/src/Elm/Interface.hs+3−3
@@ -215,7 +215,7 @@ instance Binary Union where
215 0 -> liftM OpenUnion get
215 0 -> liftM OpenUnion get
216 1 -> liftM ClosedUnion get
216 1 -> liftM ClosedUnion get
217 2 -> liftM PrivateUnion get
217 2 -> liftM PrivateUnion get
218− _ -> error "binary encoding of Union was corrupted"
218+ _ -> fail "binary encoding of Union was corrupted"
219
219
220
220
221instance Binary Alias where
221instance Binary Alias where
@@ -229,7 +229,7 @@ instance Binary Alias where
229 case n of
229 case n of
230 0 -> liftM PublicAlias get
230 0 -> liftM PublicAlias get
231 1 -> liftM PrivateAlias get
231 1 -> liftM PrivateAlias get
232− _ -> error "binary encoding of Alias was corrupted"
232+ _ -> fail "binary encoding of Alias was corrupted"
233
233
234
234
235instance Binary Binop where
235instance Binary Binop where
@@ -251,4 +251,4 @@ instance Binary DependencyInterface where
251 case n of
251 case n of
252 0 -> liftM Public get
252 0 -> liftM Public get
253 1 -> liftM3 Private get get get
253 1 -> liftM3 Private get get get
254− _ -> error "binary encoding of DependencyInterface was corrupted"
254+ _ -> fail "binary encoding of DependencyInterface was corrupted"
compiler/src/Optimize/DecisionTree.hs+2−2
@@ -618,7 +618,7 @@ instance Binary Test where
618 5 -> liftM IsStr get
618 5 -> liftM IsStr get
619 6 -> liftM IsInt get
619 6 -> liftM IsInt get
620 7 -> liftM IsBool get
620 7 -> liftM IsBool get
621− _ -> error "problem getting DecisionTree.Test binary"
621+ _ -> fail "problem getting DecisionTree.Test binary"
622
622
623
623
624instance Binary Path where
624instance Binary Path where
@@ -634,4 +634,4 @@ instance Binary Path where
634 0 -> liftM2 Index get get
634 0 -> liftM2 Index get get
635 1 -> liftM Unbox get
635 1 -> liftM Unbox get
636 2 -> pure Empty
636 2 -> pure Empty
637− _ -> error "problem getting DecisionTree.Path binary"
637+ _ -> fail "problem getting DecisionTree.Path binary"