VerifierAccumulateDescr accumulate = new VerifierAccumulateDescr(pattern);
PatternDescrVisitor visitor = new PatternDescrVisitor(data,
rule,
solvers);
Pattern parentPattern = visitor.visitPatternDescr(descr.getInputPattern(),
null,
0);
accumulate.setInitCode(descr.getInitCode());
accumulate.setActionCode(descr.getActionCode());
accumulate.setReverseCode(descr.getReverseCode());
accumulate.setResultCode(descr.getResultCode());
// XXX: Array seems to be always null.
// accumulate.setDeclarations(descr.getDeclarations());
accumulate.setClassName(descr.getClassName());
accumulate.setExternalFunction(descr.isExternalFunction());
accumulate.setFunctionIdentifier(descr.getFunctions().get(0).getFunction());
accumulate.setExpression(descr.getFunctions().get(0).getParams()[0]);
accumulate.setParentPath(parentPattern.getPath());
accumulate.setParentType(parentPattern.getVerifierComponentType());
data.add(accumulate);
return accumulate;
}