about summary refs log tree commit diff
path: root/src/rt/rust_kernel.cpp
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2011-03-24 12:12:04 -0700
committerGraydon Hoare <graydon@mozilla.com>2011-04-01 11:27:32 -0700
commit3130348ee177f1716488b6caca6c7852fe47754c (patch)
treeee090db0203277e2adf4686fe26bbc3d3f024fbb /src/rt/rust_kernel.cpp
parent69a34b992bccf0c8db8d0d45b5bdddde66874885 (diff)
downloadrust-3130348ee177f1716488b6caca6c7852fe47754c.tar.gz
rust-3130348ee177f1716488b6caca6c7852fe47754c.zip
Started adding support for typestate checking.
I added a new field to the ast "ann" type for typestate information.
Currently, the field contains a record of a precondition bit vector and
postcondition vector, but I tried to structure things so as to make
it easy to change the representation of the typestate annotation type.
I also had to add annotations to some syntactic forms that didn't have
them before (fail, ret, be...), with all the boilerplate changes
that that would imply.

The main call to the typestate_check entry point is commented out and
the actual pre-postcondition algorithm only has a few cases
implemented, though the overall AST traversal is there. The rest of
the typestate algorithm isn't implemented yet.
Diffstat (limited to 'src/rt/rust_kernel.cpp')
0 files changed, 0 insertions, 0 deletions