diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/ConstraintOccurrence.java b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/ConstraintOccurrence.java index 05a403c7..8a7d2f09 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/ConstraintOccurrence.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/ConstraintOccurrence.java @@ -7,6 +7,9 @@ import jetbrains.mps.logic.reactor.program.Constraint; import java.util.List; +/** + * Represents a run-time object corresponding to an actual constraint. + */ public interface ConstraintOccurrence { Constraint constraint(); diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/EvaluationFailureException.java b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/EvaluationFailureException.java index 95ed4479..4ea1a3e0 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/EvaluationFailureException.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/EvaluationFailureException.java @@ -3,6 +3,9 @@ package jetbrains.mps.logic.reactor.evaluation; /*Generated by MPS */ +/** + * Thrown in case evaluation fails. + */ public class EvaluationFailureException extends RuntimeException { public EvaluationFailureException(String message) { diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/EvaluationSession.java b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/EvaluationSession.java index a719edaa..dfd3d6fb 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/EvaluationSession.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/EvaluationSession.java @@ -7,6 +7,13 @@ import jetbrains.mps.logic.reactor.program.*; import java.util.List; +/** + * The starting point to evaluate a program. + * + * The session is started with {@code newSession}, provided the backend has been initialized. + * + * The backend is supposed to be provided at startup. + */ public abstract class EvaluationSession { public static EvaluationSession current() { diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/EvaluationTrace.java b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/EvaluationTrace.java index 518c16ab..6afd394c 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/EvaluationTrace.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/EvaluationTrace.java @@ -3,6 +3,9 @@ package jetbrains.mps.logic.reactor.evaluation; /*Generated by MPS */ +/** + * An interface to be implemented by clients wishing to be notified of the events during evaluation. + */ public interface EvaluationTrace { void activate(ConstraintOccurrence occurrence); diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/Instructible.java b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/Instructible.java index 4d8ac65d..ba09a5f0 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/Instructible.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/Instructible.java @@ -2,6 +2,9 @@ package jetbrains.mps.logic.reactor.evaluation; /*Generated by MPS */ +/** + * Abstract interface to a predicate. + */ public interface Instructible { void tell(PredicateInvocation invocation); diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/MatchRule.java b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/MatchRule.java index 49ab22a4..541c3305 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/MatchRule.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/MatchRule.java @@ -4,6 +4,9 @@ package jetbrains.mps.logic.reactor.evaluation; import jetbrains.mps.logic.reactor.program.Rule; +/** + * A binding of a rule and the constraints that matched its head. + */ public interface MatchRule { Rule rule(); diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/PredicateInvocation.java b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/PredicateInvocation.java index 046584ba..fd3a37ea 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/PredicateInvocation.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/PredicateInvocation.java @@ -7,6 +7,9 @@ import jetbrains.mps.logic.reactor.program.Predicate; import java.util.List; +/** + * A run-time object representing invocation of a predicate. + */ public interface PredicateInvocation { Predicate predicate(); diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/Queryable.java b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/Queryable.java index f5112b9d..9ebbb80e 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/Queryable.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/Queryable.java @@ -2,6 +2,9 @@ package jetbrains.mps.logic.reactor.evaluation; /*Generated by MPS */ +/** + * Abstract interface to a predicate. + */ public interface Queryable extends Instructible { boolean ask(PredicateInvocation invocation); diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/StoreView.java b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/StoreView.java index 1a2f5f85..52462756 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/StoreView.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/evaluation/StoreView.java @@ -3,7 +3,7 @@ package jetbrains.mps.logic.reactor.evaluation; import jetbrains.mps.logic.reactor.program.ConstraintSymbol; /** - * @author Fedor Isakov + * A read-only view on the constraints store. */ public interface StoreView { diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/logical/Logical.java b/reactor/API/src/jetbrains/mps/logic/reactor/logical/Logical.java index a4c7bc24..59176467 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/logical/Logical.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/logical/Logical.java @@ -3,6 +3,11 @@ package jetbrains.mps.logic.reactor.logical; /*Generated by MPS */ +/** + * A run-time representation of a logical variable. + * + * @param the value type + */ public interface Logical { String name(); diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/logical/LogicalOwner.java b/reactor/API/src/jetbrains/mps/logic/reactor/logical/LogicalOwner.java index 40829adb..774b9587 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/logical/LogicalOwner.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/logical/LogicalOwner.java @@ -3,6 +3,9 @@ package jetbrains.mps.logic.reactor.logical; /*Generated by MPS */ +/** + * An abstract wrapper for a {@link Logical}. + */ public interface LogicalOwner { Logical logical(); diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/logical/LogicalUnification.java b/reactor/API/src/jetbrains/mps/logic/reactor/logical/LogicalUnification.java index a078c2b5..44445011 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/logical/LogicalUnification.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/logical/LogicalUnification.java @@ -4,6 +4,10 @@ package jetbrains.mps.logic.reactor.logical; import jetbrains.mps.unification.Term; +/** + * Not used in the API. + * @deprecated + */ public interface LogicalUnification { TERM asRoot(TERM term); diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/logical/MetaLogical.java b/reactor/API/src/jetbrains/mps/logic/reactor/logical/MetaLogical.java index 148ef5e1..90225b64 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/logical/MetaLogical.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/logical/MetaLogical.java @@ -3,16 +3,20 @@ package jetbrains.mps.logic.reactor.logical; /*Generated by MPS */ -public class MetaLogical { +/** + * A declaration of a logical variable. + * @param the value type + */ +public class MetaLogical { private static final String WILDCARD = "_"; - public MetaLogical(String name, Class type) { + public MetaLogical(String name, Class type) { this.name = name; this.type = type; } - public MetaLogical(Class type) { + public MetaLogical(Class type) { this.name = MetaLogical.WILDCARD + System.identityHashCode(this); this.type = type; this.wildcard = true; @@ -26,7 +30,7 @@ public class MetaLogical { return wildcard; } - public Class type() { + public Class type() { return type; } @@ -36,7 +40,7 @@ public class MetaLogical { } private String name; - private Class type; + private Class type; private boolean wildcard = false; } diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/logical/MultiMetaLogical.java b/reactor/API/src/jetbrains/mps/logic/reactor/logical/MultiMetaLogical.java index c0a255de..0371f112 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/logical/MultiMetaLogical.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/logical/MultiMetaLogical.java @@ -5,9 +5,13 @@ package jetbrains.mps.logic.reactor.logical; import java.util.List; import java.util.ArrayList; -public class MultiMetaLogical extends MetaLogical { +/** + * A declaration of a logical variable with index. + * @param + */ +public class MultiMetaLogical extends MetaLogical { - public MultiMetaLogical(String name, Class type, int cardinality) { + public MultiMetaLogical(String name, Class type, int cardinality) { super(name, type); this.cardinality = cardinality; init(); @@ -17,7 +21,7 @@ public class MultiMetaLogical extends MetaLogical { return cardinality; } - public MetaLogical logicalAt(int idx) { + public MetaLogical logicalAt(int idx) { return metaLogicals.get(idx); } @@ -28,10 +32,10 @@ public class MultiMetaLogical extends MetaLogical { private void init() { for (int i = 0; i < cardinality; i++) { - metaLogicals.add(new MetaLogical(name() + "_" + (i + 1), type())); + metaLogicals.add(new MetaLogical(name() + "_" + (i + 1), type())); } } private int cardinality; - private List> metaLogicals = new ArrayList>(); + private List> metaLogicals = new ArrayList>(); } diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/logical/SolverLogical.java b/reactor/API/src/jetbrains/mps/logic/reactor/logical/SolverLogical.java index 7f93f070..e244e98f 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/logical/SolverLogical.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/logical/SolverLogical.java @@ -3,6 +3,11 @@ package jetbrains.mps.logic.reactor.logical; /*Generated by MPS */ +/** + * A logical variable that can be joined with another variable to produce a union. + * + * @param the value type + */ public interface SolverLogical extends Logical { /** diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/program/AndItem.java b/reactor/API/src/jetbrains/mps/logic/reactor/program/AndItem.java index 5e414398..46e1fd71 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/program/AndItem.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/program/AndItem.java @@ -4,6 +4,9 @@ package jetbrains.mps.logic.reactor.program; import java.util.List; +/** + * An abstract conjunct. + */ public interface AndItem { Symbol symbol(); diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/program/Constraint.java b/reactor/API/src/jetbrains/mps/logic/reactor/program/Constraint.java index 0f68c9d0..2bb1e348 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/program/Constraint.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/program/Constraint.java @@ -7,7 +7,7 @@ import java.util.Collection; import jetbrains.mps.logic.reactor.logical.LogicalContext; /** - * A constraint provided by a handler. Can only be told. + * A constraint provided by a handler. */ public interface Constraint extends AndItem { diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/program/Handler.java b/reactor/API/src/jetbrains/mps/logic/reactor/program/Handler.java index 9bad4740..f00653ac 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/program/Handler.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/program/Handler.java @@ -1,7 +1,10 @@ package jetbrains.mps.logic.reactor.program; /** - * @author Fedor Isakov + * A handler is a container of rules. + * + * If the {@code primarySymbols} is a non-empty collection, only constraints with these symbols are processed + * by this handler. */ public abstract class Handler { diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/program/Program.java b/reactor/API/src/jetbrains/mps/logic/reactor/program/Program.java index 95b88a6a..577d5c10 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/program/Program.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/program/Program.java @@ -6,6 +6,9 @@ import jetbrains.mps.logic.reactor.logical.LogicalContext; import java.util.List; +/** + * A collection of handlers that constitute a constraint rules program. + */ public abstract class Program { public abstract String name(); diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/program/Rule.java b/reactor/API/src/jetbrains/mps/logic/reactor/program/Rule.java index 6ac9ccbc..713e4158 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/program/Rule.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/program/Rule.java @@ -3,6 +3,9 @@ package jetbrains.mps.logic.reactor.program; /*Generated by MPS */ +/** + * A constraint rule description. + */ public abstract class Rule { public abstract Rule.Kind kind(); diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/program/Solver.java b/reactor/API/src/jetbrains/mps/logic/reactor/program/Solver.java deleted file mode 100644 index 1cd71896..00000000 --- a/reactor/API/src/jetbrains/mps/logic/reactor/program/Solver.java +++ /dev/null @@ -1,9 +0,0 @@ -package jetbrains.mps.logic.reactor.program; - -/*Generated by MPS */ - -public interface Solver { - - - -} diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/program/Symbol.java b/reactor/API/src/jetbrains/mps/logic/reactor/program/Symbol.java index 56abe5c1..dc13bf4d 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/program/Symbol.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/program/Symbol.java @@ -3,6 +3,9 @@ package jetbrains.mps.logic.reactor.program; /*Generated by MPS */ +/** + * A symbol used by both constraints and predicates. Is uniquely identified by id and arity. + */ public abstract class Symbol { protected Symbol(String id, int arity) {