License | GNU LGPLv3 |
---|---|
Maintainer | paul.bittner@uni-ulm.de |
Safe Haskell | None |
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