- for(int i=0;i<literals.length;++i) {
- CHRLiteral literal = literals[i];
- if(i == activeLiteralId)
- context.activate(literal, inputFact, i);
- else
- context.add(literal, i);
+ try {
+ for(int i=0;i<literals.length;++i) {
+ CHRLiteral literal = literals[i];
+ if(i == activeLiteralId)
+ context.activate(literal, inputFact, i);
+ else
+ context.add(literal, i);
+ }
+ if(activeLiteralId == -1 && inputFact != null) {
+ context.addInitFact(initConstraint, inputFact);
+ }
+ return context.createQueryPlan();
+ } catch(Exception e) {
+ throw InternalCompilerError.injectLocation(location, e);