- edited description
Collection attribute runtime debug check does not work
Issue #238
resolved
JastAdd 2.1.13
Collection attributes have a runtime debug check to test whether the attribute is evaluated in a node not connected to a collection root node when using the --debug
flag. This debug check is incorrect. The generated code looks like this:
private Collection<B> set_compute() {
ASTNode node = this;
while(node.getParent() != null && !(node instanceof Root)) {
node = node.getParent();
}
if (node == null) {
throw new RuntimeException("Trying to evaluate collection attribute in subtree not attached to main tree");
}
Root root = (Root) node;
This check will never fail because the node.getParent() != null
test in the loop prevents node
from becoming null. Instead a ClassCastException is thrown by the next statement after the if block.
We should add regression tests for this runtime check and fix it.
Comments (3)
-
reporter -
reporter - edited description
-
reporter - changed status to resolved
- Log in to comment