Project

General

Profile

« Previous | Next » 

Revision c4521397

Added by Pierre-Loïc Garoche almost 4 years ago

preserving types/clocks when possible

View differences:

src/corelang.ml
1329 1329
let rec push_negations ?(neg=false) e =
1330 1330
  let res =
1331 1331
    let pn = push_negations in
1332
    let map desc = mkexpr e.expr_loc desc in
1332
    let map desc =
1333
      (* Keeping clock and type info *)
1334
      let new_e = mkexpr e.expr_loc desc in
1335
      {
1336
        new_e
1337
      with
1338
        expr_type = e.expr_type;
1339
        expr_clock = e.expr_clock
1340
      }
1341
    in
1333 1342
    match e.expr_desc with
1334 1343
    | Expr_ite (g,t,e) ->
1335 1344
       if neg then
......
1402 1411
         e.expr_desc
1403 1412
    | _ -> assert false (* no array, array access, power or merge/when yet *)
1404 1413
  in
1405
  mkexpr e.expr_loc desc
1414
  let new_e = mkexpr e.expr_loc desc in
1415
  { new_e with
1416
    expr_type = e.expr_type;
1417
    expr_clock = e.expr_clock
1418
  }
1406 1419

  
1407 1420

  
1408 1421
        

Also available in: Unified diff