summaryrefslogtreecommitdiff
path: root/BCT/BytecodeTranslator/HeapFactory.cs
Commit message (Collapse)AuthorAge
* Many, many bug fixes related to generics and some other random problems.Gravatar Mike Barnett2011-11-10
|
* Major changes to the translator traversers because they now are based on theGravatar Mike Barnett2011-10-31
| | | | | | | | new traversers. (The old ones have been marked as obsolete.) All types are now encoded as "datatypes" in Boogie. So non-generic types are nullary functions and generic types just have at least one type argument. Lots of other fixes: string encoding of names is now done by negating Boogie's regular expression for identifiers, etc.
* delegates/events implemented as multisets rather than linked listsGravatar qadeer2011-08-30
|
* added RealModulusGravatar qadeer2011-08-17
|
* fixes for bug with generic delegatesGravatar qadeer2011-08-11
|
* (phone bct) nav graph building (mostly) automatedGravatar t-espave2011-08-05
|
* Increase the name mangling to avoid name clashes in the Boogie program. In IL,Gravatar Mike Barnett2011-08-03
| | | | members of a type can have the same name.
* (phone bct) default URI checks inlinedGravatar t-espave2011-08-02
| | | | inlining statistics
* fixed right/left shift functions declGravatar t-espave2011-07-27
|
* added translation for RightShift and LeftShiftGravatar Unknown2011-07-26
|
* double definition fixGravatar t-espave2011-07-22
| | | | changed functions to maps for control properties
* Added subtyping axiomatization.Gravatar Mike Barnett2011-07-20
|
* edited out phoneplugin from most placesGravatar Unknown2011-07-19
| | | | | havoc'ing uri when navigation cannot be determined (partial) added boilerplate boogie code
* potentially useful boogie stubs, commented out since they may conflict with ↵Gravatar Unknown2011-07-15
| | | | {:extern}
* Beginning of encoding the subtype relation.Gravatar Mike Barnett2011-07-06
|
* bug fix in heap access for splitfield optionGravatar qadeer2011-06-30
|
* whole bunch of bug fixesGravatar qadeer2011-06-20
|
* Real2Int type errorGravatar Unknown2011-06-15
|
* refactored the prelude, added thread_local attribute to $Exception variableGravatar qadeer2011-06-14
|
* various bug fixes related to running bct on phone appsGravatar qadeer2011-06-12
|
* changes related to fixing problems with finally translationGravatar qadeer2011-06-12
|
* Further support for translating genericsGravatar qadeer2011-06-04
|
* Added bitwise operations.Gravatar Mike Barnett2011-05-31
|
* Lots of small bug fixes: conversions, overloaded operations on real numbers.Gravatar Mike Barnett2011-05-31
|
* Handle more conversions.Gravatar Mike Barnett2011-05-29
|
* Fixes for a bunch of different bugs. Translate default value for doubles,Gravatar Mike Barnett2011-05-29
| | | | | handle structs that call the default ctor on "this", translate conversion from object to double, etc.
* Beginning of representing structs as values on the heap, but without objectGravatar Mike Barnett2011-05-26
| | | | | equality. Now each struct type has a default constructor that sets all of its fields to zero-equivalent values.
* Fixed array constructionGravatar qadeer2011-05-17
| | | | Added a couple more stubs
* first cut at handling genericsGravatar qadeer2011-05-11
|
* More support for reals, especially real constants.Gravatar Mike Barnett2011-05-08
|
* Better error handling.Gravatar Mike Barnett2011-05-08
| | | | | Defined a new Boogie type, Real, that will be used to represent floating point numbers.
* Fixed lots of bugs having to do with casts, conversions, and address-ofGravatar Mike Barnett2011-05-03
| | | | | | expressions. Changed lots of the Boogie methods to take the "right" types, e.g., Ref instead of int.
* MergeGravatar Mike Barnett2011-05-03
|\
| * Trying to fix "boxing", i.e., value type to ref conversions as done in the CLR.Gravatar Mike Barnett2011-05-03
| |
* | bug fixes related to handling of structs, arrays, and assignmentsGravatar qadeer2011-05-02
|/
* Model newly constructed structs as a constant DefaultStruct that has axioms thatGravatar Unknown2011-04-27
| | | | define it to return zero-equivalent values for all fields.
* fixing problems with struct translationGravatar qadeer2011-04-27
|
* 0. Deleted other heap representations except SplitField and GeneralGravatar qadeer2011-04-23
| | | | 1. first cut at implementing structs
* Fix stub support (still not completely finished).Gravatar Unknown2011-04-12
| | | | | | Fix generation of delegate methods so that they happen after translating all input assemblies and not per assembly. Fix translation of typeof() expressions.
* Made it unnecessary to set the types on the Boogie ASTs as we create them.Gravatar mikebarnett2011-03-03
| | | | | | Added support for string literals. Translating structs no longer crashes the translator, but on the other hand, they are just skipped and not translated... Added a helper method to make sure that generated identifiers are Boogie-legal.
* fixes for splitFields optionGravatar qadeer2011-03-02
|
* implemented delegates and eventsGravatar qadeer2011-02-25
|
* Added a new type, Type, that represents runtime types. The Heap interface ↵Gravatar mikebarnett2011-02-24
| | | | | | now provides a way to declare a new user-defined type and to represent the expressions "typeof(T)" or "o.Type" in the BPL program using a new function $DynamicType. Added a method to the Sink so that any of the translation visitors can find or declare a new type. When an object is allocated, an assumption is generated that gives its dynamic type. Fixed the dynamic dispatch inlining so that the $DynamicType of the object is used to decide which override to call.
* Moved the parts of the Prelude that depend on the heap representation into ↵Gravatar mikebarnett2011-01-20
| | | | | | the appropriate Heap objects. Also added the ability to easily have access to the ASTs that result from the specific heap representation's declarations.
* More structuring of the different heap representations. Now each heap ↵Gravatar mikebarnett2011-01-19
representation is implemented as a different object.