summaryrefslogtreecommitdiff
path: root/BCT/BytecodeTranslator/MetadataTraverser.cs
Commit message (Collapse)AuthorAge
* Use an explicit PdbReader instead of the more general ↵Gravatar mikebarnett2010-12-21
| | | | ISourceLocationProvider so that we can get the closest source location even if the location we have doesn't correspond to an exact source location.
* Generate "assume {:filename "foo.cs"}{:line 3} true" statements for each ↵Gravatar mikebarnett2010-12-20
| | | | statement that has a source location.
* Translate boolean types into Bpl.Type.Bool.Gravatar mikebarnett2010-12-20
|
* Fixed declaration of procedures from static methods so that they don't have ↵Gravatar mikebarnett2010-12-14
| | | | | | the "this" parameter. If a method definition is marked with an attribute whose name is "AsyncAttribute", then all calls to that method have {: async } added as an attribute on the call.
* Fixed field update and field dereference.Gravatar mikebarnett2010-12-09
|
* General hygiene: introduced (fixed) a helper method that creates Boogie ↵Gravatar mikebarnett2010-07-05
| | | | tokens. Made it an extension method that takes any object implementing IObjectWithLocations. Much easier to use within the translator.
* Cleaned up the sink: removed the OutVars, which was state the sink needed ↵Gravatar mikebarnett2010-07-05
| | | | only for assigning the local copy of a method's parameter to the out parameter of the Boogie procedure. But now that is simplified: instead of three versions of each parameter (in, local, and out), there are only two: in and out. For a parameter that is *not* by reference and is *not* an out parameter (i.e., just a plain pass-by-value parameter), the "out" version is a local variable. Otherwise it is an out parameter of the Boogie procedure.
* Introduction of the Sink: a global object that is threaded through all of ↵Gravatar mikebarnett2010-07-02
| | | | the traversers and which contains the information that they need to share with each other.
* Forgotten file.Gravatar mikebarnett2010-06-30