Updated API sources from the latest version of Logic
This commit is contained in:
parent
ff71c6f990
commit
db3fc2b069
|
|
@ -2,89 +2,34 @@ package jetbrains.mps.logic.reactor.constraint;
|
|||
|
||||
/*Generated by MPS */
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Collections;
|
||||
import java.util.Arrays;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Abstract superclass for use in implementations of Constraint and AutoConstraint.
|
||||
*/
|
||||
public abstract class AbstractConstraint implements ComputingItem {
|
||||
public class AbstractConstraint implements Constraint {
|
||||
|
||||
public AbstractConstraint(String symbol, int arity) {
|
||||
this.symbol = symbol;
|
||||
this.arity = arity;
|
||||
public AbstractConstraint(ConstraintSymbol constraintSymbol, Object... arguments) {
|
||||
this.symbol = constraintSymbol;
|
||||
this.arguments = arguments;
|
||||
}
|
||||
|
||||
public String name() {
|
||||
public ConstraintSymbol symbol() {
|
||||
return symbol;
|
||||
}
|
||||
|
||||
public String symbol() {
|
||||
return symbol;
|
||||
public List<Object> arguments() {
|
||||
return Collections.unmodifiableList(Arrays.asList(arguments));
|
||||
}
|
||||
|
||||
public int arity() {
|
||||
return arity;
|
||||
}
|
||||
|
||||
public Instructible handler(ComputingSession session) {
|
||||
return session.handler(asConstraint());
|
||||
}
|
||||
|
||||
public Queryable solver(ComputingSession session) {
|
||||
return session.solver(asAutoConstraint());
|
||||
}
|
||||
|
||||
public abstract Class<? extends Queryable> solverClass();
|
||||
|
||||
public Class<? extends Instructible> handlerClass() {
|
||||
return solverClass();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return symbol;
|
||||
}
|
||||
|
||||
public Constraint asConstraint() {
|
||||
return (Constraint) this;
|
||||
}
|
||||
|
||||
public BuiltinConstraint asAutoConstraint() {
|
||||
return (BuiltinConstraint) this;
|
||||
}
|
||||
|
||||
protected void registerHandler(ComputingSession session, Instructible instructible) {
|
||||
session.registerHandler(asConstraint(), instructible);
|
||||
}
|
||||
|
||||
protected void registerSolver(ComputingSession session, Queryable queryable) {
|
||||
session.registerSolver(asAutoConstraint(), queryable);
|
||||
session.registerHandler(asConstraint(), queryable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) {
|
||||
return true;
|
||||
public List<Class<?>> argumentTypes() {
|
||||
ArrayList<Class<?>> types = new ArrayList<Class<?>>(arguments.length);
|
||||
for (Object arg : arguments) {
|
||||
types.add(arg.getClass());
|
||||
}
|
||||
if (o == null || this.getClass() != o.getClass()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
AbstractConstraint that = (AbstractConstraint) o;
|
||||
if ((symbol != null ? !(((Object) symbol).equals(that.symbol)) : that.symbol != null)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
return types;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = 17;
|
||||
result = 31 * result + ((symbol != null ? String.valueOf(symbol).hashCode() : 37));
|
||||
return result;
|
||||
}
|
||||
|
||||
private String symbol;
|
||||
private int arity;
|
||||
private ConstraintSymbol symbol;
|
||||
private Object[] arguments;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,58 @@
|
|||
package jetbrains.mps.logic.reactor.constraint;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Collections;
|
||||
import java.util.Arrays;
|
||||
|
||||
public abstract class AbstractPredicate implements Predicate {
|
||||
|
||||
public AbstractPredicate(Object... arguments) {
|
||||
this.arguments = arguments;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Object> arguments() {
|
||||
return Collections.unmodifiableList(Arrays.asList(arguments));
|
||||
}
|
||||
|
||||
public Constraint asConstraint() {
|
||||
return (Constraint) this;
|
||||
}
|
||||
|
||||
public Predicate asAutoConstraint() {
|
||||
return (Predicate) this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return symbol().toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) {
|
||||
return true;
|
||||
}
|
||||
if (o == null || this.getClass() != o.getClass()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
AbstractPredicate that = (AbstractPredicate) o;
|
||||
if ((symbol() != null ? !(((Object) symbol()).equals(that.symbol())) : that.symbol() != null)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = 17;
|
||||
result = 31 * result + ((symbol() != null ? String.valueOf(symbol()).hashCode() : 37));
|
||||
return result;
|
||||
}
|
||||
|
||||
private Object[] arguments;
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package jetbrains.mps.logic.reactor.constraint;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface AndItem {
|
||||
|
||||
public Symbol symbol();
|
||||
|
||||
public List<Object> arguments();
|
||||
|
||||
}
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
package jetbrains.mps.logic.reactor.constraint;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
|
||||
/**
|
||||
* A constraint that is provided by a solver. Can be either told or asked for a constraint.
|
||||
*/
|
||||
public interface BuiltinConstraint extends Constraint {
|
||||
|
||||
public Queryable solver(ComputingSession session);
|
||||
|
||||
public Class<? extends Queryable> solverClass();
|
||||
|
||||
public String symbol();
|
||||
|
||||
public int arity();
|
||||
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
package jetbrains.mps.logic.reactor.constraint;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
|
||||
/**
|
||||
* A basic item of computation.
|
||||
*/
|
||||
public interface ComputingItem {
|
||||
|
||||
public void init(ComputingSession session, ComputingTracer tracer);
|
||||
|
||||
public void dispose(ComputingSession session);
|
||||
|
||||
}
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
package jetbrains.mps.logic.reactor.constraint;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* Computing session is used to provide an interface for handlers and solvers working together in a single session.
|
||||
*/
|
||||
public class ComputingSession {
|
||||
|
||||
public static ComputingSession.Builder with(ComputingItem... cst) {
|
||||
return new ComputingSession.Builder(cst);
|
||||
}
|
||||
|
||||
private ComputingSession(ComputingTracer tracer) {
|
||||
this.tracer = tracer;
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
|
||||
private Builder(ComputingItem... item) {
|
||||
items.addAll(Arrays.asList(item));
|
||||
}
|
||||
|
||||
public ComputingSession.Builder withTracer(ComputingTracer tracer) {
|
||||
this.tracer = tracer;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ComputingSession newSession() {
|
||||
ComputingSession session = new ComputingSession(tracer);
|
||||
for (ComputingItem ci : items) {
|
||||
ci.init(session, tracer);
|
||||
}
|
||||
return session;
|
||||
}
|
||||
|
||||
private List<ComputingItem> items = new ArrayList<ComputingItem>();
|
||||
private ComputingTracer tracer;
|
||||
}
|
||||
|
||||
|
||||
public boolean ask(BuiltinConstraint autoConstraint, Object... arg) {
|
||||
Queryable solver = solver(autoConstraint);
|
||||
if (solver == null) {
|
||||
throw new IllegalStateException("no solver for '" + autoConstraint.symbol() + "'");
|
||||
}
|
||||
|
||||
return solver.ask(autoConstraint, arg);
|
||||
}
|
||||
|
||||
public void tell(Constraint constraint, Object... arg) {
|
||||
Instructible handler = handler(constraint);
|
||||
if (handler == null) {
|
||||
throw new IllegalStateException("no handler for '" + constraint.name() + "'");
|
||||
}
|
||||
|
||||
handler.tell(constraint, arg);
|
||||
}
|
||||
|
||||
public Constraint lookupConstraint(Class<?> clazz) {
|
||||
for (Map.Entry<Constraint, Instructible> e : handlers.entrySet()) {
|
||||
if (clazz.isAssignableFrom(e.getKey().handlerClass())) {
|
||||
return e.getKey();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public BuiltinConstraint lookupAutoConstraint(Class<?> clazz) {
|
||||
for (Map.Entry<BuiltinConstraint, Queryable> e : solvers.entrySet()) {
|
||||
if (clazz.isAssignableFrom(e.getKey().solverClass())) {
|
||||
return e.getKey();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
protected Instructible handler(Constraint constraint) {
|
||||
if (!(handlers.containsKey(constraint))) {
|
||||
throw new IllegalStateException("no handler: " + constraint);
|
||||
}
|
||||
return handlers.get(constraint);
|
||||
}
|
||||
|
||||
protected Queryable solver(BuiltinConstraint constraint) {
|
||||
if (!(solvers.containsKey(constraint))) {
|
||||
throw new IllegalStateException("no handler: " + constraint);
|
||||
}
|
||||
return solvers.get(constraint);
|
||||
}
|
||||
|
||||
protected void registerHandler(Constraint constraint, Instructible instructible) {
|
||||
handlers.put(constraint, instructible);
|
||||
}
|
||||
|
||||
protected void registerSolver(BuiltinConstraint constraint, Queryable queryable) {
|
||||
solvers.put(constraint, queryable);
|
||||
}
|
||||
|
||||
private Map<Constraint, Instructible> handlers = new HashMap<Constraint, Instructible>();
|
||||
|
||||
private Map<BuiltinConstraint, Queryable> solvers = new HashMap<BuiltinConstraint, Queryable>();
|
||||
|
||||
private final ComputingTracer tracer;
|
||||
}
|
||||
|
|
@ -5,8 +5,10 @@ package jetbrains.mps.logic.reactor.constraint;
|
|||
|
||||
public interface ComputingTracer {
|
||||
|
||||
public void askSuccess(BuiltinConstraint autoConstraint, Object... args);
|
||||
public void askSuccess(PredicateSymbol predicateSymbol, Object... args);
|
||||
|
||||
public void askFailure(BuiltinConstraint autoConstraint, Object... args);
|
||||
public void askFailure(PredicateSymbol predicateSymbol, Object... args);
|
||||
|
||||
public void reportFailure(String message);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,18 +2,17 @@ package jetbrains.mps.logic.reactor.constraint;
|
|||
|
||||
/*Generated by MPS */
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A constraint provided by a handler. Can only be told.
|
||||
* FIXME: should be merely a factory for ConstraintOccurrence's
|
||||
* FIXME: should be provided by the session (from ConstraintSymbol)
|
||||
*/
|
||||
public interface Constraint extends ComputingItem {
|
||||
public interface Constraint extends AndItem {
|
||||
|
||||
public Instructible handler(ComputingSession session);
|
||||
public ConstraintSymbol symbol();
|
||||
|
||||
public Class<? extends Instructible> handlerClass();
|
||||
|
||||
public String name();
|
||||
|
||||
public int arity();
|
||||
public List<Class<?>> argumentTypes();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
package jetbrains.mps.logic.reactor.constraint;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ConstraintOccurrence {
|
||||
|
||||
public Constraint constraint();
|
||||
|
||||
public List<Object> arguments();
|
||||
|
||||
}
|
||||
|
|
@ -6,69 +6,19 @@ package jetbrains.mps.logic.reactor.constraint;
|
|||
/**
|
||||
* TODO: move to the constraint model
|
||||
*/
|
||||
public class ConstraintSymbol {
|
||||
public class ConstraintSymbol extends Symbol {
|
||||
|
||||
public static ConstraintSymbol symbol(String id, int arity) {
|
||||
return new ConstraintSymbol(id, arity, false);
|
||||
return new ConstraintSymbol(id, arity);
|
||||
}
|
||||
|
||||
public static ConstraintSymbol builtinSymbol(String id, int arity) {
|
||||
return new ConstraintSymbol(id, arity, true);
|
||||
}
|
||||
|
||||
private ConstraintSymbol(String id, int arity, boolean builtin) {
|
||||
this.id = id;
|
||||
this.arity = arity;
|
||||
this.builtin = builtin;
|
||||
}
|
||||
|
||||
public String id() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public int arity() {
|
||||
return arity;
|
||||
}
|
||||
|
||||
public boolean isBuiltin() {
|
||||
return builtin;
|
||||
public ConstraintSymbol(String id, int arity) {
|
||||
super(id, arity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return id;
|
||||
return id() + "/" + arity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) {
|
||||
return true;
|
||||
}
|
||||
if (o == null || this.getClass() != o.getClass()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
ConstraintSymbol that = (ConstraintSymbol) o;
|
||||
if ((id != null ? !(id.equals(that.id)) : that.id != null)) {
|
||||
return false;
|
||||
}
|
||||
if (arity != that.arity) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = 17;
|
||||
result = 43 * result + ((id != null ? String.valueOf(id).hashCode() : 0));
|
||||
result = 31 * result + 37 * arity;
|
||||
return result;
|
||||
}
|
||||
|
||||
private String id;
|
||||
private int arity;
|
||||
|
||||
private boolean builtin;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,6 @@ package jetbrains.mps.logic.reactor.constraint;
|
|||
|
||||
public interface Instructible {
|
||||
|
||||
public void tell(Constraint constraint, Object... arg);
|
||||
public void tell(Symbol symbol, Object... arg);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
package jetbrains.mps.logic.reactor.constraint;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
|
||||
public class JavaPredicateSymbol extends PredicateSymbol {
|
||||
|
||||
public JavaPredicateSymbol(String expression, int arity) {
|
||||
super(expression, arity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "J:" + id() + "/" + arity();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package jetbrains.mps.logic.reactor.constraint;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
|
||||
/**
|
||||
* A predicate that is provided by a solver. Can be either told or asked.
|
||||
*/
|
||||
public interface Predicate extends AndItem {
|
||||
|
||||
public PredicateSymbol symbol();
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package jetbrains.mps.logic.reactor.constraint;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
|
||||
public class PredicateSymbol extends Symbol {
|
||||
|
||||
public PredicateSymbol(String id, int arity) {
|
||||
super(id, arity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return id() + "()/" + arity();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -5,6 +5,6 @@ package jetbrains.mps.logic.reactor.constraint;
|
|||
|
||||
public interface Queryable extends Instructible {
|
||||
|
||||
public boolean ask(BuiltinConstraint autoConstraint, Object... arg);
|
||||
public boolean ask(PredicateSymbol predicateSymbol, Object... arg);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,67 @@
|
|||
package jetbrains.mps.logic.reactor.constraint;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* Is used to provide an interface for handlers and solvers working together in a single session.
|
||||
*/
|
||||
public abstract class SessionSolver implements Instructible, Queryable {
|
||||
|
||||
public void init(PredicateSymbol... predicateSymbols) {
|
||||
registerSymbols(null, predicateSymbols);
|
||||
}
|
||||
|
||||
public void init(ComputingTracer computingTracer, PredicateSymbol... predicateSymbols) {
|
||||
registerSymbols(computingTracer, predicateSymbols);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean ask(PredicateSymbol predicateSymbol, Object... arg) {
|
||||
return solver(predicateSymbol).ask(predicateSymbol, arg);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tell(Symbol symbol, Object... arg) {
|
||||
handler(symbol).tell(symbol, arg);
|
||||
}
|
||||
|
||||
public Queryable lookupQueryable(Class<?> clazz) {
|
||||
for (Map.Entry<PredicateSymbol, Queryable> e : solvers.entrySet()) {
|
||||
Queryable queryable = e.getValue();
|
||||
if (clazz.isAssignableFrom(queryable.getClass())) {
|
||||
return queryable;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public abstract Class<? extends Queryable> solverClass(PredicateSymbol predicateSymbol);
|
||||
|
||||
protected abstract void registerSymbol(PredicateSymbol predicateSymbol, ComputingTracer computingTracer);
|
||||
|
||||
protected void registerSolver(PredicateSymbol constraint, Queryable queryable) {
|
||||
solvers.put(constraint, queryable);
|
||||
}
|
||||
|
||||
private Instructible handler(Symbol symbol) {
|
||||
return solver((PredicateSymbol) symbol);
|
||||
}
|
||||
|
||||
private void registerSymbols(ComputingTracer computingTracer, PredicateSymbol... predicateSymbols) {
|
||||
for (PredicateSymbol symbol : predicateSymbols) {
|
||||
registerSymbol(symbol, computingTracer);
|
||||
}
|
||||
}
|
||||
|
||||
private Queryable solver(PredicateSymbol predicateSymbol) {
|
||||
if (!(solvers.containsKey(predicateSymbol))) {
|
||||
throw new IllegalStateException("no handler: " + predicateSymbol);
|
||||
}
|
||||
return solvers.get(predicateSymbol);
|
||||
}
|
||||
|
||||
private Map<PredicateSymbol, Queryable> solvers = new HashMap<PredicateSymbol, Queryable>();
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
package jetbrains.mps.logic.reactor.constraint;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
|
||||
public class StandardBuiltinConstraint {
|
||||
|
||||
public static final ConstraintSymbol UNIFICATION = ConstraintSymbol.builtinSymbol("=", 2);
|
||||
|
||||
public static final ConstraintSymbol EQUALS = ConstraintSymbol.builtinSymbol("==", 2);
|
||||
|
||||
public static final ConstraintSymbol ASSERT = ConstraintSymbol.builtinSymbol("assert", 1);
|
||||
|
||||
public static final ConstraintSymbol FREE = ConstraintSymbol.builtinSymbol("isVar", 1);
|
||||
|
||||
public static final ConstraintSymbol BOUND = ConstraintSymbol.builtinSymbol("isNonVar", 1);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
package jetbrains.mps.logic.reactor.constraint;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
|
||||
public abstract class Symbol {
|
||||
|
||||
protected Symbol(String id, int arity) {
|
||||
this.id = id;
|
||||
this.arity = arity;
|
||||
}
|
||||
|
||||
public String id() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public int arity() {
|
||||
return arity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = 17;
|
||||
result = 43 * result + ((id != null ? String.valueOf(id).hashCode() : 0));
|
||||
result = 31 * result + 37 * arity;
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) {
|
||||
return true;
|
||||
}
|
||||
if (o == null || this.getClass() != o.getClass()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Symbol that = (Symbol) o;
|
||||
if ((id != null ? !(id.equals(that.id())) : that.id != null)) {
|
||||
return false;
|
||||
}
|
||||
if (arity != that.arity) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private String id;
|
||||
private int arity;
|
||||
}
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
package jetbrains.mps.logic.reactor.constraint.occurrence;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.constraint.ConstraintSymbol;
|
||||
import java.util.List;
|
||||
import java.util.Collections;
|
||||
import java.util.Arrays;
|
||||
|
||||
public abstract class AbstractConstraintOccurrence {
|
||||
|
||||
protected AbstractConstraintOccurrence(ConstraintSymbol symbol, Object... arg) {
|
||||
this.symbol = symbol;
|
||||
this.arg = arg;
|
||||
}
|
||||
|
||||
public ConstraintSymbol symbol() {
|
||||
return symbol;
|
||||
}
|
||||
|
||||
public List<Object> arguments() {
|
||||
return (arg != null ? Collections.unmodifiableList(Arrays.asList(arg)) : Collections.emptyList());
|
||||
}
|
||||
|
||||
public abstract ConstraintKind kind();
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getClass().getSimpleName() + " (" + symbol + ")" + "/" + arg.length;
|
||||
}
|
||||
|
||||
private final ConstraintSymbol symbol;
|
||||
private Object[] arg;
|
||||
}
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
package jetbrains.mps.logic.reactor.constraint.occurrence;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.constraint.ConstraintSymbol;
|
||||
|
||||
public class BuiltinConstraintOccurrence extends AbstractConstraintOccurrence {
|
||||
|
||||
public static BuiltinConstraintOccurrence unitary(ConstraintSymbol symbol, Object arg) {
|
||||
if (symbol.arity() != 1) {
|
||||
throw new IllegalArgumentException("arity mismatch");
|
||||
}
|
||||
|
||||
return new BuiltinConstraintOccurrence(symbol, arg);
|
||||
}
|
||||
|
||||
public static BuiltinConstraintOccurrence binary(ConstraintSymbol symbol, Object arg1, Object arg2) {
|
||||
if (symbol.arity() != 2) {
|
||||
throw new IllegalArgumentException("arity mismatch");
|
||||
}
|
||||
|
||||
return new BuiltinConstraintOccurrence(symbol, arg1, arg2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConstraintKind kind() {
|
||||
return ConstraintKind.BUILTIN;
|
||||
}
|
||||
|
||||
private BuiltinConstraintOccurrence(ConstraintSymbol symbol, Object... arg) {
|
||||
super(symbol, arg);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
package jetbrains.mps.logic.reactor.constraint.occurrence;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
|
||||
@Deprecated
|
||||
public enum ConstraintKind {
|
||||
BUILTIN(),
|
||||
USER(),
|
||||
LOGICAL(),
|
||||
JAVA();
|
||||
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
package jetbrains.mps.logic.reactor.constraint.occurrence;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.constraint.ConstraintSymbol;
|
||||
|
||||
public class ConstraintOccurrence extends AbstractConstraintOccurrence {
|
||||
|
||||
public static ConstraintOccurrence singleton(String id) {
|
||||
return new ConstraintOccurrence(ConstraintSymbol.symbol(id, 0));
|
||||
}
|
||||
|
||||
public static ConstraintOccurrence unitary(String id, Object arg) {
|
||||
return new ConstraintOccurrence(ConstraintSymbol.symbol(id, 1), arg);
|
||||
}
|
||||
|
||||
public static ConstraintOccurrence binary(String id, Object arg1, Object arg2) {
|
||||
return new ConstraintOccurrence(ConstraintSymbol.symbol(id, 2), arg1, arg2);
|
||||
}
|
||||
|
||||
public static ConstraintOccurrence ternary(String id, Object arg1, Object arg2, Object arg3) {
|
||||
return new ConstraintOccurrence(ConstraintSymbol.symbol(id, 3), arg1, arg2, arg3);
|
||||
}
|
||||
|
||||
public static ConstraintOccurrence nary(String id, Object... args) {
|
||||
return new ConstraintOccurrence(ConstraintSymbol.symbol(id, args.length), args);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConstraintKind kind() {
|
||||
return ConstraintKind.USER;
|
||||
}
|
||||
|
||||
private ConstraintOccurrence(ConstraintSymbol symbol, Object... args) {
|
||||
super(symbol, args);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
package jetbrains.mps.logic.reactor.constraint.occurrence;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.constraint.ConstraintSymbol;
|
||||
|
||||
public class JavaConstraintOccurrence extends AbstractConstraintOccurrence {
|
||||
|
||||
public static JavaConstraintOccurrence nary(String template, Object... args) {
|
||||
return new JavaConstraintOccurrence(template, args);
|
||||
}
|
||||
|
||||
private JavaConstraintOccurrence(String template, Object... args) {
|
||||
super(ConstraintSymbol.symbol(template, args.length), args);
|
||||
}
|
||||
|
||||
public ConstraintKind kind() {
|
||||
return ConstraintKind.JAVA;
|
||||
}
|
||||
|
||||
public String toJavaString() {
|
||||
return String.valueOf(symbol());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
package jetbrains.mps.logic.reactor.constraint.occurrence;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.constraint.StandardBuiltinConstraint;
|
||||
import jetbrains.mps.logic.reactor.constraint.ConstraintSymbol;
|
||||
|
||||
public class LogicalConstraintOccurence extends AbstractConstraintOccurrence {
|
||||
|
||||
public static LogicalConstraintOccurence bound(Object logical) {
|
||||
return new LogicalConstraintOccurence(StandardBuiltinConstraint.BOUND, logical);
|
||||
}
|
||||
|
||||
public static LogicalConstraintOccurence free(Object logical) {
|
||||
return new LogicalConstraintOccurence(StandardBuiltinConstraint.FREE, logical);
|
||||
}
|
||||
|
||||
private LogicalConstraintOccurence(ConstraintSymbol symbol, Object logical) {
|
||||
super(symbol, logical);
|
||||
}
|
||||
|
||||
public ConstraintKind kind() {
|
||||
return ConstraintKind.LOGICAL;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,213 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<debug-info>
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ConstructorDeclaration" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ExpressionStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.FieldDeclaration" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.IfStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ReturnStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.Statement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.SuperConstructorInvocation" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ThrowStatement" />
|
||||
<root nodeRef="r:ffe6dee4-3b51-482f-93a8-7b16b0c154a5(jetbrains.mps.logic.reactor.constraint.occurrence)/2784663291559965072">
|
||||
<file name="ConstraintKind.java">
|
||||
<unit id="2784663291559965072" at="6,0,14,0" name="jetbrains.mps.logic.reactor.constraint.occurrence.ConstraintKind" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:ffe6dee4-3b51-482f-93a8-7b16b0c154a5(jetbrains.mps.logic.reactor.constraint.occurrence)/2784663291560507288">
|
||||
<file name="JavaConstraintOccurrence.java">
|
||||
<node id="2784663291563981107" at="9,80,10,56" concept="5" />
|
||||
<node id="2784663291560517776" at="13,69,14,64" concept="8" />
|
||||
<node id="2784663291560520183" at="17,32,18,31" concept="5" />
|
||||
<node id="2784663291562781538" at="21,32,22,36" concept="5" />
|
||||
<node id="2784663291563981098" at="9,0,12,0" concept="7" trace="nary#(Ljava/lang/String;null)Ljetbrains/mps/logic/reactor/constraint/occurrence/JavaConstraintOccurrence;" />
|
||||
<node id="2784663291560508578" at="13,0,16,0" concept="0" trace="JavaConstraintOccurrence#(Ljava/lang/String;null)V" />
|
||||
<node id="2784663291560507908" at="17,0,20,0" concept="4" trace="kind#()Ljetbrains/mps/logic/reactor/constraint/occurrence/ConstraintKind;" />
|
||||
<node id="2784663291562776140" at="21,0,24,0" concept="4" trace="toJavaString#()Ljava/lang/String;" />
|
||||
<scope id="2784663291563981106" at="9,80,10,56" />
|
||||
<scope id="2784663291560508582" at="13,69,14,64" />
|
||||
<scope id="2784663291560507912" at="17,32,18,31" />
|
||||
<scope id="2784663291562776144" at="21,32,22,36" />
|
||||
<scope id="2784663291563981098" at="9,0,12,0">
|
||||
<var name="args" id="2784663291563981101" />
|
||||
<var name="template" id="2784663291563981099" />
|
||||
</scope>
|
||||
<scope id="2784663291560508578" at="13,0,16,0">
|
||||
<var name="args" id="2784663291560510671" />
|
||||
<var name="template" id="2784663291560510508" />
|
||||
</scope>
|
||||
<scope id="2784663291560507908" at="17,0,20,0" />
|
||||
<scope id="2784663291562776140" at="21,0,24,0" />
|
||||
<unit id="2784663291560507288" at="7,0,26,0" name="jetbrains.mps.logic.reactor.constraint.occurrence.JavaConstraintOccurrence" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:ffe6dee4-3b51-482f-93a8-7b16b0c154a5(jetbrains.mps.logic.reactor.constraint.occurrence)/5841747851378918959">
|
||||
<file name="LogicalConstraintOccurence.java">
|
||||
<node id="5841747851379152189" at="10,66,11,84" concept="5" />
|
||||
<node id="5841747851379166327" at="14,65,15,83" concept="5" />
|
||||
<node id="5841747851378925055" at="18,79,19,27" concept="8" />
|
||||
<node id="5841747851378922406" at="22,32,23,34" concept="5" />
|
||||
<node id="5841747851379151158" at="10,0,13,0" concept="7" trace="bound#(Ljava/lang/Object;)Ljetbrains/mps/logic/reactor/constraint/occurrence/LogicalConstraintOccurence;" />
|
||||
<node id="5841747851379166321" at="14,0,17,0" concept="7" trace="free#(Ljava/lang/Object;)Ljetbrains/mps/logic/reactor/constraint/occurrence/LogicalConstraintOccurence;" />
|
||||
<node id="5841747851378924851" at="18,0,21,0" concept="0" trace="LogicalConstraintOccurence#(Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;Ljava/lang/Object;)V" />
|
||||
<node id="5841747851378921991" at="22,0,25,0" concept="4" trace="kind#()Ljetbrains/mps/logic/reactor/constraint/occurrence/ConstraintKind;" />
|
||||
<scope id="5841747851379151162" at="10,66,11,84" />
|
||||
<scope id="5841747851379166326" at="14,65,15,83" />
|
||||
<scope id="5841747851378924855" at="18,79,19,27" />
|
||||
<scope id="5841747851378921995" at="22,32,23,34" />
|
||||
<scope id="5841747851379151158" at="10,0,13,0">
|
||||
<var name="logical" id="5841747851379151823" />
|
||||
</scope>
|
||||
<scope id="5841747851379166321" at="14,0,17,0">
|
||||
<var name="logical" id="5841747851379166322" />
|
||||
</scope>
|
||||
<scope id="5841747851378924851" at="18,0,21,0">
|
||||
<var name="logical" id="5841747851378925889" />
|
||||
<var name="symbol" id="5841747851378925673" />
|
||||
</scope>
|
||||
<scope id="5841747851378921991" at="22,0,25,0" />
|
||||
<unit id="5841747851378918959" at="8,0,27,0" name="jetbrains.mps.logic.reactor.constraint.occurrence.LogicalConstraintOccurence" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:ffe6dee4-3b51-482f-93a8-7b16b0c154a5(jetbrains.mps.logic.reactor.constraint.occurrence)/8335224865064894913">
|
||||
<file name="BuiltinConstraintOccurrence.java">
|
||||
<node id="2581717380588396588" at="10,30,11,59" concept="9" />
|
||||
<node id="2581717380588402908" at="12,5,13,0" concept="6" />
|
||||
<node id="8335224865064894923" at="13,0,14,56" concept="5" />
|
||||
<node id="2581717380588403000" at="18,30,19,59" concept="9" />
|
||||
<node id="2581717380588405966" at="20,5,21,0" concept="6" />
|
||||
<node id="8335224865064894939" at="21,0,22,63" concept="5" />
|
||||
<node id="2784663291560133958" at="26,32,27,34" concept="5" />
|
||||
<node id="8335224865064894991" at="30,79,31,23" concept="8" />
|
||||
<node id="2581717380588393974" at="9,90,12,5" concept="3" />
|
||||
<node id="2581717380588402998" at="17,103,20,5" concept="3" />
|
||||
<node id="8335224865064894982" at="30,0,33,0" concept="0" trace="BuiltinConstraintOccurrence#(Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;null)V" />
|
||||
<node id="2784663291560132331" at="25,0,29,0" concept="4" trace="kind#()Ljetbrains/mps/logic/reactor/constraint/occurrence/ConstraintKind;" />
|
||||
<node id="8335224865064894915" at="9,0,16,0" concept="7" trace="unitary#(Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;Ljava/lang/Object;)Ljetbrains/mps/logic/reactor/constraint/occurrence/BuiltinConstraintOccurrence;" />
|
||||
<node id="8335224865064894929" at="17,0,24,0" concept="7" trace="binary#(Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;Ljava/lang/Object;Ljava/lang/Object;)Ljetbrains/mps/logic/reactor/constraint/occurrence/BuiltinConstraintOccurrence;" />
|
||||
<scope id="2581717380588393977" at="10,30,11,59" />
|
||||
<scope id="2581717380588402999" at="18,30,19,59" />
|
||||
<scope id="2784663291560132335" at="26,32,27,34" />
|
||||
<scope id="8335224865064894990" at="30,79,31,23" />
|
||||
<scope id="8335224865064894982" at="30,0,33,0">
|
||||
<var name="arg" id="8335224865064894985" />
|
||||
<var name="symbol" id="8335224865064894983" />
|
||||
</scope>
|
||||
<scope id="2784663291560132331" at="25,0,29,0" />
|
||||
<scope id="8335224865064894922" at="9,90,14,56" />
|
||||
<scope id="8335224865064894938" at="17,103,22,63" />
|
||||
<scope id="8335224865064894915" at="9,0,16,0">
|
||||
<var name="arg" id="8335224865064894918" />
|
||||
<var name="symbol" id="8335224865064894916" />
|
||||
</scope>
|
||||
<scope id="8335224865064894929" at="17,0,24,0">
|
||||
<var name="arg1" id="8335224865064894932" />
|
||||
<var name="arg2" id="8335224865064894934" />
|
||||
<var name="symbol" id="8335224865064894930" />
|
||||
</scope>
|
||||
<unit id="8335224865064894913" at="7,0,35,0" name="jetbrains.mps.logic.reactor.constraint.occurrence.BuiltinConstraintOccurrence" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:ffe6dee4-3b51-482f-93a8-7b16b0c154a5(jetbrains.mps.logic.reactor.constraint.occurrence)/8335224865064894996">
|
||||
<file name="AbstractConstraintOccurrence.java">
|
||||
<node id="8335224865064895007" at="12,82,13,25" concept="1" />
|
||||
<node id="8335224865064895013" at="13,25,14,19" concept="1" />
|
||||
<node id="8335224865064895024" at="17,36,18,18" concept="5" />
|
||||
<node id="8335224865064895046" at="21,35,22,102" concept="5" />
|
||||
<node id="2784663291559977205" at="25,0,26,0" concept="4" trace="kind#()Ljetbrains/mps/logic/reactor/constraint/occurrence/ConstraintKind;" />
|
||||
<node id="9010599623176893011" at="28,28,29,79" concept="5" />
|
||||
<node id="8335224865064895067" at="32,0,33,0" concept="2" trace="symbol" />
|
||||
<node id="8335224865064895070" at="33,0,34,0" concept="2" trace="arg" />
|
||||
<node id="8335224865064895020" at="17,0,20,0" concept="4" trace="symbol#()Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;" />
|
||||
<node id="8335224865064895041" at="21,0,24,0" concept="4" trace="arguments#()Ljava/util/List;" />
|
||||
<node id="8335224865064894998" at="12,0,16,0" concept="0" trace="AbstractConstraintOccurrence#(Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;null)V" />
|
||||
<node id="9010599623176891835" at="27,0,31,0" concept="4" trace="toString#()Ljava/lang/String;" />
|
||||
<scope id="8335224865064895023" at="17,36,18,18" />
|
||||
<scope id="8335224865064895045" at="21,35,22,102" />
|
||||
<scope id="2784663291559977205" at="25,0,26,0" />
|
||||
<scope id="9010599623176891839" at="28,28,29,79" />
|
||||
<scope id="8335224865064895006" at="12,82,14,19" />
|
||||
<scope id="8335224865064895020" at="17,0,20,0" />
|
||||
<scope id="8335224865064895041" at="21,0,24,0" />
|
||||
<scope id="8335224865064894998" at="12,0,16,0">
|
||||
<var name="arg" id="8335224865064895001" />
|
||||
<var name="symbol" id="8335224865064894999" />
|
||||
</scope>
|
||||
<scope id="9010599623176891835" at="27,0,31,0" />
|
||||
<unit id="8335224865064894996" at="10,0,35,0" name="jetbrains.mps.logic.reactor.constraint.occurrence.AbstractConstraintOccurrence" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:ffe6dee4-3b51-482f-93a8-7b16b0c154a5(jetbrains.mps.logic.reactor.constraint.occurrence)/8335224865064895431">
|
||||
<file name="ConstraintOccurrence.java">
|
||||
<node id="8490564095239761549" at="9,59,10,68" concept="5" />
|
||||
<node id="8335224865064895441" at="13,69,14,73" concept="5" />
|
||||
<node id="8335224865064895457" at="17,82,18,80" concept="5" />
|
||||
<node id="8335224865064895476" at="21,96,22,86" concept="5" />
|
||||
<node id="6135434422634372105" at="25,70,26,84" concept="5" />
|
||||
<node id="2784663291560143129" at="30,32,31,31" concept="5" />
|
||||
<node id="8335224865064895510" at="34,73,35,24" concept="8" />
|
||||
<node id="8490564095239761541" at="9,0,12,0" concept="7" trace="singleton#(Ljava/lang/String;)Ljetbrains/mps/logic/reactor/constraint/occurrence/ConstraintOccurrence;" />
|
||||
<node id="8335224865064895433" at="13,0,16,0" concept="7" trace="unitary#(Ljava/lang/String;Ljava/lang/Object;)Ljetbrains/mps/logic/reactor/constraint/occurrence/ConstraintOccurrence;" />
|
||||
<node id="8335224865064895447" at="17,0,20,0" concept="7" trace="binary#(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljetbrains/mps/logic/reactor/constraint/occurrence/ConstraintOccurrence;" />
|
||||
<node id="8335224865064895464" at="21,0,24,0" concept="7" trace="ternary#(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljetbrains/mps/logic/reactor/constraint/occurrence/ConstraintOccurrence;" />
|
||||
<node id="6135434422634372093" at="25,0,28,0" concept="7" trace="nary#(Ljava/lang/String;null)Ljetbrains/mps/logic/reactor/constraint/occurrence/ConstraintOccurrence;" />
|
||||
<node id="8335224865064895501" at="34,0,37,0" concept="0" trace="ConstraintOccurrence#(Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;null)V" />
|
||||
<node id="2784663291560140676" at="29,0,33,0" concept="4" trace="kind#()Ljetbrains/mps/logic/reactor/constraint/occurrence/ConstraintKind;" />
|
||||
<scope id="8490564095239761548" at="9,59,10,68" />
|
||||
<scope id="8335224865064895440" at="13,69,14,73" />
|
||||
<scope id="8335224865064895456" at="17,82,18,80" />
|
||||
<scope id="8335224865064895475" at="21,96,22,86" />
|
||||
<scope id="6135434422634372104" at="25,70,26,84" />
|
||||
<scope id="2784663291560140680" at="30,32,31,31" />
|
||||
<scope id="8335224865064895509" at="34,73,35,24" />
|
||||
<scope id="8490564095239761541" at="9,0,12,0">
|
||||
<var name="id" id="8490564095239761542" />
|
||||
</scope>
|
||||
<scope id="8335224865064895433" at="13,0,16,0">
|
||||
<var name="arg" id="8335224865064895436" />
|
||||
<var name="id" id="8335224865064895434" />
|
||||
</scope>
|
||||
<scope id="8335224865064895447" at="17,0,20,0">
|
||||
<var name="arg1" id="8335224865064895450" />
|
||||
<var name="arg2" id="8335224865064895452" />
|
||||
<var name="id" id="8335224865064895448" />
|
||||
</scope>
|
||||
<scope id="8335224865064895464" at="21,0,24,0">
|
||||
<var name="arg1" id="8335224865064895467" />
|
||||
<var name="arg2" id="8335224865064895469" />
|
||||
<var name="arg3" id="8335224865064895471" />
|
||||
<var name="id" id="8335224865064895465" />
|
||||
</scope>
|
||||
<scope id="6135434422634372093" at="25,0,28,0">
|
||||
<var name="args" id="6135434422634376039" />
|
||||
<var name="id" id="6135434422634372094" />
|
||||
</scope>
|
||||
<scope id="8335224865064895501" at="34,0,37,0">
|
||||
<var name="args" id="8335224865064895504" />
|
||||
<var name="symbol" id="8335224865064895502" />
|
||||
</scope>
|
||||
<scope id="2784663291560140676" at="29,0,33,0" />
|
||||
<unit id="8335224865064895431" at="7,0,39,0" name="jetbrains.mps.logic.reactor.constraint.occurrence.ConstraintOccurrence" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:ffe6dee4-3b51-482f-93a8-7b16b0c154a5(jetbrains.mps.logic.reactor.constraint.occurrence)/9010599623176680927">
|
||||
<file name="InvalidConstraintException.java">
|
||||
<node id="9010599623176682194" at="8,53,9,19" concept="8" />
|
||||
<node id="9010599623176682617" at="12,67,13,23" concept="8" />
|
||||
<node id="9010599623176682144" at="8,0,11,0" concept="0" trace="InvalidConstraintException#(Ljava/lang/String;)V" />
|
||||
<node id="9010599623176682613" at="12,0,15,0" concept="0" trace="InvalidConstraintException#(Ljava/lang/String;Ljava/lang/Throwable;)V" />
|
||||
<scope id="9010599623176682148" at="8,53,9,19" />
|
||||
<scope id="9010599623176682616" at="12,67,13,23" />
|
||||
<scope id="9010599623176682144" at="8,0,11,0">
|
||||
<var name="message" id="9010599623176682158" />
|
||||
</scope>
|
||||
<scope id="9010599623176682613" at="12,0,15,0">
|
||||
<var name="ex" id="9010599623176682960" />
|
||||
<var name="message" id="9010599623176682619" />
|
||||
</scope>
|
||||
<unit id="9010599623176680927" at="6,0,17,0" name="jetbrains.mps.logic.reactor.constraint.occurrence.InvalidConstraintException" />
|
||||
</file>
|
||||
</root>
|
||||
</debug-info>
|
||||
|
||||
|
|
@ -9,413 +9,375 @@
|
|||
<concept fqn="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ReturnStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.Statement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.StaticFieldDeclaration" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.SuperConstructorInvocation" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ThrowStatement" />
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/2394628030058821331">
|
||||
<file name="ComputingTracer.java">
|
||||
<node id="2394628030058889702" at="8,0,9,0" concept="5" trace="askSuccess#(Ljetbrains/mps/logic/reactor/constraint/BuiltinConstraint;null)V" />
|
||||
<node id="2394628030058891476" at="10,0,11,0" concept="5" trace="askFailure#(Ljetbrains/mps/logic/reactor/constraint/BuiltinConstraint;null)V" />
|
||||
<node id="2394628030058889702" at="8,0,9,0" concept="5" trace="askSuccess#(Ljetbrains/mps/logic/reactor/constraint/PredicateSymbol;null)V" />
|
||||
<node id="2394628030058891476" at="10,0,11,0" concept="5" trace="askFailure#(Ljetbrains/mps/logic/reactor/constraint/PredicateSymbol;null)V" />
|
||||
<node id="8344829839210112466" at="12,0,13,0" concept="5" trace="reportFailure#(Ljava/lang/String;)V" />
|
||||
<scope id="2394628030058889702" at="8,0,9,0">
|
||||
<var name="args" id="2394628030058890766" />
|
||||
<var name="autoConstraint" id="2394628030058890707" />
|
||||
<var name="predicateSymbol" id="2394628030058890707" />
|
||||
</scope>
|
||||
<scope id="2394628030058891476" at="10,0,11,0">
|
||||
<var name="args" id="2394628030058891479" />
|
||||
<var name="autoConstraint" id="2394628030058891477" />
|
||||
<var name="predicateSymbol" id="2394628030058891477" />
|
||||
</scope>
|
||||
<unit id="2394628030058821331" at="6,0,13,0" name="jetbrains.mps.logic.reactor.constraint.ComputingTracer" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/3476135434776862742">
|
||||
<file name="StandardBuiltinConstraint.java">
|
||||
<node id="5841747851381517634" at="8,0,9,0" concept="9" trace="UNIFICATION" />
|
||||
<node id="3058061960966978300" at="10,0,11,0" concept="9" trace="EQUALS" />
|
||||
<node id="7248331023826512162" at="12,0,13,0" concept="9" trace="ASSERT" />
|
||||
<node id="5841747851381521369" at="14,0,15,0" concept="9" trace="FREE" />
|
||||
<node id="5841747851381522500" at="16,0,17,0" concept="9" trace="BOUND" />
|
||||
<unit id="3476135434776862742" at="6,0,19,0" name="jetbrains.mps.logic.reactor.constraint.StandardBuiltinConstraint" />
|
||||
<scope id="8344829839210112466" at="12,0,13,0">
|
||||
<var name="message" id="8344829839210112700" />
|
||||
</scope>
|
||||
<unit id="2394628030058821331" at="6,0,15,0" name="jetbrains.mps.logic.reactor.constraint.ComputingTracer" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/5841747851381496683">
|
||||
<file name="ConstraintSymbol.java">
|
||||
<node id="5841747851381535271" at="11,63,12,50" concept="7" />
|
||||
<node id="3476135434777575187" at="15,70,16,49" concept="7" />
|
||||
<node id="5841747851381516232" at="19,67,20,17" concept="1" />
|
||||
<node id="5841747851381516238" at="20,17,21,23" concept="1" />
|
||||
<node id="3476135434777577551" at="21,23,22,27" concept="1" />
|
||||
<node id="5841747851381516257" at="25,22,26,14" concept="7" />
|
||||
<node id="5841747851381516264" at="29,22,30,17" concept="7" />
|
||||
<node id="3476135434779310079" at="33,30,34,19" concept="7" />
|
||||
<node id="5841747851383361011" at="38,28,39,14" concept="7" />
|
||||
<node id="5841747851381863158" at="44,20,45,18" concept="7" />
|
||||
<node id="5841747851381863164" at="47,55,48,19" concept="7" />
|
||||
<node id="5841747851381863177" at="49,5,50,0" concept="8" />
|
||||
<node id="5841747851381863178" at="50,0,51,49" concept="6" />
|
||||
<node id="5841747851381863196" at="52,65,53,19" concept="7" />
|
||||
<node id="5841747851381863219" at="55,30,56,19" concept="7" />
|
||||
<node id="5841747851381863221" at="57,5,58,0" concept="8" />
|
||||
<node id="5841747851381863222" at="58,0,59,16" concept="7" />
|
||||
<node id="5841747851381863229" at="63,25,64,20" concept="6" />
|
||||
<node id="5841747851381863242" at="64,20,65,78" concept="1" />
|
||||
<node id="5841747851381863258" at="65,78,66,38" concept="1" />
|
||||
<node id="5841747851381863262" at="66,38,67,18" concept="7" />
|
||||
<node id="5841747851381516267" at="70,0,71,0" concept="2" trace="id" />
|
||||
<node id="5841747851381516270" at="71,0,72,0" concept="2" trace="arity" />
|
||||
<node id="3476135434777577547" at="73,0,74,0" concept="2" trace="builtin" />
|
||||
<node id="5841747851381533067" at="11,0,14,0" concept="10" trace="symbol#(Ljava/lang/String;I)Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;" />
|
||||
<node id="3476135434777575179" at="15,0,18,0" concept="10" trace="builtinSymbol#(Ljava/lang/String;I)Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;" />
|
||||
<node id="5841747851381516253" at="25,0,28,0" concept="5" trace="id#()Ljava/lang/String;" />
|
||||
<node id="5841747851381516260" at="29,0,32,0" concept="5" trace="arity#()I" />
|
||||
<node id="3476135434779305117" at="33,0,36,0" concept="5" trace="isBuiltin#()Z" />
|
||||
<node id="5841747851381863156" at="43,35,46,5" concept="4" />
|
||||
<node id="5841747851381863162" at="46,5,49,5" concept="4" />
|
||||
<node id="5841747851381863194" at="51,49,54,5" concept="4" />
|
||||
<node id="5841747851381863214" at="54,5,57,5" concept="4" />
|
||||
<node id="5841747851383347181" at="37,0,41,0" concept="5" trace="toString#()Ljava/lang/String;" />
|
||||
<node id="5841747851381516224" at="19,0,24,0" concept="0" trace="ConstraintSymbol#(Ljava/lang/String;IZ)V" />
|
||||
<node id="5841747851381863224" at="62,0,69,0" concept="5" trace="hashCode#()I" />
|
||||
<node id="5841747851381863152" at="42,0,61,0" concept="5" trace="equals#(Ljava/lang/Object;)Z" />
|
||||
<scope id="5841747851381533071" at="11,63,12,50" />
|
||||
<scope id="3476135434777575186" at="15,70,16,49" />
|
||||
<scope id="5841747851381516256" at="25,22,26,14" />
|
||||
<scope id="5841747851381516263" at="29,22,30,17" />
|
||||
<scope id="3476135434779305121" at="33,30,34,19" />
|
||||
<scope id="5841747851383347185" at="38,28,39,14" />
|
||||
<scope id="5841747851381863157" at="44,20,45,18" />
|
||||
<scope id="5841747851381863163" at="47,55,48,19" />
|
||||
<scope id="5841747851381863195" at="52,65,53,19" />
|
||||
<scope id="5841747851381863218" at="55,30,56,19" />
|
||||
<node id="5841747851381535271" at="11,63,12,43" concept="7" />
|
||||
<node id="6317379717814129922" at="15,49,16,21" concept="10" />
|
||||
<node id="5841747851383361011" at="20,28,21,32" concept="7" />
|
||||
<node id="5841747851381533067" at="11,0,14,0" concept="9" trace="symbol#(Ljava/lang/String;I)Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;" />
|
||||
<node id="5841747851381516224" at="15,0,18,0" concept="0" trace="ConstraintSymbol#(Ljava/lang/String;I)V" />
|
||||
<node id="5841747851383347181" at="19,0,23,0" concept="5" trace="toString#()Ljava/lang/String;" />
|
||||
<scope id="5841747851381533071" at="11,63,12,43" />
|
||||
<scope id="5841747851381516231" at="15,49,16,21" />
|
||||
<scope id="5841747851383347185" at="20,28,21,32" />
|
||||
<scope id="5841747851381533067" at="11,0,14,0">
|
||||
<var name="arity" id="5841747851381534850" />
|
||||
<var name="id" id="5841747851381534602" />
|
||||
</scope>
|
||||
<scope id="3476135434777575179" at="15,0,18,0">
|
||||
<var name="arity" id="3476135434777575182" />
|
||||
<var name="id" id="3476135434777575180" />
|
||||
</scope>
|
||||
<scope id="5841747851381516231" at="19,67,22,27" />
|
||||
<scope id="5841747851381516253" at="25,0,28,0" />
|
||||
<scope id="5841747851381516260" at="29,0,32,0" />
|
||||
<scope id="3476135434779305117" at="33,0,36,0" />
|
||||
<scope id="5841747851383347181" at="37,0,41,0" />
|
||||
<scope id="5841747851381863227" at="63,25,67,18">
|
||||
<var name="result" id="5841747851381863230" />
|
||||
</scope>
|
||||
<scope id="5841747851381516224" at="19,0,24,0">
|
||||
<scope id="5841747851381516224" at="15,0,18,0">
|
||||
<var name="arity" id="5841747851381516227" />
|
||||
<var name="builtin" id="3476135434777577153" />
|
||||
<var name="id" id="5841747851381516225" />
|
||||
</scope>
|
||||
<scope id="5841747851381863224" at="62,0,69,0" />
|
||||
<scope id="5841747851381863155" at="43,35,59,16">
|
||||
<scope id="5841747851383347181" at="19,0,23,0" />
|
||||
<unit id="5841747851381496683" at="9,0,25,0" name="jetbrains.mps.logic.reactor.constraint.ConstraintSymbol" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/6317379717814118653">
|
||||
<file name="Symbol.java">
|
||||
<node id="6317379717814129293" at="8,42,9,17" concept="1" />
|
||||
<node id="6317379717814157703" at="9,17,10,23" concept="1" />
|
||||
<node id="5841747851381516257" at="13,22,14,14" concept="7" />
|
||||
<node id="5841747851381516264" at="17,22,18,17" concept="7" />
|
||||
<node id="5841747851381863229" at="22,25,23,20" concept="6" />
|
||||
<node id="5841747851381863242" at="23,20,24,78" concept="1" />
|
||||
<node id="5841747851381863258" at="24,78,25,38" concept="1" />
|
||||
<node id="5841747851381863262" at="25,38,26,18" concept="7" />
|
||||
<node id="5841747851381863158" at="31,20,32,18" concept="7" />
|
||||
<node id="5841747851381863164" at="34,55,35,19" concept="7" />
|
||||
<node id="5841747851381863177" at="36,5,37,0" concept="8" />
|
||||
<node id="5841747851381863178" at="37,0,38,29" concept="6" />
|
||||
<node id="5841747851381863196" at="39,67,40,19" concept="7" />
|
||||
<node id="5841747851381863219" at="42,30,43,19" concept="7" />
|
||||
<node id="5841747851381863221" at="44,5,45,0" concept="8" />
|
||||
<node id="5841747851381863222" at="45,0,46,16" concept="7" />
|
||||
<node id="5841747851381516267" at="49,0,50,0" concept="2" trace="id" />
|
||||
<node id="5841747851381516270" at="50,0,51,0" concept="2" trace="arity" />
|
||||
<node id="5841747851381516253" at="13,0,16,0" concept="5" trace="id#()Ljava/lang/String;" />
|
||||
<node id="5841747851381516260" at="17,0,20,0" concept="5" trace="arity#()I" />
|
||||
<node id="5841747851381863156" at="30,35,33,5" concept="4" />
|
||||
<node id="5841747851381863162" at="33,5,36,5" concept="4" />
|
||||
<node id="5841747851381863194" at="38,29,41,5" concept="4" />
|
||||
<node id="5841747851381863214" at="41,5,44,5" concept="4" />
|
||||
<node id="6317379717814128471" at="8,0,12,0" concept="0" trace="Symbol#(Ljava/lang/String;I)V" />
|
||||
<node id="5841747851381863224" at="21,0,28,0" concept="5" trace="hashCode#()I" />
|
||||
<node id="5841747851381863152" at="29,0,48,0" concept="5" trace="equals#(Ljava/lang/Object;)Z" />
|
||||
<scope id="5841747851381516256" at="13,22,14,14" />
|
||||
<scope id="5841747851381516263" at="17,22,18,17" />
|
||||
<scope id="5841747851381863157" at="31,20,32,18" />
|
||||
<scope id="5841747851381863163" at="34,55,35,19" />
|
||||
<scope id="5841747851381863195" at="39,67,40,19" />
|
||||
<scope id="5841747851381863218" at="42,30,43,19" />
|
||||
<scope id="6317379717814128475" at="8,42,10,23" />
|
||||
<scope id="5841747851381516253" at="13,0,16,0" />
|
||||
<scope id="5841747851381516260" at="17,0,20,0" />
|
||||
<scope id="6317379717814128471" at="8,0,12,0">
|
||||
<var name="arity" id="6317379717814167566" />
|
||||
<var name="id" id="6317379717814128754" />
|
||||
</scope>
|
||||
<scope id="5841747851381863227" at="22,25,26,18">
|
||||
<var name="result" id="5841747851381863230" />
|
||||
</scope>
|
||||
<scope id="5841747851381863224" at="21,0,28,0" />
|
||||
<scope id="5841747851381863155" at="30,35,46,16">
|
||||
<var name="that" id="5841747851381863179" />
|
||||
</scope>
|
||||
<scope id="5841747851381863152" at="42,0,61,0">
|
||||
<scope id="5841747851381863152" at="29,0,48,0">
|
||||
<var name="o" id="5841747851381863184" />
|
||||
</scope>
|
||||
<unit id="5841747851381496683" at="9,0,75,0" name="jetbrains.mps.logic.reactor.constraint.ConstraintSymbol" />
|
||||
<unit id="6317379717814118653" at="6,0,52,0" name="jetbrains.mps.logic.reactor.constraint.Symbol" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/6317379717814173903">
|
||||
<file name="PredicateSymbol.java">
|
||||
<node id="6317379717823619735" at="8,48,9,21" concept="10" />
|
||||
<node id="6317379717814175785" at="13,28,14,34" concept="7" />
|
||||
<node id="6317379717814174713" at="8,0,11,0" concept="0" trace="PredicateSymbol#(Ljava/lang/String;I)V" />
|
||||
<node id="6317379717814175781" at="12,0,16,0" concept="5" trace="toString#()Ljava/lang/String;" />
|
||||
<scope id="6317379717814174717" at="8,48,9,21" />
|
||||
<scope id="6317379717814175784" at="13,28,14,34" />
|
||||
<scope id="6317379717814174713" at="8,0,11,0">
|
||||
<var name="arity" id="6317379717814174985" />
|
||||
<var name="id" id="6317379717814174730" />
|
||||
</scope>
|
||||
<scope id="6317379717814175781" at="12,0,16,0" />
|
||||
<unit id="6317379717814173903" at="6,0,18,0" name="jetbrains.mps.logic.reactor.constraint.PredicateSymbol" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/6317379717814244809">
|
||||
<file name="AndItem.java">
|
||||
<node id="6317379717815747154" at="9,0,10,0" concept="5" trace="symbol#()Ljetbrains/mps/logic/reactor/constraint/Symbol;" />
|
||||
<node id="6317379717814333446" at="11,0,12,0" concept="5" trace="arguments#()Ljava/util/List;" />
|
||||
<scope id="6317379717815747154" at="9,0,10,0" />
|
||||
<scope id="6317379717814333446" at="11,0,12,0" />
|
||||
<unit id="6317379717814244809" at="7,0,14,0" name="jetbrains.mps.logic.reactor.constraint.AndItem" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/6317379717817889711">
|
||||
<file name="JavaPredicateSymbol.java">
|
||||
<node id="6317379717817889916" at="8,60,9,29" concept="10" />
|
||||
<node id="6317379717817890474" at="13,28,14,39" concept="7" />
|
||||
<node id="6317379717817889762" at="8,0,11,0" concept="0" trace="JavaPredicateSymbol#(Ljava/lang/String;I)V" />
|
||||
<node id="6317379717817890115" at="12,0,16,0" concept="5" trace="toString#()Ljava/lang/String;" />
|
||||
<scope id="6317379717817889766" at="8,60,9,29" />
|
||||
<scope id="6317379717817890126" at="13,28,14,39" />
|
||||
<scope id="6317379717817889762" at="8,0,11,0">
|
||||
<var name="arity" id="6317379717817890807" />
|
||||
<var name="expression" id="6317379717817889778" />
|
||||
</scope>
|
||||
<scope id="6317379717817890115" at="12,0,16,0" />
|
||||
<unit id="6317379717817889711" at="6,0,17,0" name="jetbrains.mps.logic.reactor.constraint.JavaPredicateSymbol" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/6317379717821145892">
|
||||
<file name="ConstraintOccurrence.java">
|
||||
<node id="6317379717821145919" at="9,0,10,0" concept="5" trace="constraint#()Ljetbrains/mps/logic/reactor/constraint/Constraint;" />
|
||||
<node id="6317379717821146080" at="11,0,12,0" concept="5" trace="arguments#()Ljava/util/List;" />
|
||||
<scope id="6317379717821145919" at="9,0,10,0" />
|
||||
<scope id="6317379717821146080" at="11,0,12,0" />
|
||||
<unit id="6317379717821145892" at="7,0,14,0" name="jetbrains.mps.logic.reactor.constraint.ConstraintOccurrence" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/6317379717821221309">
|
||||
<file name="AbstractConstraint.java">
|
||||
<node id="6317379717821227396" at="12,85,13,35" concept="1" />
|
||||
<node id="6317379717821227924" at="13,35,14,31" concept="1" />
|
||||
<node id="6317379717821233187" at="17,36,18,18" concept="7" />
|
||||
<node id="6317379717821234133" at="21,35,22,66" concept="7" />
|
||||
<node id="8225968737376947326" at="25,41,26,74" concept="6" />
|
||||
<node id="8225968737376949534" at="27,34,28,32" concept="1" />
|
||||
<node id="8225968737376955821" at="29,5,30,17" concept="7" />
|
||||
<node id="6317379717821227392" at="33,0,34,0" concept="2" trace="symbol" />
|
||||
<node id="6317379717821227919" at="34,0,35,0" concept="2" trace="arguments" />
|
||||
<node id="6317379717821221417" at="17,0,20,0" concept="5" trace="symbol#()Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;" />
|
||||
<node id="6317379717821221424" at="21,0,24,0" concept="5" trace="arguments#()Ljava/util/List;" />
|
||||
<node id="8225968737376948546" at="26,74,29,5" concept="3" />
|
||||
<node id="6317379717821224762" at="12,0,16,0" concept="0" trace="AbstractConstraint#(Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;null)V" />
|
||||
<node id="8225968737376934509" at="25,0,32,0" concept="5" trace="argumentTypes#()Ljava/util/List;" />
|
||||
<scope id="6317379717821221421" at="17,36,18,18" />
|
||||
<scope id="6317379717821221432" at="21,35,22,66" />
|
||||
<scope id="8225968737376948548" at="27,34,28,32" />
|
||||
<scope id="6317379717821224766" at="12,85,14,31" />
|
||||
<scope id="6317379717821221417" at="17,0,20,0" />
|
||||
<scope id="6317379717821221424" at="21,0,24,0" />
|
||||
<scope id="8225968737376948546" at="26,74,29,5">
|
||||
<var name="arg" id="8225968737376948549" />
|
||||
</scope>
|
||||
<scope id="6317379717821224762" at="12,0,16,0">
|
||||
<var name="arguments" id="6317379717821225899" />
|
||||
<var name="constraintSymbol" id="6317379717821225038" />
|
||||
</scope>
|
||||
<scope id="8225968737376934515" at="25,41,30,17">
|
||||
<var name="types" id="8225968737376947327" />
|
||||
</scope>
|
||||
<scope id="8225968737376934509" at="25,0,32,0" />
|
||||
<unit id="6317379717821221309" at="10,0,36,0" name="jetbrains.mps.logic.reactor.constraint.AbstractConstraint" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/7785665572546273004">
|
||||
<file name="Instructible.java">
|
||||
<node id="7785665572546273471" at="8,0,9,0" concept="5" trace="tell#(Ljetbrains/mps/logic/reactor/constraint/Constraint;null)V" />
|
||||
<node id="7785665572546273471" at="8,0,9,0" concept="5" trace="tell#(Ljetbrains/mps/logic/reactor/constraint/Symbol;null)V" />
|
||||
<scope id="7785665572546273471" at="8,0,9,0">
|
||||
<var name="arg" id="7785665572546274393" />
|
||||
<var name="constraint" id="5217246026231831102" />
|
||||
<var name="symbol" id="5217246026231831102" />
|
||||
</scope>
|
||||
<unit id="7785665572546273004" at="6,0,11,0" name="jetbrains.mps.logic.reactor.constraint.Instructible" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/7785665572546275793">
|
||||
<file name="Queryable.java">
|
||||
<node id="7785665572546276256" at="8,0,9,0" concept="5" trace="ask#(Ljetbrains/mps/logic/reactor/constraint/BuiltinConstraint;null)Z" />
|
||||
<node id="7785665572546276256" at="8,0,9,0" concept="5" trace="ask#(Ljetbrains/mps/logic/reactor/constraint/PredicateSymbol;null)Z" />
|
||||
<scope id="7785665572546276256" at="8,0,9,0">
|
||||
<var name="arg" id="7785665572546277217" />
|
||||
<var name="autoConstraint" id="5217246026231849983" />
|
||||
<var name="predicateSymbol" id="5217246026231849983" />
|
||||
</scope>
|
||||
<unit id="7785665572546275793" at="6,0,11,0" name="jetbrains.mps.logic.reactor.constraint.Queryable" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/7785665572546282176">
|
||||
<file name="ComputingSession.java">
|
||||
<node id="7785665572546537045" at="16,69,17,45" concept="7" />
|
||||
<node id="2394628030058887824" at="20,52,21,25" concept="1" />
|
||||
<node id="7785665572546551385" at="26,44,27,40" concept="1" />
|
||||
<node id="2394628030058826206" at="30,72,31,27" concept="1" />
|
||||
<node id="2394628030058830503" at="31,27,32,18" concept="7" />
|
||||
<node id="7785665572546617944" at="35,42,36,62" concept="6" />
|
||||
<node id="7785665572546654867" at="37,38,38,33" concept="1" />
|
||||
<node id="7785665572546655075" at="39,7,40,21" concept="7" />
|
||||
<node id="7785665572546549222" at="43,0,44,0" concept="2" trace="items" />
|
||||
<node id="2394628030058826202" at="44,0,45,0" concept="2" trace="tracer" />
|
||||
<node id="5217246026231909736" at="48,71,49,46" concept="6" />
|
||||
<node id="3113146058921147309" at="50,25,51,89" concept="11" />
|
||||
<node id="5217246026231915015" at="52,5,53,0" concept="8" />
|
||||
<node id="5217246026231915802" at="53,0,54,43" concept="7" />
|
||||
<node id="5217246026231937543" at="57,58,58,47" concept="6" />
|
||||
<node id="5217246026231938307" at="59,26,60,84" concept="11" />
|
||||
<node id="5217246026231939616" at="61,5,62,0" concept="8" />
|
||||
<node id="5217246026231940146" at="62,0,63,34" concept="1" />
|
||||
<node id="5217246026233198367" at="68,62,69,26" concept="7" />
|
||||
<node id="5217246026233198386" at="71,5,72,16" concept="7" />
|
||||
<node id="5217246026233178759" at="77,61,78,26" concept="7" />
|
||||
<node id="5217246026233191067" at="80,5,81,16" concept="7" />
|
||||
<node id="7785665572546314459" at="85,46,86,67" concept="11" />
|
||||
<node id="7785665572546321112" at="87,5,88,36" concept="7" />
|
||||
<node id="7785665572546325981" at="92,45,93,67" concept="11" />
|
||||
<node id="7785665572546325992" at="94,5,95,35" concept="7" />
|
||||
<node id="7785665572546331232" at="98,84,99,43" concept="1" />
|
||||
<node id="7785665572546333582" at="102,84,103,39" concept="1" />
|
||||
<node id="3113146058921098945" at="106,0,107,0" concept="2" trace="handlers" />
|
||||
<node id="7785665572546302065" at="108,0,109,0" concept="2" trace="solvers" />
|
||||
<node id="2394628030058867716" at="110,0,111,0" concept="2" trace="tracer" />
|
||||
<node id="7785665572546530345" at="16,0,19,0" concept="10" trace="with#(null)Ljetbrains/mps/logic/reactor/constraint/ComputingSession/Builder;" />
|
||||
<node id="7785665572546474667" at="20,0,23,0" concept="0" trace="ComputingSession#(Ljetbrains/mps/logic/reactor/constraint/ComputingTracer;)V" />
|
||||
<node id="7785665572546531299" at="26,0,29,0" concept="0" trace="Builder#(null)V" />
|
||||
<node id="7785665572546618363" at="36,62,39,7" concept="3" />
|
||||
<node id="5217246026231909836" at="49,46,52,5" concept="4" />
|
||||
<node id="5217246026231937636" at="58,47,61,5" concept="4" />
|
||||
<node id="5217246026233198365" at="67,71,70,7" concept="4" />
|
||||
<node id="5217246026233173468" at="76,74,79,7" concept="4" />
|
||||
<node id="7785665572546312340" at="84,57,87,5" concept="4" />
|
||||
<node id="7785665572546325979" at="91,60,94,5" concept="4" />
|
||||
<node id="7785665572546291885" at="98,0,101,0" concept="5" trace="registerHandler#(Ljetbrains/mps/logic/reactor/constraint/Constraint;Ljetbrains/mps/logic/reactor/constraint/Instructible;)V" />
|
||||
<node id="7785665572546292859" at="102,0,105,0" concept="5" trace="registerSolver#(Ljetbrains/mps/logic/reactor/constraint/BuiltinConstraint;Ljetbrains/mps/logic/reactor/constraint/Queryable;)V" />
|
||||
<node id="2394628030058805485" at="30,0,34,0" concept="5" trace="withTracer#(Ljetbrains/mps/logic/reactor/constraint/ComputingTracer;)Ljetbrains/mps/logic/reactor/constraint/ComputingSession/Builder;" />
|
||||
<node id="5217246026233198363" at="66,54,71,5" concept="3" />
|
||||
<node id="5217246026233172453" at="75,65,80,5" concept="3" />
|
||||
<node id="7785665572546284968" at="84,0,90,0" concept="5" trace="handler#(Ljetbrains/mps/logic/reactor/constraint/Constraint;)Ljetbrains/mps/logic/reactor/constraint/Instructible;" />
|
||||
<node id="7785665572546285620" at="91,0,97,0" concept="5" trace="solver#(Ljetbrains/mps/logic/reactor/constraint/BuiltinConstraint;)Ljetbrains/mps/logic/reactor/constraint/Queryable;" />
|
||||
<node id="7785665572546610892" at="35,0,42,0" concept="5" trace="newSession#()Ljetbrains/mps/logic/reactor/constraint/ComputingSession;" />
|
||||
<node id="5217246026231897797" at="48,0,56,0" concept="5" trace="ask#(Ljetbrains/mps/logic/reactor/constraint/BuiltinConstraint;null)Z" />
|
||||
<node id="5217246026231929908" at="57,0,65,0" concept="5" trace="tell#(Ljetbrains/mps/logic/reactor/constraint/Constraint;null)V" />
|
||||
<node id="5217246026233138983" at="66,0,74,0" concept="5" trace="lookupConstraint#(Ljava/lang/Class;)Ljetbrains/mps/logic/reactor/constraint/Constraint;" />
|
||||
<node id="5217246026233157724" at="75,0,83,0" concept="5" trace="lookupAutoConstraint#(Ljava/lang/Class;)Ljetbrains/mps/logic/reactor/constraint/BuiltinConstraint;" />
|
||||
<scope id="7785665572546530349" at="16,69,17,45" />
|
||||
<scope id="7785665572546474671" at="20,52,21,25" />
|
||||
<scope id="7785665572546531302" at="26,44,27,40" />
|
||||
<scope id="7785665572546618365" at="37,38,38,33" />
|
||||
<scope id="5217246026231909838" at="50,25,51,89" />
|
||||
<scope id="5217246026231937638" at="59,26,60,84" />
|
||||
<scope id="5217246026233198366" at="68,62,69,26" />
|
||||
<scope id="5217246026233173469" at="77,61,78,26" />
|
||||
<scope id="7785665572546312341" at="85,46,86,67" />
|
||||
<scope id="7785665572546325980" at="92,45,93,67" />
|
||||
<scope id="7785665572546291889" at="98,84,99,43" />
|
||||
<scope id="7785665572546292862" at="102,84,103,39" />
|
||||
<scope id="2394628030058805489" at="30,72,32,18" />
|
||||
<scope id="7785665572546530345" at="16,0,19,0">
|
||||
<var name="cst" id="7785665572546531671" />
|
||||
<file name="SessionSolver.java">
|
||||
<node id="2831834914716488778" at="13,57,14,44" concept="1" />
|
||||
<node id="2831834914717569549" at="17,90,18,55" concept="1" />
|
||||
<node id="5217246026231915802" at="22,70,23,61" concept="7" />
|
||||
<node id="5217246026231940146" at="27,50,28,38" concept="1" />
|
||||
<node id="6317379717822079128" at="32,72,33,41" concept="6" />
|
||||
<node id="5217246026233178759" at="34,57,35,25" concept="7" />
|
||||
<node id="5217246026233191067" at="37,5,38,16" concept="7" />
|
||||
<node id="2831834914719725967" at="41,0,42,0" concept="5" trace="solverClass#(Ljetbrains/mps/logic/reactor/constraint/PredicateSymbol;)Ljava/lang/Class;" />
|
||||
<node id="2831834914716457503" at="43,0,44,0" concept="5" trace="registerSymbol#(Ljetbrains/mps/logic/reactor/constraint/PredicateSymbol;Ljetbrains/mps/logic/reactor/constraint/ComputingTracer;)V" />
|
||||
<node id="7785665572546333582" at="45,82,46,39" concept="1" />
|
||||
<node id="2831834914716388776" at="49,47,50,44" concept="7" />
|
||||
<node id="95655808403401608" at="54,53,55,46" concept="1" />
|
||||
<node id="7785665572546325981" at="60,50,61,72" concept="11" />
|
||||
<node id="7785665572546325992" at="62,5,63,40" concept="7" />
|
||||
<node id="7785665572546302065" at="66,0,67,0" concept="2" trace="solvers" />
|
||||
<node id="2831834914716484929" at="13,0,16,0" concept="5" trace="init#(null)V" />
|
||||
<node id="2831834914717569542" at="17,0,20,0" concept="5" trace="init#(Ljetbrains/mps/logic/reactor/constraint/ComputingTracer;null)V" />
|
||||
<node id="5217246026233173468" at="33,41,36,7" concept="4" />
|
||||
<node id="7785665572546292859" at="45,0,48,0" concept="5" trace="registerSolver#(Ljetbrains/mps/logic/reactor/constraint/PredicateSymbol;Ljetbrains/mps/logic/reactor/constraint/Queryable;)V" />
|
||||
<node id="7785665572546284968" at="49,0,52,0" concept="5" trace="handler#(Ljetbrains/mps/logic/reactor/constraint/Symbol;)Ljetbrains/mps/logic/reactor/constraint/Instructible;" />
|
||||
<node id="6168558935193484641" at="53,102,56,5" concept="3" />
|
||||
<node id="7785665572546325979" at="59,61,62,5" concept="4" />
|
||||
<node id="5217246026231897797" at="21,0,25,0" concept="5" trace="ask#(Ljetbrains/mps/logic/reactor/constraint/PredicateSymbol;null)Z" />
|
||||
<node id="5217246026231929908" at="26,0,30,0" concept="5" trace="tell#(Ljetbrains/mps/logic/reactor/constraint/Symbol;null)V" />
|
||||
<node id="95655808403395937" at="53,0,58,0" concept="5" trace="registerSymbols#(Ljetbrains/mps/logic/reactor/constraint/ComputingTracer;null)V" />
|
||||
<node id="5217246026233172453" at="31,52,37,5" concept="3" />
|
||||
<node id="7785665572546285620" at="59,0,65,0" concept="5" trace="solver#(Ljetbrains/mps/logic/reactor/constraint/PredicateSymbol;)Ljetbrains/mps/logic/reactor/constraint/Queryable;" />
|
||||
<node id="5217246026233157724" at="31,0,40,0" concept="5" trace="lookupQueryable#(Ljava/lang/Class;)Ljetbrains/mps/logic/reactor/constraint/Queryable;" />
|
||||
<scope id="2831834914716484932" at="13,57,14,44" />
|
||||
<scope id="2831834914717569548" at="17,90,18,55" />
|
||||
<scope id="5217246026231897801" at="22,70,23,61" />
|
||||
<scope id="5217246026231929912" at="27,50,28,38" />
|
||||
<scope id="5217246026233173469" at="34,57,35,25" />
|
||||
<scope id="2831834914719725967" at="41,0,42,0">
|
||||
<var name="predicateSymbol" id="2831834914719727576" />
|
||||
</scope>
|
||||
<scope id="7785665572546474667" at="20,0,23,0">
|
||||
<var name="tracer" id="2394628030058885505" />
|
||||
<scope id="2831834914716457503" at="43,0,44,0">
|
||||
<var name="computingTracer" id="2831834914717563394" />
|
||||
<var name="predicateSymbol" id="2831834914716459800" />
|
||||
</scope>
|
||||
<scope id="7785665572546531299" at="26,0,29,0">
|
||||
<var name="item" id="7785665572546532046" />
|
||||
<scope id="7785665572546292862" at="45,82,46,39" />
|
||||
<scope id="7785665572546284972" at="49,47,50,44" />
|
||||
<scope id="6168558935193484643" at="54,53,55,46" />
|
||||
<scope id="7785665572546325980" at="60,50,61,72" />
|
||||
<scope id="2831834914716484929" at="13,0,16,0">
|
||||
<var name="predicateSymbols" id="2831834914717547255" />
|
||||
</scope>
|
||||
<scope id="7785665572546618363" at="36,62,39,7">
|
||||
<var name="ci" id="7785665572546618367" />
|
||||
<scope id="2831834914717569542" at="17,0,20,0">
|
||||
<var name="computingTracer" id="2831834914717569543" />
|
||||
<var name="predicateSymbols" id="2831834914717569545" />
|
||||
</scope>
|
||||
<scope id="5217246026233198364" at="67,71,70,7" />
|
||||
<scope id="5217246026233172455" at="76,74,79,7" />
|
||||
<scope id="7785665572546291885" at="98,0,101,0">
|
||||
<var name="constraint" id="7785665572546292483" />
|
||||
<var name="instructible" id="7785665572546292614" />
|
||||
</scope>
|
||||
<scope id="7785665572546292859" at="102,0,105,0">
|
||||
<scope id="7785665572546292859" at="45,0,48,0">
|
||||
<var name="constraint" id="7785665572546292863" />
|
||||
<var name="queryable" id="7785665572546292865" />
|
||||
</scope>
|
||||
<scope id="2394628030058805485" at="30,0,34,0">
|
||||
<var name="tracer" id="2394628030058811857" />
|
||||
<scope id="7785665572546284968" at="49,0,52,0">
|
||||
<var name="symbol" id="7785665572546285221" />
|
||||
</scope>
|
||||
<scope id="7785665572546284972" at="84,57,88,36" />
|
||||
<scope id="7785665572546285625" at="91,60,95,35" />
|
||||
<scope id="7785665572546610895" at="35,42,40,21">
|
||||
<var name="session" id="7785665572546617945" />
|
||||
<scope id="6168558935193484641" at="53,102,56,5">
|
||||
<var name="symbol" id="6168558935193484645" />
|
||||
</scope>
|
||||
<scope id="5217246026233198363" at="66,54,71,5">
|
||||
<var name="e" id="5217246026233198379" />
|
||||
<scope id="95655808403395941" at="53,102,56,5" />
|
||||
<scope id="5217246026231897797" at="21,0,25,0">
|
||||
<var name="arg" id="5217246026231906313" />
|
||||
<var name="predicateSymbol" id="5217246026231904980" />
|
||||
</scope>
|
||||
<scope id="5217246026233172453" at="75,65,80,5">
|
||||
<scope id="5217246026231929908" at="26,0,30,0">
|
||||
<var name="arg" id="5217246026231935273" />
|
||||
<var name="symbol" id="5217246026231933720" />
|
||||
</scope>
|
||||
<scope id="5217246026233172455" at="32,72,36,7">
|
||||
<var name="queryable" id="6317379717822079129" />
|
||||
</scope>
|
||||
<scope id="7785665572546285625" at="59,61,63,40" />
|
||||
<scope id="95655808403395937" at="53,0,58,0">
|
||||
<var name="computingTracer" id="2831834914717550245" />
|
||||
<var name="predicateSymbols" id="2831834914717550247" />
|
||||
</scope>
|
||||
<scope id="5217246026233172453" at="31,52,37,5">
|
||||
<var name="e" id="5217246026233172457" />
|
||||
</scope>
|
||||
<scope id="5217246026231897801" at="48,71,54,43">
|
||||
<var name="solver" id="5217246026231909737" />
|
||||
<scope id="7785665572546285620" at="59,0,65,0">
|
||||
<var name="predicateSymbol" id="7785665572546285621" />
|
||||
</scope>
|
||||
<scope id="5217246026231929912" at="57,58,63,34">
|
||||
<var name="handler" id="5217246026231937544" />
|
||||
</scope>
|
||||
<scope id="5217246026233138987" at="66,54,72,16" />
|
||||
<scope id="5217246026233157731" at="75,65,81,16" />
|
||||
<scope id="7785665572546284968" at="84,0,90,0">
|
||||
<var name="constraint" id="7785665572546285221" />
|
||||
</scope>
|
||||
<scope id="7785665572546285620" at="91,0,97,0">
|
||||
<var name="constraint" id="7785665572546285621" />
|
||||
</scope>
|
||||
<scope id="7785665572546610892" at="35,0,42,0" />
|
||||
<scope id="5217246026231897797" at="48,0,56,0">
|
||||
<var name="arg" id="5217246026231906313" />
|
||||
<var name="autoConstraint" id="5217246026231904980" />
|
||||
</scope>
|
||||
<scope id="5217246026231929908" at="57,0,65,0">
|
||||
<var name="arg" id="5217246026231935273" />
|
||||
<var name="constraint" id="5217246026231933720" />
|
||||
</scope>
|
||||
<scope id="5217246026233138983" at="66,0,74,0">
|
||||
<var name="clazz" id="5217246026233155818" />
|
||||
</scope>
|
||||
<scope id="5217246026233157724" at="75,0,83,0">
|
||||
<scope id="5217246026233157731" at="31,52,38,16" />
|
||||
<scope id="5217246026233157724" at="31,0,40,0">
|
||||
<var name="clazz" id="5217246026233157725" />
|
||||
</scope>
|
||||
<unit id="7785665572546518411" at="24,0,46,0" name="jetbrains.mps.logic.reactor.constraint.ComputingSession$Builder" />
|
||||
<unit id="7785665572546282176" at="14,0,112,0" name="jetbrains.mps.logic.reactor.constraint.ComputingSession" />
|
||||
<unit id="7785665572546282176" at="11,0,68,0" name="jetbrains.mps.logic.reactor.constraint.SessionSolver" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/7785665572546285342">
|
||||
<file name="AbstractConstraint.java">
|
||||
<node id="7785665572546468921" at="11,55,12,25" concept="1" />
|
||||
<node id="7785665572546374506" at="12,25,13,23" concept="1" />
|
||||
<node id="7785665572546286911" at="16,24,17,18" concept="7" />
|
||||
<node id="5217246026233294697" at="20,26,21,18" concept="7" />
|
||||
<node id="7785665572546377911" at="24,22,25,17" concept="7" />
|
||||
<node id="7785665572546421514" at="28,57,29,43" concept="7" />
|
||||
<node id="7785665572546421645" at="32,53,33,46" concept="7" />
|
||||
<node id="5217246026233310452" at="36,0,37,0" concept="5" trace="solverClass#()Ljava/lang/Class;" />
|
||||
<node id="5217246026233035232" at="38,55,39,25" concept="7" />
|
||||
<node id="7785665572546318932" at="43,28,44,18" concept="7" />
|
||||
<node id="7785665572546684117" at="47,36,48,29" concept="7" />
|
||||
<node id="7785665572546684168" at="51,47,52,36" concept="7" />
|
||||
<node id="7785665572546404455" at="55,87,56,58" concept="1" />
|
||||
<node id="7785665572546406620" at="59,80,60,58" concept="1" />
|
||||
<node id="5217246026234681809" at="60,58,61,55" concept="1" />
|
||||
<node id="7785665572546293515" at="66,20,67,18" concept="7" />
|
||||
<node id="7785665572546293521" at="69,55,70,19" concept="7" />
|
||||
<node id="7785665572546293534" at="71,5,72,0" concept="8" />
|
||||
<node id="7785665572546293535" at="72,0,73,53" concept="6" />
|
||||
<node id="7785665572546293553" at="74,92,75,19" concept="7" />
|
||||
<node id="7785665572546293569" at="76,5,77,0" concept="8" />
|
||||
<node id="7785665572546293570" at="77,0,78,16" concept="7" />
|
||||
<node id="7785665572546293577" at="82,25,83,20" concept="6" />
|
||||
<node id="7785665572546293590" at="83,20,84,87" concept="1" />
|
||||
<node id="7785665572546293602" at="84,87,85,18" concept="7" />
|
||||
<node id="7785665572546286813" at="88,0,89,0" concept="2" trace="symbol" />
|
||||
<node id="7785665572546374502" at="89,0,90,0" concept="2" trace="arity" />
|
||||
<node id="7785665572546286014" at="16,0,19,0" concept="5" trace="name#()Ljava/lang/String;" />
|
||||
<node id="5217246026233294693" at="20,0,23,0" concept="5" trace="symbol#()Ljava/lang/String;" />
|
||||
<node id="7785665572546375951" at="24,0,27,0" concept="5" trace="arity#()I" />
|
||||
<node id="7785665572546416798" at="28,0,31,0" concept="5" trace="handler#(Ljetbrains/mps/logic/reactor/constraint/ComputingSession;)Ljetbrains/mps/logic/reactor/constraint/Instructible;" />
|
||||
<node id="7785665572546421640" at="32,0,35,0" concept="5" trace="solver#(Ljetbrains/mps/logic/reactor/constraint/ComputingSession;)Ljetbrains/mps/logic/reactor/constraint/Queryable;" />
|
||||
<node id="5217246026233026711" at="38,0,41,0" concept="5" trace="handlerClass#()Ljava/lang/Class;" />
|
||||
<node id="7785665572546678499" at="47,0,50,0" concept="5" trace="asConstraint#()Ljetbrains/mps/logic/reactor/constraint/Constraint;" />
|
||||
<node id="7785665572546684164" at="51,0,54,0" concept="5" trace="asAutoConstraint#()Ljetbrains/mps/logic/reactor/constraint/BuiltinConstraint;" />
|
||||
<node id="7785665572546396680" at="55,0,58,0" concept="5" trace="registerHandler#(Ljetbrains/mps/logic/reactor/constraint/ComputingSession;Ljetbrains/mps/logic/reactor/constraint/Instructible;)V" />
|
||||
<node id="7785665572546293513" at="65,35,68,5" concept="4" />
|
||||
<node id="7785665572546293519" at="68,5,71,5" concept="4" />
|
||||
<node id="7785665572546293551" at="73,53,76,5" concept="4" />
|
||||
<node id="7785665572546286535" at="11,0,15,0" concept="0" trace="AbstractConstraint#(Ljava/lang/String;I)V" />
|
||||
<node id="7785665572546318121" at="42,0,46,0" concept="5" trace="toString#()Ljava/lang/String;" />
|
||||
<node id="7785665572546406612" at="59,0,63,0" concept="5" trace="registerSolver#(Ljetbrains/mps/logic/reactor/constraint/ComputingSession;Ljetbrains/mps/logic/reactor/constraint/Queryable;)V" />
|
||||
<node id="7785665572546293572" at="81,0,87,0" concept="5" trace="hashCode#()I" />
|
||||
<node id="7785665572546293509" at="64,0,80,0" concept="5" trace="equals#(Ljava/lang/Object;)Z" />
|
||||
<scope id="7785665572546286018" at="16,24,17,18" />
|
||||
<scope id="5217246026233294696" at="20,26,21,18" />
|
||||
<scope id="7785665572546375955" at="24,22,25,17" />
|
||||
<scope id="7785665572546416802" at="28,57,29,43" />
|
||||
<scope id="7785665572546421644" at="32,53,33,46" />
|
||||
<scope id="5217246026233310452" at="36,0,37,0" />
|
||||
<scope id="5217246026233026719" at="38,55,39,25" />
|
||||
<scope id="7785665572546318125" at="43,28,44,18" />
|
||||
<scope id="7785665572546678503" at="47,36,48,29" />
|
||||
<scope id="7785665572546684167" at="51,47,52,36" />
|
||||
<scope id="7785665572546396684" at="55,87,56,58" />
|
||||
<scope id="7785665572546293514" at="66,20,67,18" />
|
||||
<scope id="7785665572546293520" at="69,55,70,19" />
|
||||
<scope id="7785665572546293552" at="74,92,75,19" />
|
||||
<scope id="7785665572546286539" at="11,55,13,23" />
|
||||
<scope id="7785665572546406619" at="59,80,61,55" />
|
||||
<scope id="7785665572546286014" at="16,0,19,0" />
|
||||
<scope id="5217246026233294693" at="20,0,23,0" />
|
||||
<scope id="7785665572546375951" at="24,0,27,0" />
|
||||
<scope id="7785665572546416798" at="28,0,31,0">
|
||||
<var name="session" id="7785665572546420663" />
|
||||
<file name="AbstractPredicate.java">
|
||||
<node id="6317379717821161546" at="11,49,12,31" concept="1" />
|
||||
<node id="6317379717821183950" at="16,35,17,66" concept="7" />
|
||||
<node id="7785665572546684117" at="20,36,21,29" concept="7" />
|
||||
<node id="7785665572546684168" at="24,39,25,28" concept="7" />
|
||||
<node id="7785665572546318932" at="29,28,30,31" concept="7" />
|
||||
<node id="7785665572546293515" at="35,20,36,18" concept="7" />
|
||||
<node id="7785665572546293521" at="38,55,39,19" concept="7" />
|
||||
<node id="7785665572546293534" at="40,5,41,0" concept="8" />
|
||||
<node id="7785665572546293535" at="41,0,42,51" concept="6" />
|
||||
<node id="7785665572546293553" at="43,100,44,19" concept="7" />
|
||||
<node id="7785665572546293569" at="45,5,46,0" concept="8" />
|
||||
<node id="7785665572546293570" at="46,0,47,16" concept="7" />
|
||||
<node id="7785665572546293577" at="51,25,52,20" concept="6" />
|
||||
<node id="7785665572546293590" at="52,20,53,91" concept="1" />
|
||||
<node id="7785665572546293602" at="53,91,54,18" concept="7" />
|
||||
<node id="6317379717821161541" at="57,0,58,0" concept="2" trace="arguments" />
|
||||
<node id="7785665572546286535" at="11,0,14,0" concept="0" trace="AbstractPredicate#(null)V" />
|
||||
<node id="7785665572546678499" at="20,0,23,0" concept="5" trace="asConstraint#()Ljetbrains/mps/logic/reactor/constraint/Constraint;" />
|
||||
<node id="7785665572546684164" at="24,0,27,0" concept="5" trace="asAutoConstraint#()Ljetbrains/mps/logic/reactor/constraint/Predicate;" />
|
||||
<node id="7785665572546293513" at="34,35,37,5" concept="4" />
|
||||
<node id="7785665572546293519" at="37,5,40,5" concept="4" />
|
||||
<node id="7785665572546293551" at="42,51,45,5" concept="4" />
|
||||
<node id="6317379717821176300" at="15,0,19,0" concept="5" trace="arguments#()Ljava/util/List;" />
|
||||
<node id="7785665572546318121" at="28,0,32,0" concept="5" trace="toString#()Ljava/lang/String;" />
|
||||
<node id="7785665572546293572" at="50,0,56,0" concept="5" trace="hashCode#()I" />
|
||||
<node id="7785665572546293509" at="33,0,49,0" concept="5" trace="equals#(Ljava/lang/Object;)Z" />
|
||||
<scope id="7785665572546286539" at="11,49,12,31" />
|
||||
<scope id="6317379717821176305" at="16,35,17,66" />
|
||||
<scope id="7785665572546678503" at="20,36,21,29" />
|
||||
<scope id="7785665572546684167" at="24,39,25,28" />
|
||||
<scope id="7785665572546318125" at="29,28,30,31" />
|
||||
<scope id="7785665572546293514" at="35,20,36,18" />
|
||||
<scope id="7785665572546293520" at="38,55,39,19" />
|
||||
<scope id="7785665572546293552" at="43,100,44,19" />
|
||||
<scope id="7785665572546286535" at="11,0,14,0">
|
||||
<var name="arguments" id="7785665572546374206" />
|
||||
</scope>
|
||||
<scope id="7785665572546421640" at="32,0,35,0">
|
||||
<var name="session" id="7785665572546421641" />
|
||||
</scope>
|
||||
<scope id="5217246026233026711" at="38,0,41,0" />
|
||||
<scope id="7785665572546678499" at="47,0,50,0" />
|
||||
<scope id="7785665572546684164" at="51,0,54,0" />
|
||||
<scope id="7785665572546396680" at="55,0,58,0">
|
||||
<var name="instructible" id="7785665572546403644" />
|
||||
<var name="session" id="7785665572546402854" />
|
||||
</scope>
|
||||
<scope id="7785665572546293575" at="82,25,85,18">
|
||||
<scope id="7785665572546678499" at="20,0,23,0" />
|
||||
<scope id="7785665572546684164" at="24,0,27,0" />
|
||||
<scope id="7785665572546293575" at="51,25,54,18">
|
||||
<var name="result" id="7785665572546293578" />
|
||||
</scope>
|
||||
<scope id="7785665572546286535" at="11,0,15,0">
|
||||
<var name="arity" id="7785665572546374206" />
|
||||
<var name="symbol" id="7785665572546286568" />
|
||||
</scope>
|
||||
<scope id="7785665572546318121" at="42,0,46,0" />
|
||||
<scope id="7785665572546406612" at="59,0,63,0">
|
||||
<var name="queryable" id="7785665572546406615" />
|
||||
<var name="session" id="7785665572546406613" />
|
||||
</scope>
|
||||
<scope id="7785665572546293572" at="81,0,87,0" />
|
||||
<scope id="7785665572546293512" at="65,35,78,16">
|
||||
<scope id="6317379717821176300" at="15,0,19,0" />
|
||||
<scope id="7785665572546318121" at="28,0,32,0" />
|
||||
<scope id="7785665572546293572" at="50,0,56,0" />
|
||||
<scope id="7785665572546293512" at="34,35,47,16">
|
||||
<var name="that" id="7785665572546293536" />
|
||||
</scope>
|
||||
<scope id="7785665572546293509" at="64,0,80,0">
|
||||
<scope id="7785665572546293509" at="33,0,49,0">
|
||||
<var name="o" id="7785665572546293541" />
|
||||
</scope>
|
||||
<unit id="7785665572546285342" at="9,0,91,0" name="jetbrains.mps.logic.reactor.constraint.AbstractConstraint" />
|
||||
<unit id="7785665572546285342" at="9,0,59,0" name="jetbrains.mps.logic.reactor.constraint.AbstractPredicate" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/7785665572546345623">
|
||||
<file name="Constraint.java">
|
||||
<node id="7785665572546347414" at="11,0,12,0" concept="5" trace="handler#(Ljetbrains/mps/logic/reactor/constraint/ComputingSession;)Ljetbrains/mps/logic/reactor/constraint/Instructible;" />
|
||||
<node id="5217246026231400064" at="13,0,14,0" concept="5" trace="handlerClass#()Ljava/lang/Class;" />
|
||||
<node id="7785665572546348904" at="15,0,16,0" concept="5" trace="name#()Ljava/lang/String;" />
|
||||
<node id="7785665572546348096" at="17,0,18,0" concept="5" trace="arity#()I" />
|
||||
<scope id="7785665572546347414" at="11,0,12,0">
|
||||
<var name="session" id="7785665572546347688" />
|
||||
</scope>
|
||||
<scope id="5217246026231400064" at="13,0,14,0" />
|
||||
<scope id="7785665572546348904" at="15,0,16,0" />
|
||||
<scope id="7785665572546348096" at="17,0,18,0" />
|
||||
<unit id="7785665572546345623" at="9,0,20,0" name="jetbrains.mps.logic.reactor.constraint.Constraint" />
|
||||
<node id="6317379717814333032" at="14,0,15,0" concept="5" trace="symbol#()Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;" />
|
||||
<node id="8225968737376931639" at="16,0,17,0" concept="5" trace="argumentTypes#()Ljava/util/List;" />
|
||||
<scope id="6317379717814333032" at="14,0,15,0" />
|
||||
<scope id="8225968737376931639" at="16,0,17,0" />
|
||||
<unit id="7785665572546345623" at="12,0,19,0" name="jetbrains.mps.logic.reactor.constraint.Constraint" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/7785665572546359770">
|
||||
<file name="BuiltinConstraint.java">
|
||||
<node id="7785665572546359898" at="11,0,12,0" concept="5" trace="solver#(Ljetbrains/mps/logic/reactor/constraint/ComputingSession;)Ljetbrains/mps/logic/reactor/constraint/Queryable;" />
|
||||
<node id="5217246026231400236" at="13,0,14,0" concept="5" trace="solverClass#()Ljava/lang/Class;" />
|
||||
<node id="7785665572546360338" at="15,0,16,0" concept="5" trace="symbol#()Ljava/lang/String;" />
|
||||
<node id="7785665572546360681" at="17,0,18,0" concept="5" trace="arity#()I" />
|
||||
<scope id="7785665572546359898" at="11,0,12,0">
|
||||
<var name="session" id="7785665572546484646" />
|
||||
</scope>
|
||||
<scope id="5217246026231400236" at="13,0,14,0" />
|
||||
<scope id="7785665572546360338" at="15,0,16,0" />
|
||||
<scope id="7785665572546360681" at="17,0,18,0" />
|
||||
<unit id="7785665572546359770" at="9,0,20,0" name="jetbrains.mps.logic.reactor.constraint.BuiltinConstraint" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.constraint)/7785665572546627183">
|
||||
<file name="ComputingItem.java">
|
||||
<node id="7785665572546628938" at="11,0,12,0" concept="5" trace="init#(Ljetbrains/mps/logic/reactor/constraint/ComputingSession;Ljetbrains/mps/logic/reactor/constraint/ComputingTracer;)V" />
|
||||
<node id="7785665572546629316" at="13,0,14,0" concept="5" trace="dispose#(Ljetbrains/mps/logic/reactor/constraint/ComputingSession;)V" />
|
||||
<scope id="7785665572546628938" at="11,0,12,0">
|
||||
<var name="session" id="7785665572546629183" />
|
||||
<var name="tracer" id="2394628030059142581" />
|
||||
</scope>
|
||||
<scope id="7785665572546629316" at="13,0,14,0">
|
||||
<var name="session" id="7785665572546629320" />
|
||||
</scope>
|
||||
<unit id="7785665572546627183" at="9,0,16,0" name="jetbrains.mps.logic.reactor.constraint.ComputingItem" />
|
||||
<file name="Predicate.java">
|
||||
<node id="7785665572546360338" at="11,0,12,0" concept="5" trace="symbol#()Ljetbrains/mps/logic/reactor/constraint/PredicateSymbol;" />
|
||||
<scope id="7785665572546360338" at="11,0,12,0" />
|
||||
<unit id="7785665572546359770" at="9,0,14,0" name="jetbrains.mps.logic.reactor.constraint.Predicate" />
|
||||
</file>
|
||||
</root>
|
||||
</debug-info>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
package jetbrains.mps.logic.reactor.program;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.constraint.PredicateSymbol;
|
||||
import jetbrains.mps.logic.reactor.constraint.ComputingTracer;
|
||||
import jetbrains.mps.logic.reactor.constraint.SessionSolver;
|
||||
import jetbrains.mps.logic.reactor.constraint.ConstraintSymbol;
|
||||
import jetbrains.mps.logic.reactor.constraint.ConstraintOccurrence;
|
||||
|
||||
/**
|
||||
* AKA "Handler"
|
||||
*/
|
||||
public abstract class EvaluationSession {
|
||||
|
||||
public static EvaluationSession current() {
|
||||
if (ourBackend == null) {
|
||||
throw new IllegalStateException("no backend");
|
||||
}
|
||||
return ourBackend.current();
|
||||
}
|
||||
|
||||
public static EvaluationSession.Config newSession() {
|
||||
if (ourBackend == null) {
|
||||
throw new IllegalStateException("no backend");
|
||||
}
|
||||
return ourBackend.createConfig();
|
||||
}
|
||||
|
||||
public static abstract class Config {
|
||||
|
||||
public abstract EvaluationSession.Config withPredicates(PredicateSymbol... predicateSymbols);
|
||||
|
||||
public abstract EvaluationSession.Config withTrace(ComputingTracer computingTracer);
|
||||
|
||||
public abstract EvaluationSession.Config withParam(String key, Object param);
|
||||
|
||||
public abstract EvaluationSession start();
|
||||
}
|
||||
|
||||
public abstract SessionSolver sessionSolver();
|
||||
|
||||
public abstract Iterable<ConstraintSymbol> constraintSymbols();
|
||||
|
||||
public abstract Iterable<ConstraintOccurrence> constraintOccurrences();
|
||||
|
||||
public abstract Iterable<ConstraintOccurrence> constraintOccurrences(ConstraintSymbol symbol);
|
||||
|
||||
protected static void setBackend(EvaluationSession.Backend backend) {
|
||||
if (ourBackend != null) {
|
||||
throw new IllegalStateException("backend already assigned");
|
||||
}
|
||||
ourBackend = backend;
|
||||
}
|
||||
|
||||
protected static void clearBackend(EvaluationSession.Backend backend) {
|
||||
if (ourBackend != backend) {
|
||||
throw new IllegalStateException("illegal access");
|
||||
}
|
||||
ourBackend = null;
|
||||
}
|
||||
|
||||
protected static interface Backend {
|
||||
|
||||
public EvaluationSession current();
|
||||
|
||||
public EvaluationSession.Config createConfig();
|
||||
|
||||
}
|
||||
|
||||
private static EvaluationSession.Backend ourBackend;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
package jetbrains.mps.logic.reactor.program;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.constraint.SessionSolver;
|
||||
import jetbrains.mps.logic.reactor.constraint.ConstraintSymbol;
|
||||
import java.util.List;
|
||||
import jetbrains.mps.logic.reactor.constraint.PredicateSymbol;
|
||||
import jetbrains.mps.logic.reactor.constraint.Queryable;
|
||||
import jetbrains.mps.logic.reactor.rule.Rule;
|
||||
import jetbrains.mps.logic.reactor.rule.InvalidRuleException;
|
||||
import java.util.Collection;
|
||||
|
||||
public abstract class PlanningSession {
|
||||
|
||||
public static PlanningSession newSession(String name, SessionSolver sessionSolver) {
|
||||
if (ourFactory == null) {
|
||||
throw new IllegalStateException("factory not set");
|
||||
}
|
||||
return ourFactory.create(name, sessionSolver);
|
||||
}
|
||||
|
||||
public abstract String name();
|
||||
|
||||
public abstract Iterable<ConstraintSymbol> constraintSymbols();
|
||||
|
||||
public abstract List<Class<?>> constraintArgumentTypes(ConstraintSymbol constraintSymbol);
|
||||
|
||||
public abstract Iterable<PredicateSymbol> predicateSymbols();
|
||||
|
||||
public abstract Class<? extends Queryable> solverClass(PredicateSymbol predicateSymbol);
|
||||
|
||||
public abstract Iterable<Rule> rules();
|
||||
|
||||
public abstract void addRule(Rule rule) throws InvalidRuleException;
|
||||
|
||||
public abstract void addRules(Collection<? extends Rule> rules) throws InvalidRuleException;
|
||||
|
||||
protected static void setFactory(PlanningSession.Factory factory) {
|
||||
if (ourFactory != null) {
|
||||
throw new IllegalStateException("factory already set");
|
||||
}
|
||||
ourFactory = factory;
|
||||
}
|
||||
|
||||
protected static void clearFactory(PlanningSession.Factory factory) {
|
||||
if (ourFactory != factory) {
|
||||
throw new IllegalStateException("illegal access");
|
||||
}
|
||||
ourFactory = null;
|
||||
}
|
||||
|
||||
protected static interface Factory {
|
||||
|
||||
public PlanningSession create(String name, SessionSolver sessionSolver);
|
||||
|
||||
}
|
||||
|
||||
private static PlanningSession.Factory ourFactory;
|
||||
}
|
||||
|
|
@ -0,0 +1,144 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<debug-info>
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ExpressionStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.IfStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ReturnStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.StaticFieldDeclaration" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ThrowStatement" />
|
||||
<root nodeRef="r:f43ee4a0-488a-425a-87a0-594ab3b0d15f(jetbrains.mps.logic.reactor.program)/6317379717812926698">
|
||||
<file name="PlanningSession.java">
|
||||
<node id="8225968737377294958" at="17,29,18,57" concept="6" />
|
||||
<node id="8225968737380415589" at="19,5,20,50" concept="3" />
|
||||
<node id="8225968737378322884" at="23,0,24,0" concept="2" trace="name#()Ljava/lang/String;" />
|
||||
<node id="8225968737376927920" at="25,0,26,0" concept="2" trace="constraintSymbols#()Ljava/lang/Iterable;" />
|
||||
<node id="6317379717812927967" at="27,0,28,0" concept="2" trace="constraintArgumentTypes#(Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;)Ljava/util/List;" />
|
||||
<node id="8225968737376996320" at="29,0,30,0" concept="2" trace="predicateSymbols#()Ljava/lang/Iterable;" />
|
||||
<node id="8225968737379275738" at="31,0,32,0" concept="2" trace="solverClass#(Ljetbrains/mps/logic/reactor/constraint/PredicateSymbol;)Ljava/lang/Class;" />
|
||||
<node id="8225968737378224820" at="33,0,34,0" concept="2" trace="rules#()Ljava/lang/Iterable;" />
|
||||
<node id="6317379717812928060" at="35,0,36,0" concept="2" trace="addRule#(Ljetbrains/mps/logic/reactor/rule/Rule;)V" />
|
||||
<node id="2831834914712478075" at="37,0,38,0" concept="2" trace="addRules#(Ljava/util/Collection;)V" />
|
||||
<node id="8225968737380439970" at="40,29,41,61" concept="6" />
|
||||
<node id="8225968737380440645" at="42,5,43,25" concept="0" />
|
||||
<node id="8225968737380440961" at="47,32,48,56" concept="6" />
|
||||
<node id="8225968737380440968" at="49,5,50,22" concept="0" />
|
||||
<node id="8225968737380414596" at="55,0,56,0" concept="2" trace="create#(Ljava/lang/String;Ljetbrains/mps/logic/reactor/constraint/SessionSolver;)Ljetbrains/mps/logic/reactor/program/PlanningSession;" />
|
||||
<node id="8225968737380410563" at="59,0,60,0" concept="4" trace="ourFactory" />
|
||||
<node id="8225968737380413957" at="16,86,19,5" concept="1" />
|
||||
<node id="8225968737380439968" at="39,69,42,5" concept="1" />
|
||||
<node id="8225968737380440959" at="46,71,49,5" concept="1" />
|
||||
<node id="8225968737377303413" at="16,0,22,0" concept="5" trace="newSession#(Ljava/lang/String;Ljetbrains/mps/logic/reactor/constraint/SessionSolver;)Ljetbrains/mps/logic/reactor/program/PlanningSession;" />
|
||||
<node id="8225968737380435904" at="39,0,45,0" concept="5" trace="setFactory#(Ljetbrains/mps/logic/reactor/program/PlanningSession/Factory;)V" />
|
||||
<node id="8225968737380440953" at="46,0,52,0" concept="5" trace="clearFactory#(Ljetbrains/mps/logic/reactor/program/PlanningSession/Factory;)V" />
|
||||
<scope id="8225968737380413959" at="17,29,18,57" />
|
||||
<scope id="8225968737378322884" at="23,0,24,0" />
|
||||
<scope id="8225968737376927920" at="25,0,26,0" />
|
||||
<scope id="6317379717812927967" at="27,0,28,0">
|
||||
<var name="constraintSymbol" id="6317379717812950981" />
|
||||
</scope>
|
||||
<scope id="8225968737376996320" at="29,0,30,0" />
|
||||
<scope id="8225968737379275738" at="31,0,32,0">
|
||||
<var name="predicateSymbol" id="8225968737379275739" />
|
||||
</scope>
|
||||
<scope id="8225968737378224820" at="33,0,34,0" />
|
||||
<scope id="6317379717812928060" at="35,0,36,0">
|
||||
<var name="rule" id="6317379717812951187" />
|
||||
</scope>
|
||||
<scope id="2831834914712478075" at="37,0,38,0">
|
||||
<var name="rules" id="2831834914712478076" />
|
||||
</scope>
|
||||
<scope id="8225968737380439969" at="40,29,41,61" />
|
||||
<scope id="8225968737380440960" at="47,32,48,56" />
|
||||
<scope id="8225968737380414596" at="55,0,56,0">
|
||||
<var name="name" id="8225968737380483470" />
|
||||
<var name="sessionSolver" id="2831834914719707086" />
|
||||
</scope>
|
||||
<scope id="6317379717812939797" at="16,86,20,50" />
|
||||
<scope id="8225968737380435908" at="39,69,43,25" />
|
||||
<scope id="8225968737380440958" at="46,71,50,22" />
|
||||
<scope id="8225968737377303413" at="16,0,22,0">
|
||||
<var name="name" id="8225968737378283806" />
|
||||
<var name="sessionSolver" id="2831834914719706758" />
|
||||
</scope>
|
||||
<scope id="8225968737380435904" at="39,0,45,0">
|
||||
<var name="factory" id="8225968737380439354" />
|
||||
</scope>
|
||||
<scope id="8225968737380440953" at="46,0,52,0">
|
||||
<var name="factory" id="8225968737380440954" />
|
||||
</scope>
|
||||
<unit id="8225968737376896902" at="53,0,58,0" name="jetbrains.mps.logic.reactor.program.PlanningSession$Factory" />
|
||||
<unit id="6317379717812926698" at="14,0,61,0" name="jetbrains.mps.logic.reactor.program.PlanningSession" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:f43ee4a0-488a-425a-87a0-594ab3b0d15f(jetbrains.mps.logic.reactor.program)/6317379717812926797">
|
||||
<file name="EvaluationSession.java">
|
||||
<node id="6317379717813100052" at="17,29,18,52" concept="6" />
|
||||
<node id="6317379717813100659" at="19,5,20,32" concept="3" />
|
||||
<node id="6168558935191972039" at="24,29,25,52" concept="6" />
|
||||
<node id="6168558935191972049" at="26,5,27,37" concept="3" />
|
||||
<node id="6317379717813101174" at="32,0,33,0" concept="2" trace="withPredicates#(null)Ljetbrains/mps/logic/reactor/program/EvaluationSession/Config;" />
|
||||
<node id="6317379717813105701" at="34,0,35,0" concept="2" trace="withTrace#(Ljetbrains/mps/logic/reactor/constraint/ComputingTracer;)Ljetbrains/mps/logic/reactor/program/EvaluationSession/Config;" />
|
||||
<node id="6168558935191895490" at="36,0,37,0" concept="2" trace="withParam#(Ljava/lang/String;Ljava/lang/Object;)Ljetbrains/mps/logic/reactor/program/EvaluationSession/Config;" />
|
||||
<node id="139299000606649873" at="38,0,39,0" concept="2" trace="start#()Ljetbrains/mps/logic/reactor/program/EvaluationSession;" />
|
||||
<node id="6317379717827086566" at="41,0,42,0" concept="2" trace="sessionSolver#()Ljetbrains/mps/logic/reactor/constraint/SessionSolver;" />
|
||||
<node id="6317379717812938932" at="43,0,44,0" concept="2" trace="constraintSymbols#()Ljava/lang/Iterable;" />
|
||||
<node id="6317379717812938847" at="45,0,46,0" concept="2" trace="constraintOccurrences#()Ljava/lang/Iterable;" />
|
||||
<node id="6168558935192236908" at="47,0,48,0" concept="2" trace="constraintOccurrences#(Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;)Ljava/lang/Iterable;" />
|
||||
<node id="6317379717813102752" at="50,29,51,66" concept="6" />
|
||||
<node id="6317379717813102233" at="52,5,53,25" concept="0" />
|
||||
<node id="95655808403437439" at="57,32,58,56" concept="6" />
|
||||
<node id="95655808403437449" at="59,5,60,22" concept="0" />
|
||||
<node id="6317379717813098484" at="65,0,66,0" concept="2" trace="current#()Ljetbrains/mps/logic/reactor/program/EvaluationSession;" />
|
||||
<node id="6168558935191972549" at="67,0,68,0" concept="2" trace="createConfig#()Ljetbrains/mps/logic/reactor/program/EvaluationSession/Config;" />
|
||||
<node id="6317379717813099242" at="71,0,72,0" concept="4" trace="ourBackend" />
|
||||
<node id="6317379717813099888" at="16,45,19,5" concept="1" />
|
||||
<node id="6168558935191972037" at="23,55,26,5" concept="1" />
|
||||
<node id="6317379717813102551" at="49,71,52,5" concept="1" />
|
||||
<node id="95655808403437437" at="56,73,59,5" concept="1" />
|
||||
<node id="6317379717813096791" at="16,0,22,0" concept="5" trace="current#()Ljetbrains/mps/logic/reactor/program/EvaluationSession;" />
|
||||
<node id="139299000606655469" at="23,0,29,0" concept="5" trace="newSession#()Ljetbrains/mps/logic/reactor/program/EvaluationSession/Config;" />
|
||||
<node id="6317379717813098786" at="49,0,55,0" concept="5" trace="setBackend#(Ljetbrains/mps/logic/reactor/program/EvaluationSession/Backend;)V" />
|
||||
<node id="95655808403436479" at="56,0,62,0" concept="5" trace="clearBackend#(Ljetbrains/mps/logic/reactor/program/EvaluationSession/Backend;)V" />
|
||||
<scope id="6317379717813099889" at="17,29,18,52" />
|
||||
<scope id="6168558935191972038" at="24,29,25,52" />
|
||||
<scope id="6317379717813101174" at="32,0,33,0">
|
||||
<var name="predicateSymbols" id="6317379717813101556" />
|
||||
</scope>
|
||||
<scope id="6317379717813105701" at="34,0,35,0">
|
||||
<var name="computingTracer" id="6168558935191960377" />
|
||||
</scope>
|
||||
<scope id="6168558935191895490" at="36,0,37,0">
|
||||
<var name="key" id="6168558935191897683" />
|
||||
<var name="param" id="6168558935191897958" />
|
||||
</scope>
|
||||
<scope id="139299000606649873" at="38,0,39,0" />
|
||||
<scope id="6317379717827086566" at="41,0,42,0" />
|
||||
<scope id="6317379717812938932" at="43,0,44,0" />
|
||||
<scope id="6317379717812938847" at="45,0,46,0" />
|
||||
<scope id="6168558935192236908" at="47,0,48,0">
|
||||
<var name="symbol" id="6168558935192236909" />
|
||||
</scope>
|
||||
<scope id="6317379717813102553" at="50,29,51,66" />
|
||||
<scope id="95655808403437438" at="57,32,58,56" />
|
||||
<scope id="6317379717813098484" at="65,0,66,0" />
|
||||
<scope id="6168558935191972549" at="67,0,68,0" />
|
||||
<scope id="6317379717813096795" at="16,45,20,32" />
|
||||
<scope id="139299000606655473" at="23,55,27,37" />
|
||||
<scope id="6317379717813098790" at="49,71,53,25" />
|
||||
<scope id="95655808403436100" at="56,73,60,22" />
|
||||
<scope id="6317379717813096791" at="16,0,22,0" />
|
||||
<scope id="139299000606655469" at="23,0,29,0" />
|
||||
<scope id="6317379717813098786" at="49,0,55,0">
|
||||
<var name="backend" id="6317379717813098959" />
|
||||
</scope>
|
||||
<scope id="95655808403436479" at="56,0,62,0">
|
||||
<var name="backend" id="95655808403437286" />
|
||||
</scope>
|
||||
<unit id="6317379717813098039" at="63,0,70,0" name="jetbrains.mps.logic.reactor.program.EvaluationSession$Backend" />
|
||||
<unit id="6317379717813097023" at="30,0,40,0" name="jetbrains.mps.logic.reactor.program.EvaluationSession$Config" />
|
||||
<unit id="6317379717812926797" at="14,0,74,0" name="jetbrains.mps.logic.reactor.program.EvaluationSession" />
|
||||
</file>
|
||||
</root>
|
||||
</debug-info>
|
||||
|
||||
|
|
@ -1,106 +0,0 @@
|
|||
package jetbrains.mps.logic.reactor.rule;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.constraint.BuiltinConstraint;
|
||||
import jetbrains.mps.logic.reactor.constraint.ConstraintSymbol;
|
||||
import jetbrains.mps.logic.reactor.constraint.occurrence.AbstractConstraintOccurrence;
|
||||
import jetbrains.mps.logic.reactor.constraint.occurrence.InvalidConstraintException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Set;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
public abstract class ConstraintRegistry {
|
||||
|
||||
public abstract BuiltinConstraint findBuiltinConstraint(ConstraintSymbol symbol);
|
||||
|
||||
public void checkValidConstraint(AbstractConstraintOccurrence cst) throws InvalidConstraintException {
|
||||
switch (cst.kind()) {
|
||||
case USER:
|
||||
boolean matches = cst.symbol().arity() == cst.arguments().size();
|
||||
if (!(matches)) {
|
||||
throw new InvalidConstraintException("arity mismatch for " + String.valueOf(cst.symbol()));
|
||||
}
|
||||
|
||||
if (userConstraintArgTypes.containsKey(cst.symbol())) {
|
||||
if (!(Arrays.equals(argType(cst), userConstraintArgTypes.get(cst.symbol())))) {
|
||||
throw new InvalidConstraintException("argument type mismatch for " + String.valueOf(cst.symbol()));
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case BUILTIN:
|
||||
if (cst.arguments().size() != cst.symbol().arity()) {
|
||||
throw new InvalidConstraintException("arity mismatch for " + String.valueOf(cst.symbol()));
|
||||
}
|
||||
break;
|
||||
|
||||
case JAVA:
|
||||
// FIXME: implement me
|
||||
break;
|
||||
|
||||
default:
|
||||
}
|
||||
|
||||
for (Object arg : cst.arguments()) {
|
||||
if (arg == null) {
|
||||
throw new InvalidConstraintException("argument is null in " + String.valueOf(cst.symbol()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Set<ConstraintSymbol> constraintSymbols() {
|
||||
return Collections.unmodifiableSet(userConstraintArgTypes.keySet());
|
||||
}
|
||||
|
||||
public Set<ConstraintSymbol> builtinConstraintSymbols() {
|
||||
return Collections.unmodifiableSet(builtinSymbols);
|
||||
}
|
||||
|
||||
public Class<?>[] getUserConstraintArgTypes(Object id) {
|
||||
if (!(userConstraintArgTypes.containsKey(id))) {
|
||||
throw new IllegalArgumentException("no such ID: " + id);
|
||||
}
|
||||
return userConstraintArgTypes.get(id);
|
||||
}
|
||||
|
||||
public void introduceConstraint(AbstractConstraintOccurrence cst) throws InvalidConstraintException {
|
||||
checkValidConstraint(cst);
|
||||
switch (cst.kind()) {
|
||||
case USER:
|
||||
userConstraintArgTypes.put(cst.symbol(), argType(cst));
|
||||
break;
|
||||
|
||||
case LOGICAL:
|
||||
// fall through
|
||||
case BUILTIN:
|
||||
builtinSymbols.add(cst.symbol());
|
||||
break;
|
||||
|
||||
case JAVA:
|
||||
// FIXME implement me
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new IllegalArgumentException("unknown constraint kind '" + cst.kind() + "'");
|
||||
}
|
||||
}
|
||||
|
||||
private Class<?>[] argType(AbstractConstraintOccurrence cst) {
|
||||
Class<?>[] argType = new Class<?>[cst.arguments().size()];
|
||||
int i = 0;
|
||||
for (Object arg : cst.arguments()) {
|
||||
if (arg != null) {
|
||||
argType[i++] = arg.getClass();
|
||||
}
|
||||
}
|
||||
return argType;
|
||||
}
|
||||
|
||||
private Set<ConstraintSymbol> builtinSymbols = new HashSet<ConstraintSymbol>();
|
||||
|
||||
private Map<ConstraintSymbol, Class<?>[]> userConstraintArgTypes = new HashMap<ConstraintSymbol, Class<?>[]>();
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package jetbrains.mps.logic.reactor.constraint.occurrence;
|
||||
package jetbrains.mps.logic.reactor.rule;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
|
|
@ -2,8 +2,9 @@ package jetbrains.mps.logic.reactor.rule;
|
|||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.constraint.occurrence.ConstraintOccurrence;
|
||||
import jetbrains.mps.logic.reactor.constraint.occurrence.AbstractConstraintOccurrence;
|
||||
import jetbrains.mps.logic.reactor.constraint.Constraint;
|
||||
import jetbrains.mps.logic.reactor.constraint.Predicate;
|
||||
import jetbrains.mps.logic.reactor.constraint.AndItem;
|
||||
|
||||
public abstract class Rule {
|
||||
|
||||
|
|
@ -11,15 +12,15 @@ public abstract class Rule {
|
|||
|
||||
public abstract String tag();
|
||||
|
||||
public abstract Iterable<ConstraintOccurrence> headKept();
|
||||
public abstract Iterable<Constraint> headKept();
|
||||
|
||||
public abstract Iterable<ConstraintOccurrence> headReplaced();
|
||||
public abstract Iterable<Constraint> headReplaced();
|
||||
|
||||
public abstract Iterable<AbstractConstraintOccurrence> guard();
|
||||
public abstract Iterable<Predicate> guard();
|
||||
|
||||
public abstract Iterable<AbstractConstraintOccurrence> body();
|
||||
public abstract Iterable<AndItem> body();
|
||||
|
||||
public abstract Iterable<AbstractConstraintOccurrence> all();
|
||||
public abstract Iterable<AndItem> all();
|
||||
|
||||
public static enum Kind {
|
||||
SIMPLIFICATION(),
|
||||
|
|
|
|||
|
|
@ -2,8 +2,9 @@ package jetbrains.mps.logic.reactor.rule;
|
|||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.constraint.occurrence.AbstractConstraintOccurrence;
|
||||
import jetbrains.mps.logic.reactor.constraint.occurrence.ConstraintOccurrence;
|
||||
import jetbrains.mps.logic.reactor.constraint.AndItem;
|
||||
import jetbrains.mps.logic.reactor.constraint.Predicate;
|
||||
import jetbrains.mps.logic.reactor.constraint.Constraint;
|
||||
import java.util.Collections;
|
||||
import com.google.common.collect.Iterables;
|
||||
import java.util.List;
|
||||
|
|
@ -15,30 +16,30 @@ public class RuleBuilder {
|
|||
this.tag = tag;
|
||||
}
|
||||
|
||||
public RuleBuilder appendBody(AbstractConstraintOccurrence... c) {
|
||||
for (int i = 0; i < c.length; i++) {
|
||||
body.add(c[i]);
|
||||
public RuleBuilder appendBody(AndItem... item) {
|
||||
for (int i = 0; i < item.length; i++) {
|
||||
body.add(item[i]);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public RuleBuilder appendGuard(AbstractConstraintOccurrence... c) {
|
||||
for (int i = 0; i < c.length; i++) {
|
||||
guard.add(c[i]);
|
||||
public RuleBuilder appendGuard(Predicate... pred) {
|
||||
for (int i = 0; i < pred.length; i++) {
|
||||
guard.add(pred[i]);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public RuleBuilder appendHeadReplaced(ConstraintOccurrence... uc) {
|
||||
for (int i = 0; i < uc.length; i++) {
|
||||
headReplaced.add(uc[i]);
|
||||
public RuleBuilder appendHeadReplaced(Constraint... cst) {
|
||||
for (int i = 0; i < cst.length; i++) {
|
||||
headReplaced.add(cst[i]);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public RuleBuilder appendHeadKept(ConstraintOccurrence... uc) {
|
||||
for (int i = 0; i < uc.length; i++) {
|
||||
headKept.add(uc[i]);
|
||||
public RuleBuilder appendHeadKept(Constraint... cst) {
|
||||
for (int i = 0; i < cst.length; i++) {
|
||||
headKept.add(cst[i]);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
|
@ -120,27 +121,27 @@ public class RuleBuilder {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Iterable<ConstraintOccurrence> headKept() {
|
||||
public Iterable<Constraint> headKept() {
|
||||
return headKept;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<ConstraintOccurrence> headReplaced() {
|
||||
public Iterable<Constraint> headReplaced() {
|
||||
return headReplaced;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<AbstractConstraintOccurrence> guard() {
|
||||
public Iterable<Predicate> guard() {
|
||||
return guard;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<AbstractConstraintOccurrence> body() {
|
||||
public Iterable<AndItem> body() {
|
||||
return body;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<AbstractConstraintOccurrence> all() {
|
||||
public Iterable<AndItem> all() {
|
||||
return Iterables.concat(headKept, headReplaced, guard, body);
|
||||
}
|
||||
|
||||
|
|
@ -149,8 +150,8 @@ public class RuleBuilder {
|
|||
}
|
||||
|
||||
private String tag;
|
||||
private List<ConstraintOccurrence> headKept = new ArrayList<ConstraintOccurrence>(4);
|
||||
private List<ConstraintOccurrence> headReplaced = new ArrayList<ConstraintOccurrence>(4);
|
||||
private List<AbstractConstraintOccurrence> guard = new ArrayList<AbstractConstraintOccurrence>(4);
|
||||
private List<AbstractConstraintOccurrence> body = new ArrayList<AbstractConstraintOccurrence>(4);
|
||||
private List<Constraint> headKept = new ArrayList<Constraint>(4);
|
||||
private List<Constraint> headReplaced = new ArrayList<Constraint>(4);
|
||||
private List<Predicate> guard = new ArrayList<Predicate>(4);
|
||||
private List<AndItem> body = new ArrayList<AndItem>(4);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,332 +1,217 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<debug-info>
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.BlockStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.BreakStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ConstructorDeclaration" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ExpressionStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.FieldDeclaration" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ForStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ForeachStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.IfStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ReturnStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.SingleLineComment" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.Statement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.SuperConstructorInvocation" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.SwitchStatement" />
|
||||
<concept fqn="jetbrains.mps.baseLanguage.structure.ThrowStatement" />
|
||||
<root nodeRef="r:e8529b97-a186-4c32-8f12-771b2a92b55a(jetbrains.mps.logic.reactor.rule)/8335224865064895074">
|
||||
<file name="Rule.java">
|
||||
<node id="8335224865064895076" at="10,0,11,0" concept="8" trace="kind#()Ljetbrains/mps/logic/reactor/rule/Rule/Kind;" />
|
||||
<node id="7303011777414843895" at="12,0,13,0" concept="8" trace="tag#()Ljava/lang/String;" />
|
||||
<node id="8335224865064895081" at="14,0,15,0" concept="8" trace="headKept#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895087" at="16,0,17,0" concept="8" trace="headReplaced#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895093" at="18,0,19,0" concept="8" trace="guard#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895099" at="20,0,21,0" concept="8" trace="body#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865065122390" at="22,0,23,0" concept="8" trace="all#()Ljava/lang/Iterable;" />
|
||||
<scope id="8335224865064895076" at="10,0,11,0" />
|
||||
<scope id="7303011777414843895" at="12,0,13,0" />
|
||||
<scope id="8335224865064895081" at="14,0,15,0" />
|
||||
<scope id="8335224865064895087" at="16,0,17,0" />
|
||||
<scope id="8335224865064895093" at="18,0,19,0" />
|
||||
<scope id="8335224865064895099" at="20,0,21,0" />
|
||||
<scope id="8335224865065122390" at="22,0,23,0" />
|
||||
<unit id="8335224865064895106" at="24,0,30,0" name="jetbrains.mps.logic.reactor.rule.Rule$Kind" />
|
||||
<unit id="8335224865064895074" at="8,0,32,0" name="jetbrains.mps.logic.reactor.rule.Rule" />
|
||||
<node id="8335224865064895076" at="11,0,12,0" concept="6" trace="kind#()Ljetbrains/mps/logic/reactor/rule/Rule/Kind;" />
|
||||
<node id="7303011777414843895" at="13,0,14,0" concept="6" trace="tag#()Ljava/lang/String;" />
|
||||
<node id="8335224865064895081" at="15,0,16,0" concept="6" trace="headKept#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895087" at="17,0,18,0" concept="6" trace="headReplaced#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895093" at="19,0,20,0" concept="6" trace="guard#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895099" at="21,0,22,0" concept="6" trace="body#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865065122390" at="23,0,24,0" concept="6" trace="all#()Ljava/lang/Iterable;" />
|
||||
<scope id="8335224865064895076" at="11,0,12,0" />
|
||||
<scope id="7303011777414843895" at="13,0,14,0" />
|
||||
<scope id="8335224865064895081" at="15,0,16,0" />
|
||||
<scope id="8335224865064895087" at="17,0,18,0" />
|
||||
<scope id="8335224865064895093" at="19,0,20,0" />
|
||||
<scope id="8335224865064895099" at="21,0,22,0" />
|
||||
<scope id="8335224865065122390" at="23,0,24,0" />
|
||||
<unit id="8335224865064895106" at="25,0,31,0" name="jetbrains.mps.logic.reactor.rule.Rule$Kind" />
|
||||
<unit id="8335224865064895074" at="9,0,33,0" name="jetbrains.mps.logic.reactor.rule.Rule" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:e8529b97-a186-4c32-8f12-771b2a92b55a(jetbrains.mps.logic.reactor.rule)/8335224865064895129">
|
||||
<file name="RuleBuilder.java">
|
||||
<node id="7303011777414773402" at="14,34,15,19" concept="3" />
|
||||
<node id="8335224865064895145" at="19,40,20,21" concept="3" />
|
||||
<node id="8335224865064895162" at="21,5,22,16" concept="10" />
|
||||
<node id="8335224865064895174" at="26,40,27,22" concept="3" />
|
||||
<node id="8335224865064895191" at="28,5,29,16" concept="10" />
|
||||
<node id="8335224865064895200" at="33,41,34,30" concept="3" />
|
||||
<node id="8335224865064895217" at="35,5,36,16" concept="10" />
|
||||
<node id="8335224865064895229" at="40,41,41,26" concept="3" />
|
||||
<node id="8335224865064895246" at="42,5,43,16" concept="10" />
|
||||
<node id="8490564095238015565" at="46,28,47,61" concept="10" />
|
||||
<node id="8490564095238043833" at="50,29,51,30" concept="10" />
|
||||
<node id="8490564095238045470" at="54,28,55,29" concept="10" />
|
||||
<node id="2966490507992344509" at="58,50,59,19" concept="3" />
|
||||
<node id="8207393387016330175" at="59,19,60,16" concept="10" />
|
||||
<node id="8335224865064895256" at="63,85,64,52" concept="9" />
|
||||
<node id="8335224865064895261" at="65,61,66,68" concept="3" />
|
||||
<node id="4340821131296540362" at="66,68,67,0" concept="12" />
|
||||
<node id="8335224865064895276" at="68,43,69,71" concept="3" />
|
||||
<node id="4340821131296540379" at="69,71,70,0" concept="12" />
|
||||
<node id="8335224865064895290" at="71,39,72,68" concept="3" />
|
||||
<node id="4340821131296540396" at="72,68,73,0" concept="12" />
|
||||
<node id="8335224865064895296" at="74,12,75,82" concept="15" />
|
||||
<node id="8335224865064895300" at="76,5,77,0" concept="12" />
|
||||
<node id="8335224865064895303" at="78,25,79,82" concept="15" />
|
||||
<node id="8335224865064895310" at="80,5,81,0" concept="12" />
|
||||
<node id="8335224865064895311" at="81,0,82,54" concept="3" />
|
||||
<node id="8335224865064895316" at="82,54,83,62" concept="3" />
|
||||
<node id="8335224865064895321" at="83,62,84,48" concept="3" />
|
||||
<node id="8335224865064895326" at="84,48,85,46" concept="3" />
|
||||
<node id="8335224865064895331" at="85,46,86,0" concept="12" />
|
||||
<node id="8335224865064895332" at="86,0,87,43" concept="10" />
|
||||
<node id="4340821131296552508" at="91,28,92,115" concept="10" />
|
||||
<node id="2966490507992344455" at="96,44,97,37" concept="9" />
|
||||
<node id="2966490507992344461" at="97,37,98,0" concept="12" />
|
||||
<node id="2966490507992344462" at="98,0,99,48" concept="3" />
|
||||
<node id="2966490507992344469" at="99,48,100,40" concept="3" />
|
||||
<node id="2966490507992344476" at="100,40,101,34" concept="3" />
|
||||
<node id="2966490507992344483" at="101,34,102,32" concept="3" />
|
||||
<node id="8335224865064895343" at="108,79,109,23" concept="3" />
|
||||
<node id="7303011777414821015" at="109,23,110,21" concept="3" />
|
||||
<node id="8335224865064895356" at="113,62,114,18" concept="10" />
|
||||
<node id="7303011777414878706" at="118,25,119,17" concept="10" />
|
||||
<node id="8335224865064895366" at="123,54,124,22" concept="10" />
|
||||
<node id="8335224865064895374" at="128,58,129,26" concept="10" />
|
||||
<node id="8335224865064895382" at="133,59,134,19" concept="10" />
|
||||
<node id="8335224865064895390" at="138,58,139,18" concept="10" />
|
||||
<node id="8335224865065270680" at="143,57,144,67" concept="10" />
|
||||
<node id="8335224865064895393" at="147,0,148,0" concept="4" trace="kind" />
|
||||
<node id="7303011777414821011" at="148,0,149,0" concept="4" trace="tag" />
|
||||
<node id="7303011777414773398" at="151,0,152,0" concept="4" trace="tag" />
|
||||
<node id="8335224865064895397" at="152,0,153,0" concept="4" trace="headKept" />
|
||||
<node id="8335224865064895405" at="153,0,154,0" concept="4" trace="headReplaced" />
|
||||
<node id="8335224865064895413" at="154,0,155,0" concept="4" trace="guard" />
|
||||
<node id="8335224865064895421" at="155,0,156,0" concept="4" trace="body" />
|
||||
<node id="8335224865064895294" at="74,10,76,5" concept="0" />
|
||||
<node id="7303011777414747729" at="14,0,17,0" concept="2" trace="RuleBuilder#(Ljava/lang/String;)V" />
|
||||
<node id="8335224865064895143" at="18,68,21,5" concept="5" />
|
||||
<node id="8335224865064895172" at="25,69,28,5" concept="5" />
|
||||
<node id="8335224865064895198" at="32,69,35,5" concept="5" />
|
||||
<node id="8335224865064895227" at="39,65,42,5" concept="5" />
|
||||
<node id="8490564095237998215" at="46,0,49,0" concept="8" trace="hasHead#()Z" />
|
||||
<node id="8490564095238019402" at="50,0,53,0" concept="8" trace="hasGuard#()Z" />
|
||||
<node id="8490564095238045466" at="54,0,57,0" concept="8" trace="hasBody#()Z" />
|
||||
<node id="8335224865064895301" at="77,0,80,5" concept="7" />
|
||||
<node id="8335224865064895352" at="113,0,116,0" concept="8" trace="kind#()Ljetbrains/mps/logic/reactor/rule/Rule/Kind;" />
|
||||
<node id="8207393387016228023" at="58,0,62,0" concept="8" trace="merge#(null)Ljetbrains/mps/logic/reactor/rule/RuleBuilder;" />
|
||||
<node id="4340821131296548229" at="90,0,94,0" concept="8" trace="toString#()Ljava/lang/String;" />
|
||||
<node id="8335224865064895339" at="108,0,112,0" concept="2" trace="Rule#(Ljetbrains/mps/logic/reactor/rule/Rule/Kind;Ljava/lang/String;)V" />
|
||||
<node id="7303011777414858647" at="117,0,121,0" concept="8" trace="tag#()Ljava/lang/String;" />
|
||||
<node id="8335224865064895361" at="122,0,126,0" concept="8" trace="headKept#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895369" at="127,0,131,0" concept="8" trace="headReplaced#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895377" at="132,0,136,0" concept="8" trace="guard#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895385" at="137,0,141,0" concept="8" trace="body#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865065133958" at="142,0,146,0" concept="8" trace="all#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895136" at="18,0,24,0" concept="8" trace="appendBody#(null)Ljetbrains/mps/logic/reactor/rule/RuleBuilder;" />
|
||||
<node id="8335224865064895165" at="25,0,31,0" concept="8" trace="appendGuard#(null)Ljetbrains/mps/logic/reactor/rule/RuleBuilder;" />
|
||||
<node id="8335224865064895194" at="32,0,38,0" concept="8" trace="appendHeadReplaced#(null)Ljetbrains/mps/logic/reactor/rule/RuleBuilder;" />
|
||||
<node id="8335224865064895223" at="39,0,45,0" concept="8" trace="appendHeadKept#(null)Ljetbrains/mps/logic/reactor/rule/RuleBuilder;" />
|
||||
<node id="2966490507992344450" at="95,46,103,5" concept="5" />
|
||||
<node id="2966490507992344504" at="95,0,105,0" concept="8" trace="doMerge#(null)V" />
|
||||
<node id="8335224865064895259" at="64,52,76,5" concept="7" />
|
||||
<node id="8335224865064895252" at="63,0,89,0" concept="8" trace="toRule#()Ljetbrains/mps/logic/reactor/rule/Rule;" />
|
||||
<scope id="7303011777414747732" at="14,34,15,19" />
|
||||
<scope id="8335224865064895144" at="19,40,20,21" />
|
||||
<scope id="8335224865064895173" at="26,40,27,22" />
|
||||
<scope id="8335224865064895199" at="33,41,34,30" />
|
||||
<scope id="8335224865064895228" at="40,41,41,26" />
|
||||
<scope id="8490564095237998219" at="46,28,47,61" />
|
||||
<scope id="8490564095238019405" at="50,29,51,30" />
|
||||
<scope id="8490564095238045469" at="54,28,55,29" />
|
||||
<scope id="8335224865064895295" at="74,12,75,82" />
|
||||
<scope id="8335224865064895302" at="78,25,79,82" />
|
||||
<scope id="4340821131296548233" at="91,28,92,115" />
|
||||
<scope id="8335224865064895355" at="113,62,114,18" />
|
||||
<scope id="7303011777414858651" at="118,25,119,17" />
|
||||
<scope id="8335224865064895365" at="123,54,124,22" />
|
||||
<scope id="8335224865064895373" at="128,58,129,26" />
|
||||
<scope id="8335224865064895381" at="133,59,134,19" />
|
||||
<scope id="8335224865064895389" at="138,58,139,18" />
|
||||
<scope id="8335224865065133963" at="143,57,144,67" />
|
||||
<scope id="8207393387016228026" at="58,50,60,16" />
|
||||
<scope id="8335224865064895260" at="65,61,67,0" />
|
||||
<scope id="8335224865064895275" at="68,43,70,0" />
|
||||
<scope id="8335224865064895289" at="71,39,73,0" />
|
||||
<scope id="8335224865064895342" at="108,79,110,21" />
|
||||
<scope id="7303011777414747729" at="14,0,17,0">
|
||||
<node id="7303011777414773402" at="15,34,16,19" concept="2" />
|
||||
<node id="8335224865064895145" at="20,43,21,24" concept="2" />
|
||||
<node id="8335224865064895162" at="22,5,23,16" concept="8" />
|
||||
<node id="8335224865064895174" at="27,43,28,25" concept="2" />
|
||||
<node id="8335224865064895191" at="29,5,30,16" concept="8" />
|
||||
<node id="8335224865064895200" at="34,42,35,31" concept="2" />
|
||||
<node id="8335224865064895217" at="36,5,37,16" concept="8" />
|
||||
<node id="8335224865064895229" at="41,42,42,27" concept="2" />
|
||||
<node id="8335224865064895246" at="43,5,44,16" concept="8" />
|
||||
<node id="8490564095238015565" at="47,28,48,61" concept="8" />
|
||||
<node id="8490564095238043833" at="51,29,52,30" concept="8" />
|
||||
<node id="8490564095238045470" at="55,28,56,29" concept="8" />
|
||||
<node id="2966490507992344509" at="59,50,60,19" concept="2" />
|
||||
<node id="8207393387016330175" at="60,19,61,16" concept="8" />
|
||||
<node id="8335224865064895256" at="64,85,65,52" concept="7" />
|
||||
<node id="8335224865064895261" at="66,61,67,68" concept="2" />
|
||||
<node id="4340821131296540362" at="67,68,68,0" concept="9" />
|
||||
<node id="8335224865064895276" at="69,43,70,71" concept="2" />
|
||||
<node id="4340821131296540379" at="70,71,71,0" concept="9" />
|
||||
<node id="8335224865064895290" at="72,39,73,68" concept="2" />
|
||||
<node id="4340821131296540396" at="73,68,74,0" concept="9" />
|
||||
<node id="8335224865064895296" at="75,12,76,82" concept="11" />
|
||||
<node id="8335224865064895300" at="77,5,78,0" concept="9" />
|
||||
<node id="8335224865064895303" at="79,25,80,82" concept="11" />
|
||||
<node id="8335224865064895310" at="81,5,82,0" concept="9" />
|
||||
<node id="8335224865064895311" at="82,0,83,54" concept="2" />
|
||||
<node id="8335224865064895316" at="83,54,84,62" concept="2" />
|
||||
<node id="8335224865064895321" at="84,62,85,48" concept="2" />
|
||||
<node id="8335224865064895326" at="85,48,86,46" concept="2" />
|
||||
<node id="8335224865064895331" at="86,46,87,0" concept="9" />
|
||||
<node id="8335224865064895332" at="87,0,88,43" concept="8" />
|
||||
<node id="4340821131296552508" at="92,28,93,115" concept="8" />
|
||||
<node id="2966490507992344455" at="97,44,98,37" concept="7" />
|
||||
<node id="2966490507992344461" at="98,37,99,0" concept="9" />
|
||||
<node id="2966490507992344462" at="99,0,100,48" concept="2" />
|
||||
<node id="2966490507992344469" at="100,48,101,40" concept="2" />
|
||||
<node id="2966490507992344476" at="101,40,102,34" concept="2" />
|
||||
<node id="2966490507992344483" at="102,34,103,32" concept="2" />
|
||||
<node id="8335224865064895343" at="109,79,110,23" concept="2" />
|
||||
<node id="7303011777414821015" at="110,23,111,21" concept="2" />
|
||||
<node id="8335224865064895356" at="114,62,115,18" concept="8" />
|
||||
<node id="7303011777414878706" at="119,25,120,17" concept="8" />
|
||||
<node id="8335224865064895366" at="124,44,125,22" concept="8" />
|
||||
<node id="8335224865064895374" at="129,48,130,26" concept="8" />
|
||||
<node id="8335224865064895382" at="134,40,135,19" concept="8" />
|
||||
<node id="8335224865064895390" at="139,37,140,18" concept="8" />
|
||||
<node id="8335224865065270680" at="144,36,145,67" concept="8" />
|
||||
<node id="8335224865064895393" at="148,0,149,0" concept="3" trace="kind" />
|
||||
<node id="7303011777414821011" at="149,0,150,0" concept="3" trace="tag" />
|
||||
<node id="7303011777414773398" at="152,0,153,0" concept="3" trace="tag" />
|
||||
<node id="8335224865064895397" at="153,0,154,0" concept="3" trace="headKept" />
|
||||
<node id="8335224865064895405" at="154,0,155,0" concept="3" trace="headReplaced" />
|
||||
<node id="8335224865064895413" at="155,0,156,0" concept="3" trace="guard" />
|
||||
<node id="8335224865064895421" at="156,0,157,0" concept="3" trace="body" />
|
||||
<node id="8335224865064895294" at="75,10,77,5" concept="0" />
|
||||
<node id="7303011777414747729" at="15,0,18,0" concept="1" trace="RuleBuilder#(Ljava/lang/String;)V" />
|
||||
<node id="8335224865064895143" at="19,50,22,5" concept="4" />
|
||||
<node id="8335224865064895172" at="26,53,29,5" concept="4" />
|
||||
<node id="8335224865064895198" at="33,60,36,5" concept="4" />
|
||||
<node id="8335224865064895227" at="40,56,43,5" concept="4" />
|
||||
<node id="8490564095237998215" at="47,0,50,0" concept="6" trace="hasHead#()Z" />
|
||||
<node id="8490564095238019402" at="51,0,54,0" concept="6" trace="hasGuard#()Z" />
|
||||
<node id="8490564095238045466" at="55,0,58,0" concept="6" trace="hasBody#()Z" />
|
||||
<node id="8335224865064895301" at="78,0,81,5" concept="5" />
|
||||
<node id="8335224865064895352" at="114,0,117,0" concept="6" trace="kind#()Ljetbrains/mps/logic/reactor/rule/Rule/Kind;" />
|
||||
<node id="8207393387016228023" at="59,0,63,0" concept="6" trace="merge#(null)Ljetbrains/mps/logic/reactor/rule/RuleBuilder;" />
|
||||
<node id="4340821131296548229" at="91,0,95,0" concept="6" trace="toString#()Ljava/lang/String;" />
|
||||
<node id="8335224865064895339" at="109,0,113,0" concept="1" trace="Rule#(Ljetbrains/mps/logic/reactor/rule/Rule/Kind;Ljava/lang/String;)V" />
|
||||
<node id="7303011777414858647" at="118,0,122,0" concept="6" trace="tag#()Ljava/lang/String;" />
|
||||
<node id="8335224865064895361" at="123,0,127,0" concept="6" trace="headKept#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895369" at="128,0,132,0" concept="6" trace="headReplaced#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895377" at="133,0,137,0" concept="6" trace="guard#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895385" at="138,0,142,0" concept="6" trace="body#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865065133958" at="143,0,147,0" concept="6" trace="all#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895136" at="19,0,25,0" concept="6" trace="appendBody#(null)Ljetbrains/mps/logic/reactor/rule/RuleBuilder;" />
|
||||
<node id="8335224865064895165" at="26,0,32,0" concept="6" trace="appendGuard#(null)Ljetbrains/mps/logic/reactor/rule/RuleBuilder;" />
|
||||
<node id="8335224865064895194" at="33,0,39,0" concept="6" trace="appendHeadReplaced#(null)Ljetbrains/mps/logic/reactor/rule/RuleBuilder;" />
|
||||
<node id="8335224865064895223" at="40,0,46,0" concept="6" trace="appendHeadKept#(null)Ljetbrains/mps/logic/reactor/rule/RuleBuilder;" />
|
||||
<node id="2966490507992344450" at="96,46,104,5" concept="4" />
|
||||
<node id="2966490507992344504" at="96,0,106,0" concept="6" trace="doMerge#(null)V" />
|
||||
<node id="8335224865064895259" at="65,52,77,5" concept="5" />
|
||||
<node id="8335224865064895252" at="64,0,90,0" concept="6" trace="toRule#()Ljetbrains/mps/logic/reactor/rule/Rule;" />
|
||||
<scope id="7303011777414747732" at="15,34,16,19" />
|
||||
<scope id="8335224865064895144" at="20,43,21,24" />
|
||||
<scope id="8335224865064895173" at="27,43,28,25" />
|
||||
<scope id="8335224865064895199" at="34,42,35,31" />
|
||||
<scope id="8335224865064895228" at="41,42,42,27" />
|
||||
<scope id="8490564095237998219" at="47,28,48,61" />
|
||||
<scope id="8490564095238019405" at="51,29,52,30" />
|
||||
<scope id="8490564095238045469" at="55,28,56,29" />
|
||||
<scope id="8335224865064895295" at="75,12,76,82" />
|
||||
<scope id="8335224865064895302" at="79,25,80,82" />
|
||||
<scope id="4340821131296548233" at="92,28,93,115" />
|
||||
<scope id="8335224865064895355" at="114,62,115,18" />
|
||||
<scope id="7303011777414858651" at="119,25,120,17" />
|
||||
<scope id="8335224865064895365" at="124,44,125,22" />
|
||||
<scope id="8335224865064895373" at="129,48,130,26" />
|
||||
<scope id="8335224865064895381" at="134,40,135,19" />
|
||||
<scope id="8335224865064895389" at="139,37,140,18" />
|
||||
<scope id="8335224865065133963" at="144,36,145,67" />
|
||||
<scope id="8207393387016228026" at="59,50,61,16" />
|
||||
<scope id="8335224865064895260" at="66,61,68,0" />
|
||||
<scope id="8335224865064895275" at="69,43,71,0" />
|
||||
<scope id="8335224865064895289" at="72,39,74,0" />
|
||||
<scope id="8335224865064895342" at="109,79,111,21" />
|
||||
<scope id="7303011777414747729" at="15,0,18,0">
|
||||
<var name="tag" id="7303011777414773101" />
|
||||
</scope>
|
||||
<scope id="8335224865064895143" at="18,68,21,5">
|
||||
<scope id="8335224865064895143" at="19,50,22,5">
|
||||
<var name="i" id="8335224865064895152" />
|
||||
</scope>
|
||||
<scope id="8335224865064895172" at="25,69,28,5">
|
||||
<scope id="8335224865064895172" at="26,53,29,5">
|
||||
<var name="i" id="8335224865064895181" />
|
||||
</scope>
|
||||
<scope id="8335224865064895198" at="32,69,35,5">
|
||||
<scope id="8335224865064895198" at="33,60,36,5">
|
||||
<var name="i" id="8335224865064895207" />
|
||||
</scope>
|
||||
<scope id="8335224865064895227" at="39,65,42,5">
|
||||
<scope id="8335224865064895227" at="40,56,43,5">
|
||||
<var name="i" id="8335224865064895236" />
|
||||
</scope>
|
||||
<scope id="8490564095237998215" at="46,0,49,0" />
|
||||
<scope id="8490564095238019402" at="50,0,53,0" />
|
||||
<scope id="8490564095238045466" at="54,0,57,0" />
|
||||
<scope id="8335224865064895352" at="113,0,116,0" />
|
||||
<scope id="8335224865064895142" at="18,68,22,16" />
|
||||
<scope id="8335224865064895171" at="25,69,29,16" />
|
||||
<scope id="8335224865064895197" at="32,69,36,16" />
|
||||
<scope id="8335224865064895226" at="39,65,43,16" />
|
||||
<scope id="8207393387016228023" at="58,0,62,0">
|
||||
<scope id="8490564095237998215" at="47,0,50,0" />
|
||||
<scope id="8490564095238019402" at="51,0,54,0" />
|
||||
<scope id="8490564095238045466" at="55,0,58,0" />
|
||||
<scope id="8335224865064895352" at="114,0,117,0" />
|
||||
<scope id="8335224865064895142" at="19,50,23,16" />
|
||||
<scope id="8335224865064895171" at="26,53,30,16" />
|
||||
<scope id="8335224865064895197" at="33,60,37,16" />
|
||||
<scope id="8335224865064895226" at="40,56,44,16" />
|
||||
<scope id="8207393387016228023" at="59,0,63,0">
|
||||
<var name="other" id="8207393387016238232" />
|
||||
</scope>
|
||||
<scope id="4340821131296548229" at="90,0,94,0" />
|
||||
<scope id="8335224865064895339" at="108,0,112,0">
|
||||
<scope id="4340821131296548229" at="91,0,95,0" />
|
||||
<scope id="8335224865064895339" at="109,0,113,0">
|
||||
<var name="kind" id="8335224865064895349" />
|
||||
<var name="tag" id="7303011777414819208" />
|
||||
</scope>
|
||||
<scope id="7303011777414858647" at="117,0,121,0" />
|
||||
<scope id="8335224865064895361" at="122,0,126,0" />
|
||||
<scope id="8335224865064895369" at="127,0,131,0" />
|
||||
<scope id="8335224865064895377" at="132,0,136,0" />
|
||||
<scope id="8335224865064895385" at="137,0,141,0" />
|
||||
<scope id="8335224865065133958" at="142,0,146,0" />
|
||||
<scope id="8335224865064895136" at="18,0,24,0">
|
||||
<var name="c" id="8335224865064895137" />
|
||||
<scope id="7303011777414858647" at="118,0,122,0" />
|
||||
<scope id="8335224865064895361" at="123,0,127,0" />
|
||||
<scope id="8335224865064895369" at="128,0,132,0" />
|
||||
<scope id="8335224865064895377" at="133,0,137,0" />
|
||||
<scope id="8335224865064895385" at="138,0,142,0" />
|
||||
<scope id="8335224865065133958" at="143,0,147,0" />
|
||||
<scope id="8335224865064895136" at="19,0,25,0">
|
||||
<var name="item" id="8335224865064895137" />
|
||||
</scope>
|
||||
<scope id="8335224865064895165" at="25,0,31,0">
|
||||
<var name="c" id="8335224865064895166" />
|
||||
<scope id="8335224865064895165" at="26,0,32,0">
|
||||
<var name="pred" id="8335224865064895166" />
|
||||
</scope>
|
||||
<scope id="8335224865064895194" at="32,0,38,0">
|
||||
<var name="uc" id="8335224865064895219" />
|
||||
<scope id="8335224865064895194" at="33,0,39,0">
|
||||
<var name="cst" id="8335224865064895219" />
|
||||
</scope>
|
||||
<scope id="8335224865064895223" at="39,0,45,0">
|
||||
<var name="uc" id="8335224865064895248" />
|
||||
<scope id="8335224865064895223" at="40,0,46,0">
|
||||
<var name="cst" id="8335224865064895248" />
|
||||
</scope>
|
||||
<scope id="2966490507992344454" at="96,44,102,32">
|
||||
<scope id="2966490507992344454" at="97,44,103,32">
|
||||
<var name="toMerge" id="2966490507992344456" />
|
||||
</scope>
|
||||
<scope id="2966490507992344449" at="95,46,103,5" />
|
||||
<scope id="2966490507992344450" at="95,46,103,5">
|
||||
<scope id="2966490507992344449" at="96,46,104,5" />
|
||||
<scope id="2966490507992344450" at="96,46,104,5">
|
||||
<var name="i" id="2966490507992344451" />
|
||||
</scope>
|
||||
<scope id="2966490507992344504" at="95,0,105,0">
|
||||
<scope id="2966490507992344504" at="96,0,106,0">
|
||||
<var name="other" id="2966490507992344497" />
|
||||
</scope>
|
||||
<scope id="8335224865064895255" at="63,85,87,43">
|
||||
<scope id="8335224865064895255" at="64,85,88,43">
|
||||
<var name="kind" id="8335224865064895257" />
|
||||
</scope>
|
||||
<scope id="8335224865064895252" at="63,0,89,0" />
|
||||
<unit id="8335224865064895337" at="106,0,150,0" name="jetbrains.mps.logic.reactor.rule.RuleBuilder$Rule" />
|
||||
<unit id="8335224865064895129" at="12,0,157,0" name="jetbrains.mps.logic.reactor.rule.RuleBuilder" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:e8529b97-a186-4c32-8f12-771b2a92b55a(jetbrains.mps.logic.reactor.rule)/8335224865065076751">
|
||||
<file name="ConstraintRegistry.java">
|
||||
<node id="2765114335962821805" at="18,0,19,0" concept="8" trace="findBuiltinConstraint#(Ljetbrains/mps/logic/reactor/constraint/ConstraintSymbol;)Ljetbrains/mps/logic/reactor/constraint/BuiltinConstraint;" />
|
||||
<node id="8335224865065811447" at="22,16,23,73" concept="9" />
|
||||
<node id="9010599623176703352" at="24,25,25,101" concept="15" />
|
||||
<node id="1797788903619179849" at="26,9,27,0" concept="12" />
|
||||
<node id="1797788903619179688" at="29,89,30,111" concept="15" />
|
||||
<node id="2784663291560052681" at="32,9,33,14" concept="1" />
|
||||
<node id="2784663291560571748" at="33,14,34,0" concept="12" />
|
||||
<node id="2765114335964085288" at="36,61,37,101" concept="15" />
|
||||
<node id="2784663291560058699" at="38,9,39,14" concept="1" />
|
||||
<node id="2784663291560570856" at="39,14,40,0" concept="12" />
|
||||
<node id="2784663291560059479" at="41,16,42,31" concept="11" />
|
||||
<node id="2784663291560565418" at="42,31,43,14" concept="1" />
|
||||
<node id="2784663291560570366" at="43,14,44,0" concept="12" />
|
||||
<node id="3187386103832393156" at="46,5,47,0" concept="12" />
|
||||
<node id="3187386103832401855" at="49,24,50,100" concept="15" />
|
||||
<node id="1142503322777751353" at="55,52,56,72" concept="10" />
|
||||
<node id="2765114335964299712" at="59,59,60,55" concept="10" />
|
||||
<node id="1142503322777775829" at="64,52,65,62" concept="15" />
|
||||
<node id="1142503322777767764" at="66,5,67,42" concept="10" />
|
||||
<node id="9010599623176721663" at="70,103,71,30" concept="3" />
|
||||
<node id="8335224865065495094" at="73,16,74,63" concept="3" />
|
||||
<node id="2784663291560018285" at="74,63,75,14" concept="1" />
|
||||
<node id="2784663291560586359" at="75,14,76,0" concept="12" />
|
||||
<node id="5841747851379990231" at="77,19,78,24" concept="11" />
|
||||
<node id="2765114335964240512" at="79,19,80,41" concept="3" />
|
||||
<node id="2784663291560026199" at="80,41,81,14" concept="1" />
|
||||
<node id="5841747851379471379" at="81,14,82,0" concept="12" />
|
||||
<node id="2784663291560027749" at="83,16,84,30" concept="11" />
|
||||
<node id="2784663291560589740" at="84,30,85,14" concept="1" />
|
||||
<node id="2784663291560589940" at="85,14,86,0" concept="12" />
|
||||
<node id="5841747851379458889" at="87,14,88,91" concept="15" />
|
||||
<node id="1797788903619105195" at="92,64,93,62" concept="9" />
|
||||
<node id="1797788903619105210" at="93,62,94,14" concept="9" />
|
||||
<node id="1797788903619105216" at="96,24,97,38" concept="3" />
|
||||
<node id="1797788903619105230" at="99,5,100,19" concept="10" />
|
||||
<node id="2765114335964095376" at="103,0,104,0" concept="4" trace="builtinSymbols" />
|
||||
<node id="8335224865065410940" at="105,0,106,0" concept="4" trace="userConstraintArgTypes" />
|
||||
<node id="8335224865065815168" at="23,73,26,9" concept="7" />
|
||||
<node id="1797788903619160572" at="28,63,31,11" concept="7" />
|
||||
<node id="2765114335964050384" at="35,19,38,9" concept="7" />
|
||||
<node id="3187386103832401304" at="48,40,51,7" concept="7" />
|
||||
<node id="1142503322777740657" at="55,0,58,0" concept="8" trace="constraintSymbols#()Ljava/util/Set;" />
|
||||
<node id="2765114335964268407" at="59,0,62,0" concept="8" trace="builtinConstraintSymbols#()Ljava/util/Set;" />
|
||||
<node id="1142503322777772806" at="63,58,66,5" concept="7" />
|
||||
<node id="962069921701421856" at="95,40,98,7" concept="7" />
|
||||
<node id="8335224865065477009" at="27,0,32,9" concept="7" />
|
||||
<node id="3187386103832398869" at="47,0,52,5" concept="6" />
|
||||
<node id="1797788903619105214" at="94,14,99,5" concept="6" />
|
||||
<node id="1142503322777758852" at="63,0,69,0" concept="8" trace="getUserConstraintArgTypes#(Ljava/lang/Object;)[Ljava/lang/Class;" />
|
||||
<node id="1797788903619105242" at="92,0,102,0" concept="8" trace="argType#(Ljetbrains/mps/logic/reactor/constraint/occurrence/AbstractConstraintOccurrence;)[Ljava/lang/Class;" />
|
||||
<node id="2784663291559998093" at="71,30,89,5" concept="14" />
|
||||
<node id="8335224865065334794" at="70,0,91,0" concept="8" trace="introduceConstraint#(Ljetbrains/mps/logic/reactor/constraint/occurrence/AbstractConstraintOccurrence;)V" />
|
||||
<node id="2784663291560035682" at="20,104,46,5" concept="14" />
|
||||
<node id="8335224865065112275" at="20,0,54,0" concept="8" trace="checkValidConstraint#(Ljetbrains/mps/logic/reactor/constraint/occurrence/AbstractConstraintOccurrence;)V" />
|
||||
<scope id="2784663291560035684" at="45,14,45,14" />
|
||||
<scope id="2765114335962821805" at="18,0,19,0">
|
||||
<var name="symbol" id="2765114335962828124" />
|
||||
</scope>
|
||||
<scope id="8335224865065815171" at="24,25,25,101" />
|
||||
<scope id="1797788903619160574" at="29,89,30,111" />
|
||||
<scope id="2765114335964050385" at="36,61,37,101" />
|
||||
<scope id="3187386103832401305" at="49,24,50,100" />
|
||||
<scope id="1142503322777740661" at="55,52,56,72" />
|
||||
<scope id="2765114335964268411" at="59,59,60,55" />
|
||||
<scope id="1142503322777772809" at="64,52,65,62" />
|
||||
<scope id="5841747851379473349" at="77,19,78,24" />
|
||||
<scope id="2784663291559998095" at="87,14,88,91" />
|
||||
<scope id="962069921701421858" at="96,24,97,38" />
|
||||
<scope id="8335224865065477010" at="28,63,31,11" />
|
||||
<scope id="2784663291560044988" at="41,16,44,0" />
|
||||
<scope id="3187386103832398870" at="48,40,51,7" />
|
||||
<scope id="1142503322777740657" at="55,0,58,0" />
|
||||
<scope id="2765114335964268407" at="59,0,62,0" />
|
||||
<scope id="2784663291560004167" at="73,16,76,0" />
|
||||
<scope id="2784663291560008134" at="79,19,82,0" />
|
||||
<scope id="2784663291560010334" at="83,16,86,0" />
|
||||
<scope id="1797788903619105215" at="95,40,98,7" />
|
||||
<scope id="1142503322777758856" at="63,58,67,42" />
|
||||
<scope id="2784663291560042935" at="35,19,40,0" />
|
||||
<scope id="3187386103832398869" at="47,0,52,5">
|
||||
<var name="arg" id="3187386103832398873" />
|
||||
</scope>
|
||||
<scope id="1797788903619105214" at="94,14,99,5">
|
||||
<var name="arg" id="1797788903619105225" />
|
||||
</scope>
|
||||
<scope id="1142503322777758852" at="63,0,69,0">
|
||||
<var name="id" id="1142503322777766553" />
|
||||
</scope>
|
||||
<scope id="1797788903619105192" at="92,64,100,19">
|
||||
<var name="argType" id="1797788903619105196" />
|
||||
<var name="i" id="1797788903619105211" />
|
||||
</scope>
|
||||
<scope id="1797788903619105242" at="92,0,102,0">
|
||||
<var name="cst" id="1797788903619105232" />
|
||||
</scope>
|
||||
<scope id="2784663291560040546" at="22,16,34,0">
|
||||
<var name="matches" id="8335224865065811448" />
|
||||
</scope>
|
||||
<scope id="8335224865065334796" at="70,103,89,5" />
|
||||
<scope id="8335224865065334794" at="70,0,91,0">
|
||||
<var name="cst" id="8335224865065337066" />
|
||||
</scope>
|
||||
<scope id="8335224865065112279" at="20,104,52,5" />
|
||||
<scope id="8335224865065112275" at="20,0,54,0">
|
||||
<var name="cst" id="8335224865065112683" />
|
||||
</scope>
|
||||
<unit id="8335224865065076751" at="16,0,107,0" name="jetbrains.mps.logic.reactor.rule.ConstraintRegistry" />
|
||||
<scope id="8335224865064895252" at="64,0,90,0" />
|
||||
<unit id="8335224865064895337" at="107,0,151,0" name="jetbrains.mps.logic.reactor.rule.RuleBuilder$Rule" />
|
||||
<unit id="8335224865064895129" at="13,0,158,0" name="jetbrains.mps.logic.reactor.rule.RuleBuilder" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:e8529b97-a186-4c32-8f12-771b2a92b55a(jetbrains.mps.logic.reactor.rule)/9010599623174261813">
|
||||
<file name="InvalidRuleException.java">
|
||||
<node id="9010599623174265602" at="8,47,9,19" concept="13" />
|
||||
<node id="9010599623174269829" at="12,68,13,30" concept="13" />
|
||||
<node id="9010599623174265548" at="8,0,11,0" concept="2" trace="InvalidRuleException#(Ljava/lang/String;)V" />
|
||||
<node id="9010599623174269823" at="12,0,15,0" concept="2" trace="InvalidRuleException#(Ljava/lang/String;Ljava/lang/Throwable;)V" />
|
||||
<node id="9010599623174265602" at="8,47,9,19" concept="10" />
|
||||
<node id="9010599623174269829" at="12,68,13,30" concept="10" />
|
||||
<node id="9010599623174265548" at="8,0,11,0" concept="1" trace="InvalidRuleException#(Ljava/lang/String;)V" />
|
||||
<node id="9010599623174269823" at="12,0,15,0" concept="1" trace="InvalidRuleException#(Ljava/lang/String;Ljava/lang/Throwable;)V" />
|
||||
<scope id="9010599623174265552" at="8,47,9,19" />
|
||||
<scope id="9010599623174269828" at="12,68,13,30" />
|
||||
<scope id="9010599623174265548" at="8,0,11,0">
|
||||
|
|
@ -339,5 +224,23 @@
|
|||
<unit id="9010599623174261813" at="6,0,17,0" name="jetbrains.mps.logic.reactor.rule.InvalidRuleException" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:e8529b97-a186-4c32-8f12-771b2a92b55a(jetbrains.mps.logic.reactor.rule)/9010599623176680927">
|
||||
<file name="InvalidConstraintException.java">
|
||||
<node id="9010599623176682194" at="8,53,9,19" concept="10" />
|
||||
<node id="9010599623176682617" at="12,67,13,23" concept="10" />
|
||||
<node id="9010599623176682144" at="8,0,11,0" concept="1" trace="InvalidConstraintException#(Ljava/lang/String;)V" />
|
||||
<node id="9010599623176682613" at="12,0,15,0" concept="1" trace="InvalidConstraintException#(Ljava/lang/String;Ljava/lang/Throwable;)V" />
|
||||
<scope id="9010599623176682148" at="8,53,9,19" />
|
||||
<scope id="9010599623176682616" at="12,67,13,23" />
|
||||
<scope id="9010599623176682144" at="8,0,11,0">
|
||||
<var name="message" id="9010599623176682158" />
|
||||
</scope>
|
||||
<scope id="9010599623176682613" at="12,0,15,0">
|
||||
<var name="ex" id="9010599623176682960" />
|
||||
<var name="message" id="9010599623176682619" />
|
||||
</scope>
|
||||
<unit id="9010599623176680927" at="6,0,17,0" name="jetbrains.mps.logic.reactor.rule.InvalidConstraintException" />
|
||||
</file>
|
||||
</root>
|
||||
</debug-info>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
import jetbrains.mps.logic.reactor.constraint.occurrence.AbstractConstraintOccurrence
|
||||
import jetbrains.mps.logic.reactor.constraint.occurrence.ConstraintOccurrence
|
||||
import jetbrains.mps.logic.reactor.constraint.*
|
||||
import jetbrains.mps.logic.reactor.rule.Rule
|
||||
import jetbrains.mps.logic.reactor.rule.RuleBuilder
|
||||
import java.util.*
|
||||
|
|
@ -18,56 +17,56 @@ fun rule(tag: String, vararg component:RB.() -> Unit): Rule {
|
|||
}
|
||||
|
||||
fun headKept(vararg content : ConjBuilder.() -> Unit): RB.() -> Unit = {
|
||||
appendHeadKept( * buildConjunction(ConstraintOccurrence::class.java, content).toArray())
|
||||
appendHeadKept( * buildConjunction(Constraint::class.java, content).toArray())
|
||||
}
|
||||
fun headReplaced(vararg content : ConjBuilder.() -> Unit): RB.() -> Unit = {
|
||||
appendHeadKept( * buildConjunction(ConstraintOccurrence::class.java, content).toArray())
|
||||
appendHeadKept( * buildConjunction(Constraint::class.java, content).toArray())
|
||||
}
|
||||
fun guard(vararg content : ConjBuilder.() -> Unit): RB.() -> Unit = {
|
||||
appendGuard( * buildConjunction(AbstractConstraintOccurrence::class.java, content).toArray())
|
||||
appendGuard( * buildConjunction(AndItem::class.java, content).toArray())
|
||||
}
|
||||
fun body(vararg content : ConjBuilder.() -> Unit): RB.() -> Unit = {
|
||||
appendBody( * buildConjunction(AbstractConstraintOccurrence::class.java, content).toArray())
|
||||
appendBody( * buildConjunction(AndItem::class.java, content).toArray())
|
||||
}
|
||||
|
||||
fun constraint(id: String): ConjBuilder.() -> Unit = {
|
||||
add(ConstraintOccurrence.singleton(id))
|
||||
add(AbstractConstraint(ConstraintSymbol.symbol(id, 0)))
|
||||
}
|
||||
fun constraint(id: String, arg: Any): ConjBuilder.() -> Unit = {
|
||||
add(ConstraintOccurrence.unitary(id, arg))
|
||||
add(AbstractConstraint(ConstraintSymbol.symbol(id, 1), arg))
|
||||
}
|
||||
fun constraint(id: String, arg1: Any, arg2: Any): ConjBuilder.() -> Unit = {
|
||||
add(ConstraintOccurrence.binary(id, arg1, arg2))
|
||||
add(AbstractConstraint(ConstraintSymbol.symbol(id, 2), arg1, arg2))
|
||||
}
|
||||
fun constraint(id: String, arg1: Any, arg2: Any, arg3: Any): ConjBuilder.() -> Unit = {
|
||||
add(ConstraintOccurrence.ternary(id, arg1, arg2, arg3))
|
||||
add(AbstractConstraint(ConstraintSymbol.symbol(id, 3), arg1, arg2, arg3))
|
||||
}
|
||||
fun constraint(id: String, args: Array<out Any>): ConjBuilder.() -> Unit = {
|
||||
add(ConstraintOccurrence.nary(id, * args))
|
||||
add(AbstractConstraint(ConstraintSymbol.symbol(id, args.size), * args))
|
||||
}
|
||||
|
||||
class RB(tag: String) : RuleBuilder(tag) {}
|
||||
|
||||
class ConjBuilder (val type: Class<out AbstractConstraintOccurrence>) {
|
||||
val constraints = ArrayList<AbstractConstraintOccurrence>()
|
||||
fun add(constraint: AbstractConstraintOccurrence): Unit {
|
||||
class ConjBuilder (val type: Class<out AndItem>) {
|
||||
val constraints = ArrayList<AndItem>()
|
||||
fun add(constraint: AndItem): Unit {
|
||||
if (!type.isAssignableFrom(constraint.javaClass))
|
||||
throw IllegalArgumentException("unexpected constraint class '${constraint.javaClass}'")
|
||||
constraints.add(constraint)
|
||||
}
|
||||
fun <T : AbstractConstraintOccurrence> toArray(): Array<T> =
|
||||
if (ConstraintOccurrence::class.java.isAssignableFrom(type))
|
||||
Array<ConstraintOccurrence>(constraints.size) {
|
||||
constraints.get(it) as ConstraintOccurrence
|
||||
fun <T : AndItem> toArray(): Array<T> =
|
||||
if (Constraint::class.java.isAssignableFrom(type))
|
||||
Array<Constraint>(constraints.size) {
|
||||
constraints.get(it) as Constraint
|
||||
} as Array<T>
|
||||
else
|
||||
Array<AbstractConstraintOccurrence>(constraints.size) {
|
||||
Array<AndItem>(constraints.size) {
|
||||
constraints.get(it)
|
||||
} as Array<T>
|
||||
}
|
||||
|
||||
private fun
|
||||
buildConjunction(type: Class<out AbstractConstraintOccurrence>, content: Array<out ConjBuilder.() -> Unit>): ConjBuilder
|
||||
private fun buildConjunction(type: Class<out AndItem>,
|
||||
content: Array<out ConjBuilder.() -> Unit>): ConjBuilder
|
||||
{
|
||||
var conjBuilder = ConjBuilder(type)
|
||||
for (c in content) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue