Closed andresteingress closed 12 years ago
It seems there is an issue with @Grab - getting strange static compilation errors for undefined parameters (those errors aren't present when doing a Gradle build or simple groovyc)
@Grab(group='org.gcontracts', module='gcontracts-core', version='[1.2.9,)') import org.gcontracts.annotations.* @groovy.transform.CompileStatic @Invariant({ elements != null }) class Stack<T> { List<T> elements @Ensures({ is_empty() }) def Stack() { elements = [] } @Requires({ preElements?.size() > 0 }) @Ensures({ !is_empty() }) def Stack(List<T> preElements) { elements = preElements } boolean is_empty() { elements.isEmpty() } @Requires({ !is_empty() }) T last_item() { elements.get(count() - 1) } def count() { elements.size() } @Ensures({ result == true ? count() > 0 : count() >= 0 }) boolean has(T item) { elements.contains(item) } @Ensures({ last_item() == item }) def push(T item) { elements.add(item) } @Requires({ !is_empty() }) @Ensures({ last_item() == item }) def replace(T item) { remove() elements.add(item) } @Requires({ !is_empty() }) @Ensures({ result != null }) T remove() { elements.remove(count() - 1) } String toString() { elements.toString() } } def stack = new Stack<Integer>()
It seems there is an issue with @Grab - getting strange static compilation errors for undefined parameters (those errors aren't present when doing a Gradle build or simple groovyc)