Merge API module into Core, drop API. Reactor lib to have only one jar.

This commit is contained in:
Fedor Isakov 2019-04-24 20:33:59 +02:00
parent a9a7f66a3a
commit a26dee8508
59 changed files with 30 additions and 174 deletions

View File

@ -1,81 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="kotlin-language" name="Kotlin">
<configuration version="2" platform="JVM 1.8" useProjectSettings="false">
<compilerSettings />
<compilerArguments>
<option name="jvmTarget" value="1.8" />
<option name="languageVersion" value="1.3" />
<option name="apiVersion" value="1.3" />
<option name="pluginOptions">
<array />
</option>
<option name="pluginClasspaths">
<array />
</option>
<option name="errors">
<ArgumentParseErrors />
</option>
</compilerArguments>
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-stdlib:1.3.11" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.11" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains:annotations:13.0" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-maven-plugin:1.3.11" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-core:3.0.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-model:3.0.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-settings:3.0.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-settings-builder:3.0.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-repository-metadata:3.0.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-artifact:3.0.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-model-builder:3.0.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-aether-provider:3.0.5" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.aether:aether-spi:1.13.1" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.aether:aether-impl:1.13.1" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.aether:aether-api:1.13.1" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.aether:aether-util:1.13.1" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.sisu:sisu-inject-plexus:2.3.0" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.sisu:sisu-inject-bean:2.3.0" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.sisu:sisu-guice:no_aop:3.1.0" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.sisu:sisu-guava:0.9.9" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-interpolation:1.14" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-utils:2.0.6" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-classworlds:2.4" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-component-annotations:1.5.5" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.plexus:plexus-sec-dispatcher:1.3" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.plexus:plexus-cipher:1.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-plugin-api:3.0.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven.plugin-tools:maven-plugin-annotations:3.4" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-compiler:1.3.11" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-script-runtime:1.3.11" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-reflect:1.3.11" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-scripting-compiler:1.3.11" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-scripting-common:1.3.11" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains.kotlinx:kotlinx-coroutines-core:0.26.1-eap13" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-scripting-jvm:1.3.11" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven.plugins:maven-compiler-plugin:3.5.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-toolchain:2.2.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven.shared:maven-shared-utils:3.0.0" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.4" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:2.0.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven.shared:maven-shared-incremental:1.1" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-compiler-api:2.7" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-compiler-manager:2.7" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.plexus:plexus-compiler-javac:2.7" level="project" />
<orderEntry type="library" name="Maven: com.github.andrewoma.dexx:collection:0.7" level="project" />
<orderEntry type="library" name="Maven: com.intellij:annotations:12.0" level="project" />
<orderEntry type="library" name="Maven: net.sf.trove4j:trove4j:3.0.3" level="project" />
</component>
</module>

View File

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>jetbrains.mps.logic.conreactor</groupId>
<artifactId>conreactor-main</artifactId>
<version>0.9.4</version>
<relativePath>..</relativePath>
</parent>
<artifactId>conreactor-api</artifactId>
<packaging>jar</packaging>
<build>
<sourceDirectory>${basedir}/src/</sourceDirectory>
</build>
</project>

View File

@ -15,11 +15,6 @@
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>jetbrains.mps.logic.conreactor</groupId>
<artifactId>conreactor-api</artifactId>
<version>${project.parent.version}</version>
</dependency>
</dependencies>
<build>

View File

@ -16,9 +16,7 @@
package jetbrains.mps.logic.reactor.core
import jetbrains.mps.logic.reactor.evaluation.ConstraintOccurrence
import jetbrains.mps.logic.reactor.evaluation.StoreView
import jetbrains.mps.logic.reactor.program.Predicate
/**
* Allows access to the internal mechanics of the reactor.

View File

@ -18,7 +18,6 @@ package jetbrains.mps.logic.reactor.core
import com.github.andrewoma.dexx.collection.Maps
import jetbrains.mps.logic.reactor.core.internal.MatchRuleImpl
import jetbrains.mps.logic.reactor.core.internal.RuleMatcherImpl
import com.github.andrewoma.dexx.collection.Map as PersMap
import jetbrains.mps.logic.reactor.evaluation.MatchRule
import jetbrains.mps.logic.reactor.program.Rule

View File

@ -27,9 +27,9 @@ import jetbrains.mps.logic.reactor.program.Predicate
* @author Fedor Isakov
*/
data class Invocation(val predicate: Predicate,
val invocationArguments: List<*>,
val logicalContext: LogicalContext,
val invocationContext: InvocationContext) : PredicateInvocation
val invocationArguments: List<*>,
val logicalContext: LogicalContext,
val invocationContext: InvocationContext) : PredicateInvocation
{
override fun predicate(): Predicate = predicate
@ -43,6 +43,6 @@ data class Invocation(val predicate: Predicate,
}
fun Predicate.invocation(arguments: List<*>,
logicalContext: LogicalContext,
invocationContext: InvocationContext): PredicateInvocation =
logicalContext: LogicalContext,
invocationContext: InvocationContext): PredicateInvocation =
Invocation(this, arguments, logicalContext, invocationContext)

View File

@ -18,8 +18,6 @@ package jetbrains.mps.logic.reactor.core
import jetbrains.mps.logic.reactor.core.internal.LogicalImpl
import jetbrains.mps.logic.reactor.logical.Logical
import jetbrains.mps.logic.reactor.logical.MetaLogical
import jetbrains.mps.logic.reactor.logical.JoinableLogical
/**
* An observer interface of a [Logical] instance.

View File

@ -16,7 +16,6 @@
package jetbrains.mps.logic.reactor.core
import jetbrains.mps.logic.reactor.evaluation.ConstraintOccurrence
import jetbrains.mps.logic.reactor.evaluation.MatchRule
import jetbrains.mps.logic.reactor.program.Rule

View File

@ -31,9 +31,9 @@ import jetbrains.mps.logic.reactor.program.Constraint
* @author Fedor Isakov
*/
data class Occurrence (val constraint: Constraint,
val logicalContext: LogicalContext,
val arguments: List<*>,
val currentFrame: () -> FrameObservable) :
val logicalContext: LogicalContext,
val arguments: List<*>,
val currentFrame: () -> FrameObservable) :
ConstraintOccurrence,
LogicalObserver
{
@ -82,12 +82,12 @@ data class Occurrence (val constraint: Constraint,
}
fun Constraint.occurrence(arguments: List<*>,
currentFrame: () -> FrameObservable,
logicalContext: LogicalContext): Occurrence =
currentFrame: () -> FrameObservable,
logicalContext: LogicalContext): Occurrence =
Occurrence(this, logicalContext, arguments, currentFrame)
fun Constraint.occurrence(arguments: List<*>,
currentFrame: () -> FrameObservable): Occurrence =
currentFrame: () -> FrameObservable): Occurrence =
Occurrence(this, noLogicalContext, arguments, currentFrame)
private val noLogicalContext: LogicalContext = object: LogicalContext {

View File

@ -134,7 +134,7 @@ class RuleIndex(handlers: Iterable<Handler>) : Iterable<Rule> {
for ((idx, arg) in cst.arguments().withIndex()) {
val value2indices = anySelectors[idx]
when (arg) {
is MetaLogical<*> ->
is MetaLogical<*> ->
// all values should be accepted by a meta logical
wildcardSelectors[idx].set(ruleBit)
is Term ->

View File

@ -31,9 +31,9 @@ import com.github.andrewoma.dexx.collection.List as PList
*/
internal class EvaluationSessionImpl private constructor (
program: Program,
trace: EvaluationTrace,
sessionSolver: SessionSolver? = null) : EvaluationSessionEx(program, trace, sessionSolver)
program: Program,
trace: EvaluationTrace,
sessionSolver: SessionSolver? = null) : EvaluationSessionEx(program, trace, sessionSolver)
{
lateinit var controller: ControllerImpl

View File

@ -83,7 +83,7 @@ internal class OccurrenceMatcherImpl(val contextSubst: Subst? = null) : Occurren
}
else ->
when {
trg is Logical<*> -> ptnMatchAny(ptn, resolve(trg))
trg is Logical<*> -> ptnMatchAny(ptn, resolve(trg))
else ->
// compare two arbitrary values
(ptn == trg)
@ -93,7 +93,7 @@ internal class OccurrenceMatcherImpl(val contextSubst: Subst? = null) : Occurren
private fun matchAny(left: Any?, right: Any?): Boolean =
when (left) {
is Logical<*> ->
is Logical<*> ->
// match logical or its value
matchLogical(left.findRoot(), right)
is Term ->
@ -103,7 +103,7 @@ internal class OccurrenceMatcherImpl(val contextSubst: Subst? = null) : Occurren
}
else ->
when {
right is Logical<*> -> matchAny(left, resolve(right))
right is Logical<*> -> matchAny(left, resolve(right))
else -> // compare two arbitrary values
(left == right)
}

View File

@ -64,7 +64,7 @@ internal class Store : LogicalObserver {
storeItems.put(occ, item)
occ.arguments().forEach { arg ->
when (arg) {
is Logical<*> -> {
is Logical<*> -> {
l2o = l2o.put(IdWrapper(arg.findRoot()),
l2o[IdWrapper(arg.findRoot())]?.add(item) ?: singletonIdSet(item))
}
@ -114,7 +114,7 @@ internal class Store : LogicalObserver {
for (arg in occ.arguments()) {
val value = if (arg is Logical<*> && arg.isBound) arg.findRoot().value() else arg
when (value) {
is Logical<*> -> {
is Logical<*> -> {
// free logical
val argId = IdWrapper(value.findRoot())
this.logical2occurrences = logical2occurrences.put(argId,
@ -136,7 +136,7 @@ internal class Store : LogicalObserver {
for (arg in occ.arguments()) {
when (arg) {
is Logical<*> -> {
is Logical<*> -> {
val argId = IdWrapper(arg.findRoot())
logical2occurrences[argId]?.remove(occ)?.let { newList ->
this.logical2occurrences = if (newList.isEmpty) {

View File

@ -16,8 +16,6 @@
package jetbrains.mps.logic.reactor.evaluation;
import jetbrains.mps.logic.reactor.program.Rule;
/**
* Encapsulates a detailed report to be provided by the code being evaluated.
* Does not affect the evaluation flow.

View File

@ -1,5 +1,5 @@
/*
* Copyright 2014-2018 JetBrains s.r.o.
* Copyright 2014-2019 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -16,8 +16,6 @@
package jetbrains.mps.logic.reactor.evaluation;
import jetbrains.mps.logic.reactor.program.Rule;
import java.util.ArrayList;
import java.util.List;

View File

@ -1,5 +1,5 @@
/*
* Copyright 2014-2018 JetBrains s.r.o.
* Copyright 2014-2019 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -16,8 +16,6 @@
package jetbrains.mps.logic.reactor.evaluation;
import java.util.Collection;
/**
* @author Fedor Isakov
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright 2014-2017 JetBrains s.r.o.
* Copyright 2014-2019 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -17,10 +17,6 @@
package jetbrains.mps.logic.reactor.evaluation;
import jetbrains.mps.logic.reactor.logical.LogicalContext;
import jetbrains.mps.logic.reactor.program.Constraint;
import jetbrains.mps.logic.reactor.program.Predicate;
import jetbrains.mps.logic.reactor.program.PredicateSymbol;
import jetbrains.mps.logic.reactor.program.Program;
/**

View File

@ -1,5 +1,5 @@
/*
* Copyright 2014-2017 JetBrains s.r.o.
* Copyright 2014-2019 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -17,14 +17,6 @@
package jetbrains.mps.logic.reactor.evaluation;
import jetbrains.mps.logic.reactor.logical.LogicalContext;
import jetbrains.mps.logic.reactor.program.AndItem;
import jetbrains.mps.logic.reactor.program.Predicate;
import jetbrains.mps.logic.reactor.program.PredicateSymbol;
import java.util.HashMap;
import java.util.Map;
/**
* // FIXME to be merged with EvaluationSession
* Is used to provide an interface for handlers and solvers working together in a single session.

View File

@ -298,7 +298,7 @@ class TermGraphUnifier {
private fun idSymbol(symbol: Any): Any =
when (symbol) {
is String -> symbol.intern()
is Logical<*> -> symbol.findRoot()
is Logical<*> -> symbol.findRoot()
else -> symbol
}

View File

@ -15,11 +15,6 @@
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>jetbrains.mps.logic.conreactor</groupId>
<artifactId>conreactor-api</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>jetbrains.mps.logic.conreactor</groupId>
<artifactId>conreactor-core</artifactId>

View File

@ -19,9 +19,11 @@ package jetbrains.mps.unification.test;
import jetbrains.mps.logic.reactor.logical.Logical;
import jetbrains.mps.logic.reactor.logical.LogicalOwner;
import jetbrains.mps.unification.Term;
import sun.rmi.log.LogOutputStream;
import java.util.*;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
/**
* Created by fyodor on 09.06.2014.

View File

@ -1,12 +1,8 @@
package program
import jetbrains.mps.logic.reactor.evaluation.ConstraintOccurrence
import jetbrains.mps.logic.reactor.logical.LogicalContext
import jetbrains.mps.logic.reactor.logical.MetaLogical
import jetbrains.mps.logic.reactor.program.Constraint
import jetbrains.mps.logic.reactor.program.ConstraintSymbol
import jetbrains.mps.logic.reactor.program.Predicate
import java.util.*
/**
* @author Fedor Isakov

View File

@ -2,7 +2,6 @@
* @author Fedor Isakov
*/
import jetbrains.mps.logic.reactor.evaluation.SessionSolver
import jetbrains.mps.logic.reactor.logical.LogicalContext
import jetbrains.mps.logic.reactor.logical.MetaLogical
import jetbrains.mps.logic.reactor.program.*

View File

@ -2,9 +2,7 @@ import jetbrains.mps.logic.reactor.core.FrameObservable
import jetbrains.mps.logic.reactor.core.LogicalObserver
import jetbrains.mps.logic.reactor.core.Occurrence
import jetbrains.mps.logic.reactor.core.occurrence
import jetbrains.mps.logic.reactor.evaluation.ConstraintOccurrence
import jetbrains.mps.logic.reactor.logical.Logical
import jetbrains.mps.logic.reactor.logical.LogicalContext
import jetbrains.mps.logic.reactor.program.*
import program.MockConstraint
import solver.TestEqPredicate

View File

@ -1,6 +1,5 @@
import jetbrains.mps.logic.reactor.core.ReactorLifecycle
import jetbrains.mps.logic.reactor.evaluation.EvaluationSession
import jetbrains.mps.logic.reactor.evaluation.SessionSolver
import jetbrains.mps.logic.reactor.evaluation.StoreView
import jetbrains.mps.logic.reactor.logical.Logical
import jetbrains.mps.logic.reactor.program.ConstraintSymbol

View File

@ -16,7 +16,6 @@
package jetbrains.mps.unification.test;
import jetbrains.mps.logic.reactor.core.LogicalObserverKt;
import jetbrains.mps.logic.reactor.core.internal.LogicalImplKt;
import jetbrains.mps.logic.reactor.logical.JoinableLogical;
import jetbrains.mps.logic.reactor.logical.MetaLogical;

View File

@ -96,7 +96,6 @@
<modules>
<module>API</module>
<module>Core</module>
<module>Test</module>
</modules>