generated from JetBrains/intellij-platform-plugin-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Peva Blanchard
committed
Oct 29, 2023
1 parent
3e37541
commit d97c4bc
Showing
13 changed files
with
126 additions
and
109 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
core/src/main/kotlin/ch/kleis/lcaac/core/lang/register/ImportRegister.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
package ch.kleis.lcaac.core.lang.register | ||
|
||
import ch.kleis.lcaac.core.lang.expression.PackageExpression | ||
import ch.kleis.lcaac.core.lang.expression.EImport | ||
|
||
data class ImportKey(val name: String) | ||
|
||
typealias ImportRegister<Q> = Register<ImportKey, PackageExpression<Q>> | ||
typealias ImportRegister<Q> = Register<ImportKey, EImport<Q>> |
33 changes: 33 additions & 0 deletions
33
core/src/main/kotlin/ch/kleis/lcaac/core/lang/resolver/ImportResolver.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
package ch.kleis.lcaac.core.lang.resolver | ||
|
||
import ch.kleis.lcaac.core.lang.expression.EImport | ||
import ch.kleis.lcaac.core.lang.expression.EPackage | ||
import ch.kleis.lcaac.core.lang.expression.SubstanceType | ||
|
||
interface ImportResolver<Q> { | ||
fun resolve(import: EImport<Q>, hint: ImportHint? = null): EPackage<Q> | ||
} | ||
|
||
/* | ||
Hint allows further optimizations. | ||
E.g., when importing a substance from EF 3.1, | ||
no need to include all the substances in the retrieved package. | ||
*/ | ||
|
||
sealed interface ImportHint | ||
|
||
data class HintData( | ||
val name: String | ||
) : ImportHint | ||
|
||
data class HintProcess( | ||
val name: String, | ||
val labels: Map<String, String> = emptyMap(), | ||
) : ImportHint | ||
|
||
data class HintSubstance( | ||
val name: String, | ||
val type: SubstanceType, | ||
val compartment: String, | ||
val subCompartment: String? = null, | ||
) : ImportHint |
10 changes: 0 additions & 10 deletions
10
core/src/main/kotlin/ch/kleis/lcaac/core/lang/resolver/PkgResolver.kt
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
19 changes: 4 additions & 15 deletions
19
core/src/test/kotlin/ch/kleis/lcaac/core/lang/fixture/ResolverFixture.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
22 changes: 22 additions & 0 deletions
22
grammar/src/main/kotlin/ch/kleis/lcaac/grammar/CoreImportResolver.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
package ch.kleis.lcaac.grammar | ||
|
||
import ch.kleis.lcaac.core.lang.evaluator.EvaluatorException | ||
import ch.kleis.lcaac.core.lang.expression.EImport | ||
import ch.kleis.lcaac.core.lang.expression.EPackage | ||
import ch.kleis.lcaac.core.lang.resolver.ImportHint | ||
import ch.kleis.lcaac.core.lang.resolver.ImportResolver | ||
import ch.kleis.lcaac.core.math.QuantityOperations | ||
|
||
class CoreImportResolver<Q>( | ||
sourceSet: SourceSet, | ||
ops: QuantityOperations<Q>, | ||
loader: PkgLoader<Q> = PkgLoader(sourceSet, ops), | ||
) : ImportResolver<Q> { | ||
private val pkgs = sourceSet.pkgNames() | ||
.associateWith { loader.load(it) } | ||
|
||
// We ignore hint for now | ||
override fun resolve(import: EImport<Q>, hint: ImportHint?): EPackage<Q> { | ||
return pkgs[import.name] ?: throw EvaluatorException("unknown package ${import.name}") | ||
} | ||
} |
55 changes: 0 additions & 55 deletions
55
grammar/src/main/kotlin/ch/kleis/lcaac/grammar/CorePkgResolver.kt
This file was deleted.
Oops, something went wrong.
12 changes: 6 additions & 6 deletions
12
grammar/src/test/kotlin/ch/kleis/lcaac/grammar/ResolverFixture.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters