1. 21 4月, 2011 1 次提交
  2. 20 4月, 2011 1 次提交
    • T
      Handle nested items correctly in typestate_check · b7dd75c9
      Tim Chevalier 提交于
      Summary says it all. Actually, only nested objects and functions
      are handled, but that's better than before. The fold that I was using
      before to traverse a crate wasn't working correctly, because annotations
      have to reflect the number of local variables of the nearest enclosing
      function (in turn, because annotations are represented as bit vectors).
      The fold was traversing the AST in the wrong order, first filling in
      the annotations correctly, but then re-traversing them with the bit
      vector length for any outer nested functions, and so on.
      
      Remedying this required writing a lot of tedious boilerplate code
      because I scrapped the idea of using a fold altogether.
      
      I also made typestate_check handle unary, field, alt, and fail.
      
      Also, some miscellaneous changes:
      * added annotations to blocks in typeck
      * fix pprust so it can handle spawn
      * added more logging functions in util.common
      * fixed _vec.or
      * added maybe and from_maybe in option
      * removed fold_block field from ast_fold, since it was never used
      b7dd75c9
  3. 14 4月, 2011 1 次提交
    • T
      Make expr_while work in typestate_check · 7c6e6fc5
      Tim Chevalier 提交于
      Also did some refactoring in typestate_check. All test cases in
      compile-fail that involve uninitialized vars now fail correctly!
      (All eight of them, that is.)
      7c6e6fc5
  4. 13 4月, 2011 1 次提交
    • T
      Further work on typestate. Handles expr_rec and expr_assign now. · d7e88184
      Tim Chevalier 提交于
      Also changed the ts_ann field on statements to be an ann instead,
      which explains most of the changes.
      
      As well, got rid of the "warning: no type for expression" error
      by filling in annotations for local decls in typeck (not sure whether
      this was my fault or not).
      
      Finally, in bitv, added a clone() function to copy a bit vector,
      and fixed is_true, is_false, and to_str to not be nonsense.
      d7e88184
  5. 12 4月, 2011 1 次提交
  6. 09 4月, 2011 2 次提交
  7. 01 4月, 2011 1 次提交
  8. 26 3月, 2011 4 次提交
  9. 17 3月, 2011 1 次提交
  10. 09 3月, 2011 1 次提交
  11. 24 2月, 2011 1 次提交
  12. 23 10月, 2010 1 次提交
  13. 20 10月, 2010 1 次提交
  14. 19 10月, 2010 1 次提交
  15. 16 10月, 2010 1 次提交
  16. 06 10月, 2010 1 次提交
  17. 05 10月, 2010 1 次提交
  18. 24 9月, 2010 1 次提交
  19. 22 9月, 2010 1 次提交
  20. 21 9月, 2010 1 次提交
  21. 10 9月, 2010 1 次提交
  22. 02 9月, 2010 1 次提交
  23. 01 9月, 2010 1 次提交
  24. 28 8月, 2010 2 次提交
  25. 21 8月, 2010 1 次提交
  26. 19 8月, 2010 1 次提交
  27. 13 8月, 2010 1 次提交
  28. 24 6月, 2010 1 次提交