Skip to content

Commit

Permalink
Renaming
Browse files Browse the repository at this point in the history
  • Loading branch information
InversionSpaces committed Jul 26, 2023
1 parent 7c258c1 commit b2f0bb5
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package aqua.model.inline
import aqua.model.inline.state.{Arrows, Counter, Exports, Mangler}
import aqua.model.*
import aqua.model.inline.raw.{
ApplyBoolOpRawInliner,
ApplyBinaryOpRawInliner,
ApplyFunctorRawInliner,
ApplyGateRawInliner,
ApplyPropertiesRawInliner,
Expand Down Expand Up @@ -55,8 +55,8 @@ object RawValueInliner extends Logging {
case ar: AbilityRaw =>
MakeAbilityRawInliner(ar, propertiesAllowed)

case abor: ApplyBoolOpRaw =>
ApplyBoolOpRawInliner(abor, propertiesAllowed)
case abbor: ApplyBinaryOpRaw =>
ApplyBinaryOpRawInliner(abbor, propertiesAllowed)

case cr: CallArrowRaw =>
CallArrowRawInliner(cr, propertiesAllowed)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import cats.data.{NonEmptyList, NonEmptyMap, State}
import aqua.model.inline.Inline
import aqua.model.inline.RawValueInliner.{unfold, valueToModel}
import aqua.types.{ArrowType, ScalarType}
import aqua.raw.value.ApplyBoolOpRaw
import aqua.raw.value.ApplyBoolOpRaw.BoolOpRaw.*
import aqua.raw.value.ApplyBinaryOpRaw
import aqua.raw.value.ApplyBinaryOpRaw.Op.*

import cats.data.Chain
import cats.syntax.traverse.*
Expand All @@ -20,10 +20,10 @@ import cats.syntax.apply.*
import cats.syntax.foldable.*
import cats.syntax.applicative.*

object ApplyBoolOpRawInliner extends RawInliner[ApplyBoolOpRaw] {
object ApplyBinaryOpRawInliner extends RawInliner[ApplyBinaryOpRaw] {

override def apply[S: Mangler: Exports: Arrows](
raw: ApplyBoolOpRaw,
raw: ApplyBinaryOpRaw,
propertiesAllowed: Boolean
): State[S, (ValueModel, Inline)] = for {
left <- unfold(raw.left)
Expand Down Expand Up @@ -56,7 +56,7 @@ object ApplyBoolOpRawInliner extends RawInliner[ApplyBoolOpRaw] {
rmodel: ValueModel,
linline: Inline,
rinline: Inline,
op: ApplyBoolOpRaw.BoolOpRaw
op: ApplyBinaryOpRaw.Op
): State[S, (ValueModel, Inline)] = {
val (name, compareWith) = op match {
case And => ("and", true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import org.scalatest.flatspec.AnyFlatSpec
import org.scalatest.matchers.should.Matchers

import scala.collection.immutable.SortedMap
import aqua.raw.value.ApplyBoolOpRaw
import aqua.raw.value.ApplyBinaryOpRaw
import aqua.raw.value.CallArrowRaw

class RawValueInlinerSpec extends AnyFlatSpec with Matchers {
Expand Down
8 changes: 4 additions & 4 deletions model/raw/src/main/scala/aqua/raw/value/ValueRaw.scala
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,8 @@ case class AbilityRaw(fieldsAndArrows: NonEmptyMap[String, ValueRaw], abilityTyp
copy(fieldsAndArrows = fieldsAndArrows.map(_.renameVars(map)))
}

case class ApplyBoolOpRaw(
op: ApplyBoolOpRaw.BoolOpRaw,
case class ApplyBinaryOpRaw(
op: ApplyBinaryOpRaw.Op,
left: ValueRaw,
right: ValueRaw
) extends ValueRaw {
Expand All @@ -197,9 +197,9 @@ case class ApplyBoolOpRaw(
copy(left = left.renameVars(map), right = right.renameVars(map))
}

object ApplyBoolOpRaw {
object ApplyBinaryOpRaw {

enum BoolOpRaw {
enum Op {
case And
case Or
}
Expand Down
1 change: 1 addition & 0 deletions parser/src/main/scala/aqua/parser/lexer/ValueToken.scala
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,7 @@ case class PrefixToken[F[_]: Comonad](
prefix: F[PrefixToken.Op]
) extends ValueToken[F] {

def op: PrefixToken.Op = prefix.extract
override def as[T](v: T): F[T] = prefix.as(v)

override def mapK[K[_]: Comonad](fk: FunctionK[F, K]): ValueToken[K] =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,8 @@ class ValuesAlgebra[S[_], Alg[_]: Monad](implicit
case ca: CallArrowToken[S] =>
callArrowToRaw(ca).map(_.widen[ValueRaw])

case pr @ PrefixToken(o, _) => ???

case it @ InfixToken(l, r, _) =>
(valueToRaw(l), valueToRaw(r)).flatMapN {
case (Some(leftRaw), Some(rightRaw)) =>
Expand All @@ -189,10 +191,10 @@ class ValuesAlgebra[S[_], Alg[_]: Monad](implicit
} yield Option.when(
leftChecked && rightChecked
)(
ApplyBoolOpRaw(
ApplyBinaryOpRaw(
op = bop match {
case BoolOp.And => ApplyBoolOpRaw.BoolOpRaw.And
case BoolOp.Or => ApplyBoolOpRaw.BoolOpRaw.Or
case BoolOp.And => ApplyBinaryOpRaw.Op.And
case BoolOp.Or => ApplyBinaryOpRaw.Op.Or
},
left = leftRaw,
right = rightRaw
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import aqua.semantics.rules.definitions.DefinitionsInterpreter
import aqua.semantics.rules.types.TypesInterpreter
import aqua.semantics.rules.locations.LocationsAlgebra
import aqua.semantics.rules.locations.DummyLocationsInterpreter
import aqua.raw.value.{ApplyBoolOpRaw, LiteralRaw}
import aqua.raw.value.{ApplyBinaryOpRaw, LiteralRaw}
import aqua.raw.RawContext
import aqua.types.{LiteralType, ScalarType, TopType, Type}
import aqua.parser.lexer.{InfixToken, LiteralToken, Name, ValueToken, VarToken}
Expand Down Expand Up @@ -238,10 +238,10 @@ class ValuesAlgebraSpec extends AnyFlatSpec with Matchers with Inside {
.run(state)
.value

inside(res) { case Some(ApplyBoolOpRaw(bop, _, _)) =>
inside(res) { case Some(ApplyBinaryOpRaw(bop, _, _)) =>
bop shouldBe (op match {
case InfixToken.BoolOp.And => ApplyBoolOpRaw.BoolOpRaw.And
case InfixToken.BoolOp.Or => ApplyBoolOpRaw.BoolOpRaw.Or
case InfixToken.BoolOp.And => ApplyBinaryOpRaw.Op.And
case InfixToken.BoolOp.Or => ApplyBinaryOpRaw.Op.Or
})
}
}
Expand Down

0 comments on commit b2f0bb5

Please sign in to comment.