| License | GNU LGPLv3 |
|---|---|
| Maintainer | paul.bittner@uni-ulm.de |
| Safe Haskell | None |
StackPopAlice
Description
Module for reproducing our motivating example where Alice edits the pop method of a class Stack in Java.
The example is described in detail in Section 2.1 of the paper and shown in Figure 1.
Synopsis
- feature_SafeStack :: Feature
- feature_ImmutableStack :: Feature
- featurecolours :: MonadColorPrinter m => FeatureFormulaColourPalette m
- startTree :: State UUID SSJavaAST
- condTree :: State UUID SSJavaAST
- cloneDef :: State UUID SSJavaAST
- cloneStorage :: State UUID SSJavaAST
- cloneRetStatement :: State UUID SSJavaAST
- newReturnType :: String
- example :: MonadColorPrinter m => State UUID (Example m SimpleJavaGrammar String)
Documentation
feature_SafeStack :: Feature Source #
Feature SafeStack from the paper.
feature_ImmutableStack :: Feature Source #
Feature ImmutableStack from the paper.
featurecolours :: MonadColorPrinter m => FeatureFormulaColourPalette m Source #
Colours for features and feature formulas used in this example. We chose terminal colours as close the the colours used in the paper as possible.
condTree :: State UUID SSJavaAST Source #
AST representing the condition checking for an empty stack.
if (!empty()) { }
cloneStorage :: State UUID SSJavaAST Source #
AST of the second line of code that was inserted in version (5) to implement feature ImmutableStack.
c.storage[c.head--] = null;
cloneRetStatement :: State UUID SSJavaAST Source #
AST of the third line of code that was inserted in version (5) to implement feature ImmutableStack.
return c;
newReturnType :: String Source #
New return type of the pop method in version (6).
StackT