Jimple Refactoring
Here is an overview of the steps that we should take to improve our Jimple implementation. This list is by no means complete and I'll extend it as needed.
Syntax
- revise naming (e.g. rename
Immediate
toLiteral
).
SharedSemantics
-
Highest priority: get the code to compile again
- Comment out all arrow code that does not compile and replace it by
_ -< _
typing wholes. - Remove the first two parameters of
ArrowExcept
and addExcept.Join
constraints toeval
.
- Comment out all arrow code that does not compile and replace it by
-
Cosmetic Changes
- Use arrow-do notation instead of arrow operations
first
,***
,+++
, etc. - Improve the order of functions in the file. The order should roughly follow the syntax definitions
runProgram
,runMethod
,runStatement
, ... - Change
Use...
type classes toIs...
.
- Use arrow-do notation instead of arrow operations
-
Revise Interface
-
updateVar
,updateIndex
,updateField
, ... currently get arun
continuation. For example,updateVar run -< (..., rest)
is used to evaluate the rest of the statements. Therun
parameter should be removed from these operations and insteadrun -< rest
should be called explicitly.
-
-
Add unit tests for the most important language constructs that are not covered by
ConcreteSpec
.