diff --git a/.gitignore b/.gitignore index 3fc068366..00f777121 100644 --- a/.gitignore +++ b/.gitignore @@ -64,21 +64,6 @@ target/ /.project *.iml -language/version -extensions/version -utils/version -client/version -snapi-client/version -sql-client/version -snapi-frontend/version -snapi-truffle/version -sql-parser/version -snapi-parser/version -python-client/version - -snapi-parser/src/main/java/raw/compiler/rql2/generated -sql-parser/src/main/java/raw/client/sql/generated - **/pom.xml.versionsBackup version diff --git a/compiler/src/main/scala/com/rawlabs/compiler/Docs.scala b/compiler/src/main/scala/com/rawlabs/compiler/Docs.scala index 8189e7cc6..aaf41b2c2 100644 --- a/compiler/src/main/scala/com/rawlabs/compiler/Docs.scala +++ b/compiler/src/main/scala/com/rawlabs/compiler/Docs.scala @@ -69,7 +69,7 @@ final case class ExampleDoc( result: Option[String] = None ) { if (example.contains("```")) throw new AssertionError( - "Example code contains ``` and this isn't supported. Must only contain RQL2 code." + "Example code contains ``` and this isn't supported. Must only contain Snapi code." ) // if ( // !example.contains("s3://") && !example.contains("https://") && !example diff --git a/launcher/src/main/java/raw/cli/MultilineParser.java b/launcher/src/main/java/raw/cli/MultilineParser.java index 5a8c31cac..671ac508f 100644 --- a/launcher/src/main/java/raw/cli/MultilineParser.java +++ b/launcher/src/main/java/raw/cli/MultilineParser.java @@ -35,7 +35,7 @@ // compilerService.parse(line) // // -// case Success(result: Rql2Program, _) => +// case Success(result: SnapiProgram, _) => // // If success, let's just check it is a program with an expression. // // If so, we keep going and ask for more input. // // This handles cases like: diff --git a/python-compiler/src/main/scala/com/rawlabs/python/compiler/PythonCompilerService.scala b/python-compiler/src/main/scala/com/rawlabs/python/compiler/PythonCompilerService.scala index 92e4b14f2..3aed791cf 100644 --- a/python-compiler/src/main/scala/com/rawlabs/python/compiler/PythonCompilerService.scala +++ b/python-compiler/src/main/scala/com/rawlabs/python/compiler/PythonCompilerService.scala @@ -29,7 +29,7 @@ class PythonCompilerService(engineDefinition: (Engine, Boolean))(implicit protec // This is actually the "default constructor" which obtains a new engine or reuses an existing one. // Note that the engine will be released when the service is stopped only IF this auxiliary constructor created it. // Otherwise, we expect the external party - e.g. the test framework - to close it. - // Refer to Rql2TruffleCompilerServiceTestContext to see the engine being created and released from the test + // Refer to SnapiTruffleCompilerServiceTestContext to see the engine being created and released from the test // framework, so that every test suite instance has a fresh engine. def this()(implicit settings: RawSettings) = { this(CompilerService.getEngine) diff --git a/snapi-compiler/src/main/java/module-info.java b/snapi-compiler/src/main/java/module-info.java index 62091979a..b16f22131 100644 --- a/snapi-compiler/src/main/java/module-info.java +++ b/snapi-compiler/src/main/java/module-info.java @@ -11,7 +11,7 @@ */ import com.rawlabs.compiler.CompilerServiceBuilder; -import com.rawlabs.snapi.compiler.Rql2CompilerServiceBuilder; +import com.rawlabs.snapi.compiler.SnapiCompilerServiceBuilder; module raw.snapi.client { requires scala.library; @@ -29,5 +29,5 @@ uses CompilerServiceBuilder; provides CompilerServiceBuilder with - Rql2CompilerServiceBuilder; + SnapiCompilerServiceBuilder; } diff --git a/snapi-compiler/src/main/resources/META-INF/services/com.rawlabs.compiler.CompilerServiceBuilder b/snapi-compiler/src/main/resources/META-INF/services/com.rawlabs.compiler.CompilerServiceBuilder index 4028de508..cbfa4f9c3 100644 --- a/snapi-compiler/src/main/resources/META-INF/services/com.rawlabs.compiler.CompilerServiceBuilder +++ b/snapi-compiler/src/main/resources/META-INF/services/com.rawlabs.compiler.CompilerServiceBuilder @@ -1 +1 @@ -com.rawlabs.snapi.compiler.Rql2CompilerServiceBuilder \ No newline at end of file +com.rawlabs.snapi.compiler.SnapiCompilerServiceBuilder \ No newline at end of file diff --git a/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/Rql2CompilerService.scala b/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/SnapiCompilerService.scala similarity index 92% rename from snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/Rql2CompilerService.scala rename to snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/SnapiCompilerService.scala index 89fd6b393..d38337e20 100644 --- a/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/Rql2CompilerService.scala +++ b/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/SnapiCompilerService.scala @@ -54,7 +54,7 @@ import com.rawlabs.compiler.{ ValidateResponse } import com.rawlabs.compiler.writers.{PolyglotBinaryWriter, PolyglotTextWriter} -import com.rawlabs.snapi.compiler.writers.{Rql2CsvWriter, Rql2JsonWriter} +import com.rawlabs.snapi.compiler.writers.{SnapiCsvWriter, SnapiJsonWriter} import com.rawlabs.utils.core.{RawSettings, RawUid, RawUtils} import org.bitbucket.inkytonik.kiama.relation.LeaveAlone import org.bitbucket.inkytonik.kiama.util.{Position, Positions} @@ -63,32 +63,32 @@ import com.rawlabs.snapi.frontend.base import com.rawlabs.snapi.frontend.base.errors._ import com.rawlabs.snapi.frontend.base.source.{BaseNode, Type} import com.rawlabs.snapi.frontend.base.{CompilerContext, TreeDeclDescription, TreeDescription, TreeParamDescription} -import com.rawlabs.snapi.frontend.rql2.source.{SourceNode, SourceProgram} -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.antlr4.{Antlr4SyntaxAnalyzer, ParseProgramResult, ParseTypeResult, ParserErrors} -import com.rawlabs.snapi.frontend.rql2.errors._ -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source.{SourceNode, SourceProgram} +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.antlr4.{Antlr4SyntaxAnalyzer, ParseProgramResult, ParseTypeResult, ParserErrors} +import com.rawlabs.snapi.frontend.snapi.errors._ +import com.rawlabs.snapi.frontend.snapi.source._ import com.rawlabs.snapi.frontend.inferrer.api.InferrerServiceProvider -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.{BinaryPackage, CsvPackage, JsonPackage, StringPackage} +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.{BinaryPackage, CsvPackage, JsonPackage, StringPackage} import java.io.{IOException, OutputStream} import scala.collection.mutable import scala.util.control.NonFatal -object Rql2CompilerService { - val LANGUAGE: Set[String] = Set("rql2", "rql2-truffle", "snapi") +object SnapiCompilerService { + val LANGUAGE: Set[String] = Set("snapi") val JARS_PATH = "raw.snapi.compiler.jars-path" } -class Rql2CompilerService(engineDefinition: (Engine, Boolean))(implicit protected val settings: RawSettings) +class SnapiCompilerService(engineDefinition: (Engine, Boolean))(implicit protected val settings: RawSettings) extends CompilerService with CustomClassAndModuleLoader - with Rql2TypeUtils { + with SnapiTypeUtils { private val maybeTruffleClassLoader: Option[ClassLoader] = { // If defined, contains the path used to create a classloader for the Truffle language runtime. - val maybeJarsPath = settings.getStringOpt(Rql2CompilerService.JARS_PATH) + val maybeJarsPath = settings.getStringOpt(SnapiCompilerService.JARS_PATH) // If the jars path is defined, create a custom class loader. maybeJarsPath.map(jarsPath => createCustomClassAndModuleLoader(jarsPath)) @@ -101,13 +101,13 @@ class Rql2CompilerService(engineDefinition: (Engine, Boolean))(implicit protecte // This is actually the "default constructor" which obtains a new engine or reuses an existing one. // Note that the engine will be released when the service is stopped only IF this auxiliary constructor created it. // Otherwise, we expect the external party - e.g. the test framework - to close it. - // Refer to Rql2TruffleCompilerServiceTestContext to see the engine being created and released from the test + // Refer to SnapiTruffleCompilerServiceTestContext to see the engine being created and released from the test // framework, so that every test suite instance has a fresh engine. def this()(implicit settings: RawSettings) = { this(CompilerService.getEngine) } - override def language: Set[String] = Rql2CompilerService.LANGUAGE + override def language: Set[String] = SnapiCompilerService.LANGUAGE // Map of users to compiler context. private val compilerContextCaches = new mutable.HashMap[RawUid, CompilerContext] @@ -115,7 +115,7 @@ class Rql2CompilerService(engineDefinition: (Engine, Boolean))(implicit protecte private def getCompilerContext(user: RawUid): CompilerContext = { compilerContextCachesLock.synchronized { - compilerContextCaches.getOrElseUpdate(user, createCompilerContext(user, "rql2-truffle")) + compilerContextCaches.getOrElseUpdate(user, createCompilerContext(user, "snapi")) } } @@ -199,19 +199,19 @@ class Rql2CompilerService(engineDefinition: (Engine, Boolean))(implicit protecte case (idn, programDecls) => val formattedDecls = programDecls.map { case TreeDeclDescription(None, outType, comment) => - DeclDescription(None, rql2TypeToRawType(outType), comment) + DeclDescription(None, snapiTypeToRawType(outType), comment) case TreeDeclDescription(Some(params), outType, comment) => val formattedParams = params.map { case TreeParamDescription(idn, tipe, required) => - ParamDescription(idn, rql2TypeToRawType(tipe), defaultValue = None, comment = None, required) + ParamDescription(idn, snapiTypeToRawType(tipe), defaultValue = None, comment = None, required) } - DeclDescription(Some(formattedParams), rql2TypeToRawType(outType), comment) + DeclDescription(Some(formattedParams), snapiTypeToRawType(outType), comment) } (idn, formattedDecls) } val programDescription = ProgramDescription( formattedDecls, - maybeType.map(t => DeclDescription(None, rql2TypeToRawType(t), None)), + maybeType.map(t => DeclDescription(None, snapiTypeToRawType(t), None)), comment ) GetProgramDescriptionSuccess(programDescription) @@ -233,19 +233,19 @@ class Rql2CompilerService(engineDefinition: (Engine, Boolean))(implicit protecte maxRows: Option[Long] ): ExecutionResponse = { val ctx = buildTruffleContext(environment, maybeOutputStream = Some(outputStream)) - ctx.initialize("rql") + ctx.initialize("snapi") ctx.enter() try { val (v, tipe) = maybeDecl match { case Some(decl) => // Eval the code and extract the function referred to by 'decl' val truffleSource = Source - .newBuilder("rql", source, "unnamed") + .newBuilder("snapi", source, "unnamed") .cached(false) // Disable code caching because of the inferrer. .build() ctx.eval(truffleSource) // 'decl' is found in the context bindings (by its name) - val bindings = ctx.getBindings("rql") + val bindings = ctx.getBindings("snapi") val f = bindings.getMember(decl) // its type is found in the polyglot bindings as '@type:' val funType = { @@ -289,7 +289,7 @@ class Rql2CompilerService(engineDefinition: (Engine, Boolean))(implicit protecte (result, tipe) case None => val truffleSource = Source - .newBuilder("rql", source, "unnamed") + .newBuilder("snapi", source, "unnamed") .cached(false) // Disable code caching because of the inferrer. .build() val result = ctx.eval(truffleSource) @@ -311,9 +311,9 @@ class Rql2CompilerService(engineDefinition: (Engine, Boolean))(implicit protecte case _ => false } val lineSeparator = if (windowsLineEnding) "\r\n" else "\n" - val w = new Rql2CsvWriter(outputStream, lineSeparator, maxRows) + val w = new SnapiCsvWriter(outputStream, lineSeparator, maxRows) try { - w.write(v, tipe.asInstanceOf[Rql2TypeWithProperties]) + w.write(v, tipe.asInstanceOf[SnapiTypeWithProperties]) w.flush() ExecutionSuccess(w.complete) } catch { @@ -325,9 +325,9 @@ class Rql2CompilerService(engineDefinition: (Engine, Boolean))(implicit protecte if (!JsonPackage.outputWriteSupport(tipe)) { return ExecutionRuntimeFailure("unsupported type") } - val w = new Rql2JsonWriter(outputStream, maxRows) + val w = new SnapiJsonWriter(outputStream, maxRows) try { - w.write(v, tipe.asInstanceOf[Rql2TypeWithProperties]) + w.write(v, tipe.asInstanceOf[SnapiTypeWithProperties]) w.flush() ExecutionSuccess(w.complete) } catch { @@ -663,7 +663,7 @@ class Rql2CompilerService(engineDefinition: (Engine, Boolean))(implicit protecte s"""let x: interval = Interval.Build(years=$years, months=$months, weeks=$weeks, days=$days, hours=$hours, minutes=$minutes, seconds=$seconds, millis=$millis) in x""" case _ => throw new CompilerServiceException("type not supported") } - val value = ctx.eval("rql", code) + val value = ctx.eval("snapi", code) ctx.asValue(value) } @@ -673,15 +673,15 @@ class Rql2CompilerService(engineDefinition: (Engine, Boolean))(implicit protecte ): Context = { // Add environment settings as hardcoded environment variables. val ctxBuilder = Context - .newBuilder("rql") + .newBuilder("snapi") .engine(engine) .environment("RAW_PROGRAM_ENVIRONMENT", ProgramEnvironment.serializeToString(environment)) .allowExperimentalOptions(true) .allowPolyglotAccess(PolyglotAccess.ALL) environment.options.get("staged-compiler").foreach { stagedCompiler => - ctxBuilder.option("rql.staged-compiler", stagedCompiler) + ctxBuilder.option("snapi.staged-compiler", stagedCompiler) } - ctxBuilder.option("rql.settings", settings.renderAsString) + ctxBuilder.option("snapi.settings", settings.renderAsString) // If the jars path is defined, create a custom class loader and set it as the host class loader. maybeTruffleClassLoader.map { classLoader => // Set the module class loader as the Truffle runtime classloader. @@ -699,7 +699,7 @@ class Rql2CompilerService(engineDefinition: (Engine, Boolean))(implicit protecte f: Context => T ): T = { val ctx = buildTruffleContext(environment) - ctx.initialize("rql") + ctx.initialize("snapi") ctx.enter() try { f(ctx) diff --git a/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/Rql2CompilerServiceBuilder.scala b/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/SnapiCompilerServiceBuilder.scala similarity index 79% rename from snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/Rql2CompilerServiceBuilder.scala rename to snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/SnapiCompilerServiceBuilder.scala index 023db8cdc..3c9e13e03 100644 --- a/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/Rql2CompilerServiceBuilder.scala +++ b/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/SnapiCompilerServiceBuilder.scala @@ -16,10 +16,10 @@ import com.rawlabs.compiler.CompilerServiceBuilder import com.rawlabs.compiler.CompilerService import com.rawlabs.utils.core.RawSettings -class Rql2CompilerServiceBuilder extends CompilerServiceBuilder { - override def language: Set[String] = Rql2CompilerService.LANGUAGE +class SnapiCompilerServiceBuilder extends CompilerServiceBuilder { + override def language: Set[String] = SnapiCompilerService.LANGUAGE override def build()(implicit settings: RawSettings): CompilerService = { - new Rql2CompilerService + new SnapiCompilerService } } diff --git a/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/writers/Rql2CsvWriter.scala b/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/writers/SnapiCsvWriter.scala similarity index 77% rename from snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/writers/Rql2CsvWriter.scala rename to snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/writers/SnapiCsvWriter.scala index 9535be11c..3e56960fe 100644 --- a/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/writers/Rql2CsvWriter.scala +++ b/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/writers/SnapiCsvWriter.scala @@ -16,7 +16,7 @@ import com.fasterxml.jackson.core.{JsonEncoding, JsonParser} import com.fasterxml.jackson.dataformat.csv.CsvGenerator.Feature.STRICT_CHECK_FOR_QUOTING import com.fasterxml.jackson.dataformat.csv.{CsvFactory, CsvSchema} import com.rawlabs.compiler.utils.RecordFieldsNaming -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ import org.graalvm.polyglot.Value import java.io.{Closeable, IOException, OutputStream} @@ -25,7 +25,7 @@ import java.util.Base64 import scala.annotation.tailrec import scala.util.control.NonFatal -final class Rql2CsvWriter(os: OutputStream, lineSeparator: String, maxRows: Option[Long]) extends Closeable { +final class SnapiCsvWriter(os: OutputStream, lineSeparator: String, maxRows: Option[Long]) extends Closeable { final private val gen = try { @@ -48,30 +48,30 @@ final class Rql2CsvWriter(os: OutputStream, lineSeparator: String, maxRows: Opti final private val timeFormatterNoMs = DateTimeFormatter.ofPattern("HH:mm:ss") final private val timestampFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS") final private val timestampFormatterNoMs = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss") - final private val tryable = Rql2IsTryableTypeProperty() - final private val nullable = Rql2IsNullableTypeProperty() + final private val tryable = SnapiIsTryableTypeProperty() + final private val nullable = SnapiIsNullableTypeProperty() private var maxRowsReached = false def complete: Boolean = !maxRowsReached @throws[IOException] - def write(v: Value, t: Rql2TypeWithProperties): Unit = { + def write(v: Value, t: SnapiTypeWithProperties): Unit = { if (t.props.contains(tryable)) { if (v.isException) { v.throwException() } else { - write(v, t.cloneAndRemoveProp(tryable).asInstanceOf[Rql2TypeWithProperties]) + write(v, t.cloneAndRemoveProp(tryable).asInstanceOf[SnapiTypeWithProperties]) } } else if (t.props.contains(nullable)) { if (v.isNull) { gen.writeString("") } else { - write(v, t.cloneAndRemoveProp(nullable).asInstanceOf[Rql2TypeWithProperties]) + write(v, t.cloneAndRemoveProp(nullable).asInstanceOf[SnapiTypeWithProperties]) } } else { t match { - case Rql2IterableType(recordType: Rql2RecordType, _) => + case SnapiIterableType(recordType: SnapiRecordType, _) => val columnNames = recordType.atts.map(_.idn) for (colName <- columnNames) { schemaBuilder.addColumn(colName) @@ -89,7 +89,7 @@ final class Rql2CsvWriter(os: OutputStream, lineSeparator: String, maxRows: Opti rowsWritten += 1 } } - case Rql2ListType(recordType: Rql2RecordType, _) => + case SnapiListType(recordType: SnapiRecordType, _) => val columnNames = recordType.atts.map(_.idn) for (colName <- columnNames) { schemaBuilder.addColumn(colName) @@ -108,7 +108,7 @@ final class Rql2CsvWriter(os: OutputStream, lineSeparator: String, maxRows: Opti } } - private def writeColumns(value: Value, recordType: Rql2RecordType): Unit = { + private def writeColumns(value: Value, recordType: SnapiRecordType): Unit = { val keys = new java.util.Vector[String] recordType.atts.foreach(a => keys.add(a.idn)) val distincted = RecordFieldsNaming.makeDistinct(keys) @@ -117,14 +117,14 @@ final class Rql2CsvWriter(os: OutputStream, lineSeparator: String, maxRows: Opti val field: String = distincted.get(i) val v = value.getMember(field) gen.writeFieldName(field) - writeValue(v, recordType.atts(i).tipe.asInstanceOf[Rql2TypeWithProperties]) + writeValue(v, recordType.atts(i).tipe.asInstanceOf[SnapiTypeWithProperties]) } gen.writeEndObject() } @throws[IOException] @tailrec - private def writeValue(v: Value, t: Rql2TypeWithProperties): Unit = { + private def writeValue(v: Value, t: SnapiTypeWithProperties): Unit = { if (t.props.contains(tryable)) { if (v.isException) { try { @@ -132,39 +132,39 @@ final class Rql2CsvWriter(os: OutputStream, lineSeparator: String, maxRows: Opti } catch { case NonFatal(ex) => gen.writeString(ex.getMessage) } - } else writeValue(v, t.cloneAndRemoveProp(tryable).asInstanceOf[Rql2TypeWithProperties]) + } else writeValue(v, t.cloneAndRemoveProp(tryable).asInstanceOf[SnapiTypeWithProperties]) } else if (t.props.contains(nullable)) { if (v.isNull) gen.writeNull() - else writeValue(v, t.cloneAndRemoveProp(nullable).asInstanceOf[Rql2TypeWithProperties]) + else writeValue(v, t.cloneAndRemoveProp(nullable).asInstanceOf[SnapiTypeWithProperties]) } else t match { - case _: Rql2BinaryType => + case _: SnapiBinaryType => val bytes = (0L until v.getBufferSize).map(v.readBufferByte) gen.writeString(Base64.getEncoder.encodeToString(bytes.toArray)) - case _: Rql2BoolType => gen.writeBoolean(v.asBoolean()) - case _: Rql2ByteType => gen.writeNumber(v.asByte().toInt) - case _: Rql2ShortType => gen.writeNumber(v.asShort().toInt) - case _: Rql2IntType => gen.writeNumber(v.asInt()) - case _: Rql2LongType => gen.writeNumber(v.asLong()) - case _: Rql2FloatType => gen.writeNumber(v.asFloat()) - case _: Rql2DoubleType => gen.writeNumber(v.asDouble()) - case _: Rql2DecimalType => gen.writeNumber(v.asString()) - case _: Rql2StringType => gen.writeString(v.asString()) - case _: Rql2DateType => + case _: SnapiBoolType => gen.writeBoolean(v.asBoolean()) + case _: SnapiByteType => gen.writeNumber(v.asByte().toInt) + case _: SnapiShortType => gen.writeNumber(v.asShort().toInt) + case _: SnapiIntType => gen.writeNumber(v.asInt()) + case _: SnapiLongType => gen.writeNumber(v.asLong()) + case _: SnapiFloatType => gen.writeNumber(v.asFloat()) + case _: SnapiDoubleType => gen.writeNumber(v.asDouble()) + case _: SnapiDecimalType => gen.writeNumber(v.asString()) + case _: SnapiStringType => gen.writeString(v.asString()) + case _: SnapiDateType => val date = v.asDate() gen.writeString(dateFormatter.format(date)) - case _: Rql2TimeType => + case _: SnapiTimeType => val time = v.asTime() val formatter = if (time.getNano > 0) timeFormatter else timeFormatterNoMs val formatted = formatter.format(time) gen.writeString(formatted) - case _: Rql2TimestampType => + case _: SnapiTimestampType => val date = v.asDate() val time = v.asTime() val dateTime = date.atTime(time) val formatter = if (time.getNano > 0) timestampFormatter else timestampFormatterNoMs val formatted = formatter.format(dateTime) gen.writeString(formatted) - case _: Rql2IntervalType => + case _: SnapiIntervalType => val duration = v.asDuration() val days = duration.toDays val hours = duration.toHoursPart diff --git a/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/writers/Rql2JsonWriter.scala b/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/writers/SnapiJsonWriter.scala similarity index 66% rename from snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/writers/Rql2JsonWriter.scala rename to snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/writers/SnapiJsonWriter.scala index 563852cbb..6c11407d4 100644 --- a/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/writers/Rql2JsonWriter.scala +++ b/snapi-compiler/src/main/scala/com/rawlabs/snapi/compiler/writers/SnapiJsonWriter.scala @@ -14,8 +14,8 @@ package com.rawlabs.snapi.compiler.writers import com.fasterxml.jackson.core.{JsonEncoding, JsonFactory, JsonParser} import com.rawlabs.compiler.utils.RecordFieldsNaming -import com.rawlabs.snapi.frontend.rql2.Rql2TypeUtils -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.SnapiTypeUtils +import com.rawlabs.snapi.frontend.snapi.source._ import org.graalvm.polyglot.Value import java.io.{Closeable, IOException, OutputStream} @@ -23,7 +23,7 @@ import java.time.format.DateTimeFormatter import java.util.Base64 import scala.util.control.NonFatal -final class Rql2JsonWriter(os: OutputStream, maxRows: Option[Long]) extends Closeable { +final class SnapiJsonWriter(os: OutputStream, maxRows: Option[Long]) extends Closeable { final private val gen = try { @@ -37,27 +37,27 @@ final class Rql2JsonWriter(os: OutputStream, maxRows: Option[Long]) extends Clos final private val dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd") final private val timeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss.SSS") final private val timestampFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS") - final private val tryable = Rql2IsTryableTypeProperty() - final private val nullable = Rql2IsNullableTypeProperty() + final private val tryable = SnapiIsTryableTypeProperty() + final private val nullable = SnapiIsNullableTypeProperty() private var maxRowsReached = false def complete: Boolean = !maxRowsReached - def write(v: Value, t: Rql2TypeWithProperties): Unit = { + def write(v: Value, t: SnapiTypeWithProperties): Unit = { if (t.props.contains(tryable)) { if (v.isException) { v.throwException() } else { - writeValue(v, t.cloneAndRemoveProp(tryable).asInstanceOf[Rql2TypeWithProperties], maxRows) + writeValue(v, t.cloneAndRemoveProp(tryable).asInstanceOf[SnapiTypeWithProperties], maxRows) } } else { - writeValue(v, t.cloneAndRemoveProp(tryable).asInstanceOf[Rql2TypeWithProperties], maxRows) + writeValue(v, t.cloneAndRemoveProp(tryable).asInstanceOf[SnapiTypeWithProperties], maxRows) } } @throws[IOException] - private def writeValue(v: Value, t: Rql2TypeWithProperties, maxRows: Option[Long]): Unit = { + private def writeValue(v: Value, t: SnapiTypeWithProperties, maxRows: Option[Long]): Unit = { if (t.props.contains(tryable)) { if (v.isException) { try { @@ -65,38 +65,38 @@ final class Rql2JsonWriter(os: OutputStream, maxRows: Option[Long]) extends Clos } catch { case NonFatal(ex) => gen.writeString(ex.getMessage) } - } else writeValue(v, t.cloneAndRemoveProp(tryable).asInstanceOf[Rql2TypeWithProperties], maxRows = maxRows) + } else writeValue(v, t.cloneAndRemoveProp(tryable).asInstanceOf[SnapiTypeWithProperties], maxRows = maxRows) } else if (t.props.contains(nullable)) { if (v.isNull) gen.writeNull() - else writeValue(v, t.cloneAndRemoveProp(nullable).asInstanceOf[Rql2TypeWithProperties], maxRows = maxRows) + else writeValue(v, t.cloneAndRemoveProp(nullable).asInstanceOf[SnapiTypeWithProperties], maxRows = maxRows) } else { t match { - case _: Rql2BinaryType => + case _: SnapiBinaryType => val bytes = (0L until v.getBufferSize).map(v.readBufferByte) gen.writeString(Base64.getEncoder.encodeToString(bytes.toArray)) - case _: Rql2BoolType => gen.writeBoolean(v.asBoolean()) - case _: Rql2ByteType => gen.writeNumber(v.asByte().toInt) - case _: Rql2ShortType => gen.writeNumber(v.asShort().toInt) - case _: Rql2IntType => gen.writeNumber(v.asInt()) - case _: Rql2LongType => gen.writeNumber(v.asLong()) - case _: Rql2FloatType => gen.writeNumber(v.asFloat()) - case _: Rql2DoubleType => gen.writeNumber(v.asDouble()) - case _: Rql2DecimalType => gen.writeNumber(v.asString()) - case _: Rql2StringType => gen.writeString(v.asString()) - case _: Rql2DateType => + case _: SnapiBoolType => gen.writeBoolean(v.asBoolean()) + case _: SnapiByteType => gen.writeNumber(v.asByte().toInt) + case _: SnapiShortType => gen.writeNumber(v.asShort().toInt) + case _: SnapiIntType => gen.writeNumber(v.asInt()) + case _: SnapiLongType => gen.writeNumber(v.asLong()) + case _: SnapiFloatType => gen.writeNumber(v.asFloat()) + case _: SnapiDoubleType => gen.writeNumber(v.asDouble()) + case _: SnapiDecimalType => gen.writeNumber(v.asString()) + case _: SnapiStringType => gen.writeString(v.asString()) + case _: SnapiDateType => val date = v.asDate() gen.writeString(dateFormatter.format(date)) - case _: Rql2TimeType => + case _: SnapiTimeType => val time = v.asTime() val formatted = timeFormatter.format(time) gen.writeString(formatted) - case _: Rql2TimestampType => + case _: SnapiTimestampType => val date = v.asDate() val time = v.asTime() val dateTime = date.atTime(time) val formatted = timestampFormatter.format(dateTime) gen.writeString(formatted) - case _: Rql2IntervalType => + case _: SnapiIntervalType => val duration = v.asDuration() val days = duration.toDays val hours = duration.toHoursPart @@ -108,7 +108,7 @@ final class Rql2JsonWriter(os: OutputStream, maxRows: Option[Long]) extends Clos if (minutes > 0) s.append(s"$minutes minutes, ") s.append(s"$seconds seconds") gen.writeString(s.toString()) - case Rql2RecordType(atts, _) => + case SnapiRecordType(atts, _) => gen.writeStartObject() val keys = new java.util.Vector[String] atts.foreach(a => keys.add(a.idn)) @@ -117,10 +117,10 @@ final class Rql2JsonWriter(os: OutputStream, maxRows: Option[Long]) extends Clos val field = distincted.get(i) gen.writeFieldName(field) val a = v.getMember(field) - writeValue(a, atts(i).tipe.asInstanceOf[Rql2TypeWithProperties], maxRows = None) + writeValue(a, atts(i).tipe.asInstanceOf[SnapiTypeWithProperties], maxRows = None) } gen.writeEndObject() - case Rql2IterableType(innerType, _) => + case SnapiIterableType(innerType, _) => var rowsWritten = 0L val iterator = v.getIterator gen.writeStartArray() @@ -129,30 +129,30 @@ final class Rql2JsonWriter(os: OutputStream, maxRows: Option[Long]) extends Clos maxRowsReached = true } else { val next = iterator.getIteratorNextElement - writeValue(next, innerType.asInstanceOf[Rql2TypeWithProperties], maxRows = None) + writeValue(next, innerType.asInstanceOf[SnapiTypeWithProperties], maxRows = None) rowsWritten += 1 } } gen.writeEndArray() - case Rql2ListType(innerType, _) => + case SnapiListType(innerType, _) => val size = v.getArraySize gen.writeStartArray() for (i <- 0L until Math.min(size, maxRows.getOrElse(Long.MaxValue))) { val next = v.getArrayElement(i) - writeValue(next, innerType.asInstanceOf[Rql2TypeWithProperties], maxRows = None) + writeValue(next, innerType.asInstanceOf[SnapiTypeWithProperties], maxRows = None) } gen.writeEndArray() // Check if maxRows is reached. maxRows.foreach(max => maxRowsReached = size > max) - case Rql2OrType(tipes, _) if tipes.exists(Rql2TypeUtils.getProps(_).nonEmpty) => + case SnapiOrType(tipes, _) if tipes.exists(SnapiTypeUtils.getProps(_).nonEmpty) => // A trick to make sur inner types do not have properties - val inners = tipes.map { case inner: Rql2TypeWithProperties => Rql2TypeUtils.resetProps(inner, Set.empty) } - val orProps = tipes.flatMap { case inner: Rql2TypeWithProperties => inner.props }.toSet - writeValue(v, Rql2OrType(inners, orProps), maxRows = None) - case Rql2OrType(tipes, _) => + val inners = tipes.map { case inner: SnapiTypeWithProperties => SnapiTypeUtils.resetProps(inner, Set.empty) } + val orProps = tipes.flatMap { case inner: SnapiTypeWithProperties => inner.props }.toSet + writeValue(v, SnapiOrType(inners, orProps), maxRows = None) + case SnapiOrType(tipes, _) => val index = v.invokeMember("getIndex").asInt() val actualValue = v.invokeMember("getValue") - writeValue(actualValue, tipes(index).asInstanceOf[Rql2TypeWithProperties], maxRows = None) + writeValue(actualValue, tipes(index).asInstanceOf[SnapiTypeWithProperties], maxRows = None) case _ => throw new RuntimeException("unsupported type") } diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/Rql2CompilerServiceTestContext.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/SnapiCompilerServiceTestContext.scala similarity index 87% rename from snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/Rql2CompilerServiceTestContext.scala rename to snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/SnapiCompilerServiceTestContext.scala index 21df4c0e5..b7e6691ea 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/Rql2CompilerServiceTestContext.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/SnapiCompilerServiceTestContext.scala @@ -16,17 +16,17 @@ import com.rawlabs.compiler.CompilerServiceTestContext import com.rawlabs.utils.core.{RawTestSuite, RawUtils, SettingsTestContext} import org.graalvm.polyglot.Engine -trait Rql2CompilerServiceTestContext extends CompilerServiceTestContext { +trait SnapiCompilerServiceTestContext extends CompilerServiceTestContext { this: RawTestSuite with SettingsTestContext => - var rql2TruffleCompilerService: Rql2CompilerService = _ + var snapiTruffleCompilerService: SnapiCompilerService = _ var engine: Engine = _ override def beforeAll(): Unit = { super.beforeAll() - property("raw.compiler.impl", "rql2-truffle") + property("raw.compiler.impl", "snapi") // Create an isolated Truffle Engine val options = new java.util.HashMap[String, String]() @@ -75,14 +75,14 @@ trait Rql2CompilerServiceTestContext extends CompilerServiceTestContext { .options(options) .build() - rql2TruffleCompilerService = new Rql2CompilerService((engine, false)) - setCompilerService(rql2TruffleCompilerService) + snapiTruffleCompilerService = new SnapiCompilerService((engine, false)) + setCompilerService(snapiTruffleCompilerService) } override def afterAll(): Unit = { - if (rql2TruffleCompilerService != null) { - RawUtils.withSuppressNonFatalException(rql2TruffleCompilerService.stop()) - rql2TruffleCompilerService = null + if (snapiTruffleCompilerService != null) { + RawUtils.withSuppressNonFatalException(snapiTruffleCompilerService.stop()) + snapiTruffleCompilerService = null } if (engine != null) { RawUtils.withSuppressNonFatalException(engine.close()) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/Rql2OutputTestContext.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/SnapiOutputTestContext.scala similarity index 76% rename from snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/Rql2OutputTestContext.scala rename to snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/SnapiOutputTestContext.scala index 9d975cdd7..ae9f9216e 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/Rql2OutputTestContext.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/SnapiOutputTestContext.scala @@ -18,8 +18,8 @@ import com.fasterxml.jackson.databind.{JsonNode, ObjectMapper} import com.fasterxml.jackson.module.scala.{ClassTagExtensions, DefaultScalaModule} import com.google.common.collect.HashMultiset import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2.FrontendSyntaxAnalyzer -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.FrontendSyntaxAnalyzer +import com.rawlabs.snapi.frontend.snapi.source._ import com.rawlabs.utils.core.{RawTestSuite, SettingsTestContext} import org.bitbucket.inkytonik.kiama.util.Positions @@ -28,7 +28,7 @@ import scala.collection.JavaConverters._ import scala.math.BigDecimal.RoundingMode import scala.util.control.NonFatal -trait Rql2OutputTestContext { +trait SnapiOutputTestContext { this: RawTestSuite with SettingsTestContext => def outputParser( @@ -56,15 +56,15 @@ trait Rql2OutputTestContext { def recurse(n: JsonNode, t: Type): Any = { t match { - case t: Rql2TypeWithProperties if t.props.contains(Rql2IsTryableTypeProperty()) => - if (n.isTextual && !t.isInstanceOf[Rql2DecimalType] /* */ ) n.asText() - else recurse(n, t.cloneAndRemoveProp(Rql2IsTryableTypeProperty())) - case t: Rql2TypeWithProperties if t.props.contains(Rql2IsNullableTypeProperty()) && n.isNull => null - case _: Rql2BoolType if n.isBoolean => n.asBoolean - case _: Rql2StringType if n.isTextual => n.asText - case _: Rql2ByteType | _: Rql2ShortType | _: Rql2IntType if n.canConvertToInt => n.asInt - case _: Rql2LongType if n.canConvertToLong => n.asLong - case _: Rql2FloatType | _: Rql2DoubleType => + case t: SnapiTypeWithProperties if t.props.contains(SnapiIsTryableTypeProperty()) => + if (n.isTextual && !t.isInstanceOf[SnapiDecimalType] /* */ ) n.asText() + else recurse(n, t.cloneAndRemoveProp(SnapiIsTryableTypeProperty())) + case t: SnapiTypeWithProperties if t.props.contains(SnapiIsNullableTypeProperty()) && n.isNull => null + case _: SnapiBoolType if n.isBoolean => n.asBoolean + case _: SnapiStringType if n.isTextual => n.asText + case _: SnapiByteType | _: SnapiShortType | _: SnapiIntType if n.canConvertToInt => n.asInt + case _: SnapiLongType if n.canConvertToLong => n.asLong + case _: SnapiFloatType | _: SnapiDoubleType => // TODO (msb): Validate it's the actual type complying with our format val v = { val double = n.asDouble @@ -78,7 +78,7 @@ trait Rql2OutputTestContext { } if (floatingPointAsString) v.toString else v - case _: Rql2DecimalType => + case _: SnapiDecimalType => try { val decimal = BigDecimal(n.asText()) precision match { @@ -88,19 +88,19 @@ trait Rql2OutputTestContext { } catch { case NonFatal(_) => n.asText() // in case it was tryable } - case _: Rql2DateType if n.isTextual => + case _: SnapiDateType if n.isTextual => // TODO (msb): Validate it's the actual type complying with our format n.asText - case _: Rql2TimeType if n.isTextual => + case _: SnapiTimeType if n.isTextual => // TODO (msb): Validate it's the actual type complying with our format n.asText - case _: Rql2TimestampType if n.isTextual => + case _: SnapiTimestampType if n.isTextual => // TODO (msb): Validate it's the actual type complying with our format n.asText - case _: Rql2IntervalType if n.isTextual => + case _: SnapiIntervalType if n.isTextual => // TODO (msb): Validate it's the actual type complying with our format n.asText - case _: Rql2BinaryType if n.isTextual => + case _: SnapiBinaryType if n.isTextual => // TODO (msb): Validate it's the actual type complying with our format n.asText // case OrType(tipes) => @@ -113,15 +113,15 @@ trait Rql2OutputTestContext { // } // } // throw new AssertionError("couldn't parse OrType with any parser") - case Rql2RecordType(atts, _) if n.isObject => + case SnapiRecordType(atts, _) if n.isObject => val fields = n.fields().asScala.toVector val tipes = atts.map(_.tipe) assert(fields.length == tipes.length) fields.zip(tipes).map { case (p, t) => p.getKey -> recurse(p.getValue, t) } - case _: Rql2ListType | _: Rql2IterableType if n.isArray => + case _: SnapiListType | _: SnapiIterableType if n.isArray => val inner = t match { - case Rql2ListType(inner, _) => inner - case Rql2IterableType(inner, _) => inner + case SnapiListType(inner, _) => inner + case SnapiIterableType(inner, _) => inner } if (!ordered) { @@ -131,7 +131,7 @@ trait Rql2OutputTestContext { } else { n.iterator().asScala.map(n1 => recurse(n1, inner)).toList } - case Rql2OrType(tipes, _) => tipes.foreach { t => + case SnapiOrType(tipes, _) => tipes.foreach { t => tipes.foreach { t => try { return recurse(n, t) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/Rql2TestContext.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/SnapiTestContext.scala similarity index 99% rename from snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/Rql2TestContext.scala rename to snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/SnapiTestContext.scala index e465aded5..32dc4b4d6 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/Rql2TestContext.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/SnapiTestContext.scala @@ -56,7 +56,7 @@ import com.rawlabs.protocol.compiler.{ SnowflakeConfig } import com.rawlabs.utils.core._ -import com.rawlabs.snapi.compiler.Rql2OutputTestContext +import com.rawlabs.snapi.compiler.SnapiOutputTestContext import java.io.{ByteArrayOutputStream, FileWriter} import java.nio.charset.{Charset, StandardCharsets} @@ -199,14 +199,14 @@ object TestCredentials { } -trait Rql2TestContext +trait SnapiTestContext extends RawTestSuite with Matchers with SettingsTestContext with TrainingWheelsContext with CompilerServiceTestContext - with Rql2OutputTestContext - with Rql2CompilerServiceTestContext + with SnapiOutputTestContext + with SnapiCompilerServiceTestContext with LocalInferrerTestContext { private val secrets = new mutable.HashMap[String, String]() @@ -215,7 +215,7 @@ trait Rql2TestContext protected val programOptions = new mutable.HashMap[String, String]() - override def compilerService: Rql2CompilerService = super.compilerService.asInstanceOf[Rql2CompilerService] + override def compilerService: SnapiCompilerService = super.compilerService.asInstanceOf[SnapiCompilerService] def authorizedUser: RawUid = RawUid("janeUid") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/benchmark/BenchmarkTests.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/benchmark/BenchmarkTests.scala index 9d94e8e57..0746730c6 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/benchmark/BenchmarkTests.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/benchmark/BenchmarkTests.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.benchmark -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BenchmarkTests extends Rql2TestContext { +class BenchmarkTests extends SnapiTestContext { property("raw.training-wheels", "false") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/benchmark/StressTests.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/benchmark/StressTests.scala index 2aa48a9e5..03506c9a7 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/benchmark/StressTests.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/benchmark/StressTests.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.benchmark -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class StressTests extends Rql2TestContext { +class StressTests extends SnapiTestContext { val shouldBeExecuted = false diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/BinaryPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/BinaryPackageTest.scala index a7121b021..64da5d1f5 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/BinaryPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/BinaryPackageTest.scala @@ -12,13 +12,13 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import java.nio.file.Path import java.util.Base64 -class BinaryPackageTest extends Rql2TestContext { +class BinaryPackageTest extends SnapiTestContext { // FIXME (msb): This should use cast to support string to binary and do .getBytes("utf-8") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/BytePackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/BytePackageTest.scala index 5e293144b..cd222824a 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/BytePackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/BytePackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BytePackageTest extends Rql2TestContext { +class BytePackageTest extends SnapiTestContext { test(""" Byte.From(1)""")(it => it should evaluateTo("1b")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/CsvPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/CsvPackageTest.scala index 70566075d..42c7a78a0 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/CsvPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/CsvPackageTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class CsvPackageTest extends Rql2TestContext { +class CsvPackageTest extends SnapiTestContext { val ttt = "\"\"\"" @@ -590,5 +590,5 @@ class CsvPackageTest extends Rql2TestContext { |{a: 1, b: 10, c: "N"} |]""".stripMargin)) - private def isTruffle = compilerService.language.contains("rql2-truffle") + private def isTruffle = compilerService.language.contains("snapi") } diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/DatePackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/DatePackageTest.scala index 0de73c359..8d29db8fd 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/DatePackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/DatePackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class DatePackageTest extends Rql2TestContext { +class DatePackageTest extends SnapiTestContext { test("Date.Build(2022, 1, 15)") { it => it should typeAs("date") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/DecimalPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/DecimalPackageTest.scala index 313444a29..a73b7979b 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/DecimalPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/DecimalPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class DecimalPackageTest extends Rql2TestContext { +class DecimalPackageTest extends SnapiTestContext { test("""Decimal.Round(Decimal.From("1.423"), 2)""") { it => it should evaluateTo("""1.42q""") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/DoublePackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/DoublePackageTest.scala index 2cbb61446..50595c709 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/DoublePackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/DoublePackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class DoublePackageTest extends Rql2TestContext { +class DoublePackageTest extends SnapiTestContext { test(""" Double.From(1)""")(it => it should evaluateTo("1.0")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/EnvironmentPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/EnvironmentPackageTest.scala index b27d66f48..a92094ae2 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/EnvironmentPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/EnvironmentPackageTest.scala @@ -13,11 +13,11 @@ package com.rawlabs.snapi.compiler.tests.builtin import com.google.common.collect.HashMultiset -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import scala.collection.JavaConverters._ -class EnvironmentPackageTest extends Rql2TestContext { +class EnvironmentPackageTest extends SnapiTestContext { test("""Environment.Secret("my-typo")""")(it => it should runErrorAs("unknown secret: my-typo")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/ErrorPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/ErrorPackageTest.scala index 055938239..a00b8c023 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/ErrorPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/ErrorPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class ErrorPackageTest extends Rql2TestContext { +class ErrorPackageTest extends SnapiTestContext { test(""" Error.Build("an error")""")(it => it should runErrorAs("an error")) test(""" Error.Build("an error") == Error.Build("an error")""")(it => it should runErrorAs("an error")) test(""" Error.Build("an error") == Error.Build("another error")""")(it => it should runErrorAs("an error")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/FloatPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/FloatPackageTest.scala index eb857b3ef..23cc8e050 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/FloatPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/FloatPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class FloatPackageTest extends Rql2TestContext { +class FloatPackageTest extends SnapiTestContext { test(""" Float.From(1)""")(it => it should evaluateTo("1.0f")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/FunctionPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/FunctionPackageTest.scala index ed25ede75..4b717d296 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/FunctionPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/FunctionPackageTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.builtin import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class FunctionPackageTest extends Rql2TestContext { +class FunctionPackageTest extends SnapiTestContext { test("""Function.InvokeAfter(() -> 1 +1, 10)""".stripMargin)(_ should evaluateTo("2")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/HttpPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/HttpPackageTest.scala index 179be81d4..78761f40f 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/HttpPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/HttpPackageTest.scala @@ -14,12 +14,12 @@ package com.rawlabs.snapi.compiler.tests.builtin import com.sun.net.httpserver.{BasicAuthenticator, HttpExchange, HttpServer} import com.typesafe.scalalogging.StrictLogging -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import java.net.InetSocketAddress import scala.collection.JavaConverters._ -class HttpPackageTest extends Rql2TestContext { +class HttpPackageTest extends SnapiTestContext { val expectedUser = "user" val expectedPassword = "passwd" diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/IntPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/IntPackageTest.scala index fec46f778..fead8da42 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/IntPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/IntPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class IntPackageTest extends Rql2TestContext { +class IntPackageTest extends SnapiTestContext { test(""" Int.From(1)""")(it => it should evaluateTo("1")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/IntervalPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/IntervalPackageTest.scala index 15df90470..0247b32aa 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/IntervalPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/IntervalPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class IntervalPackageTest extends Rql2TestContext { +class IntervalPackageTest extends SnapiTestContext { test("Interval.Build(months=12) == Interval.Build(years=1)")(_ should evaluateTo("true")) test("Interval.Build(hours=24) == Interval.Build(days=1)")(_ should evaluateTo("true")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/JsonPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/JsonPackageTest.scala index 17a67e01a..5301e8385 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/JsonPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/JsonPackageTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class JsonPackageTest extends Rql2TestContext { +class JsonPackageTest extends SnapiTestContext { private val junkAfter10Items = tempFile("""[ | {"a": 1, "b": "#1", "c": 1.1}, @@ -711,6 +711,6 @@ class JsonPackageTest extends Rql2TestContext { test("""Json.Parse("[10, 9, 8]", type string)""")(_ should runErrorAs("unexpected token: START_ARRAY")) test("""Json.Parse("{\"a\": 12}", type string)""")(_ should runErrorAs("unexpected token: START_OBJECT")) - private def isTruffle = compilerService.language.contains("rql2-truffle") + private def isTruffle = compilerService.language.contains("snapi") } diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/LocationPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/LocationPackageTest.scala index 24c146e0b..1cb4f420f 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/LocationPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/LocationPackageTest.scala @@ -12,13 +12,13 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext import java.nio.file.Path -class LocationPackageTest extends Rql2TestContext with LocalLocationsTestContext { +class LocationPackageTest extends SnapiTestContext with LocalLocationsTestContext { test(s""" |let diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/LongPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/LongPackageTest.scala index 9aab40266..d7ce7f7c6 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/LongPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/LongPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LongPackageTest extends Rql2TestContext { +class LongPackageTest extends SnapiTestContext { test(""" Long.From(1)""")(it => it should evaluateTo("1L")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/MathPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/MathPackageTest.scala index ed1420466..3f4bf5934 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/MathPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/MathPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class MathPackageTest extends Rql2TestContext { +class MathPackageTest extends SnapiTestContext { // Nullable - Tryable tests test("""Math.Sin(if(true) then 3.13 else null)""")(_ should beCloseTo("0.011592393936158275")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/NullablePackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/NullablePackageTest.scala index e2a08e94e..336a0c2a3 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/NullablePackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/NullablePackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class NullablePackageTest extends Rql2TestContext { +class NullablePackageTest extends SnapiTestContext { test("""Nullable.IsNull(null)""")(_ should evaluateTo("true")) test("""Nullable.IsNull(1)""")(_ should evaluateTo("false")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/NullableTryablePackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/NullableTryablePackageTest.scala index ac581a45c..29d9dcb56 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/NullableTryablePackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/NullableTryablePackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class NullableTryablePackageTest extends Rql2TestContext { +class NullableTryablePackageTest extends SnapiTestContext { test("""1 / null""")(_ should evaluateTo("null")) test(""" 1.0 / (if true then null else 2)""")(_ should evaluateTo("null")) test(""" 1.0 / (if false then null else 2)""")(_ should evaluateTo("0.5")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/RecordPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/RecordPackageTest.scala index 4cc1ff7c9..a610992c3 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/RecordPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/RecordPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RecordPackageTest extends Rql2TestContext { +class RecordPackageTest extends SnapiTestContext { test("""Record.Build(a = 1, b = "Hello")""".stripMargin)(_ should (typeAs("record(a: int, b: string)") and run)) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/RegexPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/RegexPackageTest.scala index bf8c7eb80..b8f646cee 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/RegexPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/RegexPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RegexPackageTest extends Rql2TestContext { +class RegexPackageTest extends SnapiTestContext { test("""Regex.Replace("Heelloo John", "[aeiou]+", "_")""")(it => it should evaluateTo(""" "H_ll_ J_hn" """)) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/S3PackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/S3PackageTest.scala index 88a97b7fc..72af42dbd 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/S3PackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/S3PackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class S3PackageTest extends Rql2TestContext { +class S3PackageTest extends SnapiTestContext { import com.rawlabs.snapi.compiler.tests.TestCredentials._ diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/ShortPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/ShortPackageTest.scala index 33b6561c1..a6b3cecb8 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/ShortPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/ShortPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class ShortPackageTest extends Rql2TestContext { +class ShortPackageTest extends SnapiTestContext { test(""" Short.From(1)""")(it => it should evaluateTo("1s")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/StringPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/StringPackageTest.scala index 1a5ed0ed4..fb5154a24 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/StringPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/StringPackageTest.scala @@ -13,13 +13,13 @@ package com.rawlabs.snapi.compiler.tests.builtin import java.util.Base64 -import com.rawlabs.snapi.frontend.rql2._ +import com.rawlabs.snapi.frontend.snapi._ import com.rawlabs.snapi.compiler.tests.FailAfterNServer -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import java.nio.file.Path -class StringPackageTest extends Rql2TestContext with FailAfterNServer { +class StringPackageTest extends SnapiTestContext with FailAfterNServer { // Each line has 11 bytes so it will fail at line 10 more or less. override def failServices: Seq[FailAfter] = Seq( diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/SuccessPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/SuccessPackageTest.scala index 9b32affc8..791b59730 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/SuccessPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/SuccessPackageTest.scala @@ -14,9 +14,9 @@ package com.rawlabs.snapi.compiler.tests.builtin import com.rawlabs.utils.core.TestData import org.scalatest.prop.TableDrivenPropertyChecks -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class SuccessPackageTest extends Rql2TestContext with TableDrivenPropertyChecks { +class SuccessPackageTest extends SnapiTestContext with TableDrivenPropertyChecks { test("Success.Build(1)")(_ should evaluateTo("1")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TimePackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TimePackageTest.scala index 8d31f0842..ff528f2f4 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TimePackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TimePackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class TimePackageTest extends Rql2TestContext { +class TimePackageTest extends SnapiTestContext { test("Time.Build(9, 30)") { it => it should typeAs("time") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TimestampPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TimestampPackageTest.scala index a08c065a3..897b0e540 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TimestampPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TimestampPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class TimestampPackageTest extends Rql2TestContext { +class TimestampPackageTest extends SnapiTestContext { test("Timestamp.Build(2022, 1, 15, 9, 30)") { it => it should typeAs("timestamp") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TryPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TryPackageTest.scala index 222cfd330..a96130125 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TryPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TryPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class TryPackageTest extends Rql2TestContext { +class TryPackageTest extends SnapiTestContext { test("""Try.IsError("hi")""")(_ should evaluateTo("false")) test("""Try.IsError(1)""")(_ should evaluateTo("false")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TypePackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TypePackageTest.scala index 2d9c1cbd7..c0a177f2e 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TypePackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/TypePackageTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class TypePackageTest extends Rql2TestContext { +class TypePackageTest extends SnapiTestContext { ignore("""Types.Merge(int, float)""")(it => it should typeAs("float")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/XmlPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/XmlPackageTest.scala index 45c2a9dfd..9954c5490 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/XmlPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/XmlPackageTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.builtin -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class XmlPackageTest extends Rql2TestContext { +class XmlPackageTest extends SnapiTestContext { private val allTypes = tempFile(""" | 120 diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionDistinctTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionDistinctTest.scala index 63c80b37a..839139666 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionDistinctTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionDistinctTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.builtin.collection -import com.rawlabs.snapi.frontend.rql2.errors.ItemsNotComparable -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi.errors.ItemsNotComparable +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class CollectionDistinctTest extends Rql2TestContext { +class CollectionDistinctTest extends SnapiTestContext { test("""let numbers = Collection.From([5, 2, 4, 2, 2, 4, 5]) |in Collection.Distinct(numbers)""".stripMargin)(_ should evaluateTo("[2, 4, 5]")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionExplodeTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionExplodeTest.scala index f129eb9ee..0496eab47 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionExplodeTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionExplodeTest.scala @@ -12,11 +12,11 @@ package com.rawlabs.snapi.compiler.tests.builtin.collection -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext -class CollectionExplodeTest extends Rql2TestContext with LocalLocationsTestContext { +class CollectionExplodeTest extends SnapiTestContext with LocalLocationsTestContext { private val nba = tempFile("""[ | {"team": {"name": "Bulls", "city": "Chicago"}, diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionGroupByTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionGroupByTest.scala index 466f168bd..a58b84db7 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionGroupByTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionGroupByTest.scala @@ -12,12 +12,12 @@ package com.rawlabs.snapi.compiler.tests.builtin.collection -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.errors.KeyNotComparable -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.errors.KeyNotComparable +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext -class CollectionGroupByTest extends Rql2TestContext with LocalLocationsTestContext { +class CollectionGroupByTest extends SnapiTestContext with LocalLocationsTestContext { private val lineitemType = """record( | l_orderkey: int, diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionJoinTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionJoinTest.scala index 3bad916f4..ce67aed4c 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionJoinTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionJoinTest.scala @@ -12,12 +12,12 @@ package com.rawlabs.snapi.compiler.tests.builtin.collection -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.errors.KeyNotComparable -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.errors.KeyNotComparable +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext -class CollectionJoinTest extends Rql2TestContext with LocalLocationsTestContext { +class CollectionJoinTest extends SnapiTestContext with LocalLocationsTestContext { test(snapi"""let regions = Csv.InferAndRead("$tpchRegionCsvLocal"), | nations = Csv.InferAndRead("$tpchNationCsvLocal") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionMinMaxTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionMinMaxTest.scala index b8992c0ac..ed81ae7fe 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionMinMaxTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionMinMaxTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.builtin.collection -import com.rawlabs.snapi.frontend.rql2.errors.ItemsNotComparable -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi.errors.ItemsNotComparable +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class CollectionMinMaxTest extends Rql2TestContext { +class CollectionMinMaxTest extends SnapiTestContext { // Date test(""" diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionMkStringTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionMkStringTest.scala index 11e40ba89..ceccfb017 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionMkStringTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionMkStringTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin.collection -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class CollectionMkStringTest extends Rql2TestContext { +class CollectionMkStringTest extends SnapiTestContext { test("""let items = Collection.Build() |in Collection.MkString(items, sep="|")""".stripMargin)(_ should evaluateTo(""" "" """)) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionOrderByTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionOrderByTest.scala index 74dc3aa0d..be6148804 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionOrderByTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionOrderByTest.scala @@ -12,12 +12,12 @@ package com.rawlabs.snapi.compiler.tests.builtin.collection -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.errors.{InvalidOrderSpec, KeyNotComparable, OrderSpecMustFollowOrderingFunction} -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.errors.{InvalidOrderSpec, KeyNotComparable, OrderSpecMustFollowOrderingFunction} +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext -class CollectionOrderByTest extends Rql2TestContext with LocalLocationsTestContext { +class CollectionOrderByTest extends SnapiTestContext with LocalLocationsTestContext { private val coolBandsWithoutHeader = tempFile("""Bee Gees|Maurice|Gibb|1949 |Bee Gees|Robin|Gibb|1949 diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionPackageTest.scala index 9d428cbcb..10709b45f 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionPackageTest.scala @@ -12,13 +12,13 @@ package com.rawlabs.snapi.compiler.tests.builtin.collection -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.errors.ItemsNotComparable -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.errors.ItemsNotComparable +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import java.nio.file.Path -class CollectionPackageTest extends Rql2TestContext { +class CollectionPackageTest extends SnapiTestContext { // a test to check if there are multiple instances of generators test("""let a = Collection.Build(1,2,3), diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionRangeTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionRangeTest.scala index 43be5804e..354ac28d4 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionRangeTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionRangeTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin.collection -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class CollectionRangeTest extends Rql2TestContext { +class CollectionRangeTest extends SnapiTestContext { // Long.Range diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionUnionTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionUnionTest.scala index 65877eb7a..9fb18e8c5 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionUnionTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/collection/CollectionUnionTest.scala @@ -12,11 +12,11 @@ package com.rawlabs.snapi.compiler.tests.builtin.collection -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext -class CollectionUnionTest extends Rql2TestContext with LocalLocationsTestContext { +class CollectionUnionTest extends SnapiTestContext with LocalLocationsTestContext { test("Collection.Union(Collection.Build(1,2,3), Collection.Build(4,5,6))")(_ should evaluateTo("[1,2,3,4,5,6]")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/AwsPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/AwsPackageTest.scala index 5a3bc6950..9d0ec4277 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/AwsPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/AwsPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin.credentials -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class AwsPackageTest extends Rql2TestContext { +class AwsPackageTest extends SnapiTestContext { val accessKeyId = sys.env("RAW_AWS_ACCESS_KEY_ID") val secretAccessKey = sys.env("RAW_AWS_SECRET_ACCESS_KEY") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/EnvironmentPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/EnvironmentPackageTest.scala index bef9a0360..f528f9815 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/EnvironmentPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/EnvironmentPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin.credentials -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class EnvironmentPackageTest extends Rql2TestContext { +class EnvironmentPackageTest extends SnapiTestContext { secret("my-secret", "my-secret-value") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/LocationPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/LocationPackageTest.scala index 995dfb367..e87f318ba 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/LocationPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/LocationPackageTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin.credentials -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LocationPackageTest extends Rql2TestContext { +class LocationPackageTest extends SnapiTestContext { import com.rawlabs.snapi.compiler.tests.TestCredentials._ diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/MySQLPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/MySQLPackageTest.scala index a4965f877..46c204df9 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/MySQLPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/MySQLPackageTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.builtin.credentials import com.rawlabs.snapi.compiler.tests.TestCredentials -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class MySQLPackageTest extends Rql2TestContext { +class MySQLPackageTest extends SnapiTestContext { import TestCredentials._ diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/OraclePackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/OraclePackageTest.scala index 13a17baa9..35b9204b2 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/OraclePackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/OraclePackageTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.builtin.credentials import com.rawlabs.snapi.compiler.tests.TestCredentials -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class OraclePackageTest extends Rql2TestContext { +class OraclePackageTest extends SnapiTestContext { import TestCredentials._ @@ -26,7 +26,7 @@ class OraclePackageTest extends Rql2TestContext { rdbms("oracle", oracleCreds) test(s"""Oracle.InferAndRead("oracle", "$oracleSchema", "$oracleTable")""") { it => - assume(!compilerService.language.contains("rql2-truffle")) + assume(!compilerService.language.contains("snapi")) it should evaluateTo( """[ | {A: 1, B: 1, C: Decimal.From(1.5), D: Decimal.From(1.5), X: "x1", Y: "y1"}, @@ -41,7 +41,7 @@ class OraclePackageTest extends Rql2TestContext { | type collection(record(A: int, B: int, C: double, D: double, X: string, Y: string)) |)""".stripMargin ) { it => - assume(!compilerService.language.contains("rql2-truffle")) + assume(!compilerService.language.contains("snapi")) it should evaluateTo( """[ | {A: 1, B: 1, C: 1.5, D: 1.5, X: "x1", Y: "y1"}, @@ -55,7 +55,7 @@ class OraclePackageTest extends Rql2TestContext { s"""Oracle.Read("oracle", "$oracleSchema", "$oracleTable", | type collection(record(A: int, B: int, C: double, D: double, X: int, Y: string)))""".stripMargin ) { it => - assume(!compilerService.language.contains("rql2-truffle")) + assume(!compilerService.language.contains("snapi")) it should orderEvaluateTo( """[ | {A: 1, B: 1, C: 1.5, D: 1.5, X: Error.Build("failed to read value: column 'X': Fail to convert to internal representation"), Y: "y1"}, @@ -69,7 +69,7 @@ class OraclePackageTest extends Rql2TestContext { s"""Oracle.InferAndRead("$oracleDb", "$oracleSchema", "$oracleTable", | host = "${oracleCreds.getHost}", username = "${oracleCreds.getUser}", password = "${oracleCreds.getPassword}")""".stripMargin ) { it => - assume(!compilerService.language.contains("rql2-truffle")) + assume(!compilerService.language.contains("snapi")) it should evaluateTo( """[ | {A: 1, B: 1, C: Decimal.From(1.5), D: Decimal.From(1.5), X: "x1", Y: "y1"}, @@ -84,7 +84,7 @@ class OraclePackageTest extends Rql2TestContext { | type collection(record(A: int, B: int, C: double, D: double, X: int, Y: string)), | host = "${oracleCreds.getHost}", username = "${oracleCreds.getUser}", password = "${oracleCreds.getPassword}" )""".stripMargin ) { it => - assume(!compilerService.language.contains("rql2-truffle")) + assume(!compilerService.language.contains("snapi")) it should orderEvaluateTo( """[ | {A: 1, B: 1, C: 1.5, D: 1.5, X: Error.Build("failed to read value: column 'X': Fail to convert to internal representation"), Y: "y1"}, @@ -123,7 +123,7 @@ class OraclePackageTest extends Rql2TestContext { | type collection(record(A: int, B: int, C: double, D: double, X: int, Y: string)) |)""".stripMargin ) { it => - assume(!compilerService.language.contains("rql2-truffle")) + assume(!compilerService.language.contains("snapi")) it should runErrorAs(s"""o credential found for oracle: $oracleSchema""".stripMargin) } @@ -135,7 +135,7 @@ class OraclePackageTest extends Rql2TestContext { | host = "oracle.localdomain", username = "${oracleCreds.getUser}", password = "${oracleCreds.getPassword}" |)""".stripMargin ) { it => - assume(!compilerService.language.contains("rql2-truffle")) + assume(!compilerService.language.contains("snapi")) it should runErrorAs("""unknown host: oracle.localdomain""".stripMargin) } @@ -147,7 +147,7 @@ class OraclePackageTest extends Rql2TestContext { | host = "localhost", username = "${oracleCreds.getUser}", password = "${oracleCreds.getPassword}" |)""".stripMargin ) { it => - assume(!compilerService.language.contains("rql2-truffle")) + assume(!compilerService.language.contains("snapi")) it should runErrorAs("error connecting to database: localhost") } @@ -160,7 +160,7 @@ class OraclePackageTest extends Rql2TestContext { | host = "test-oracle.raw-labs.com", username = "${oracleCreds.getUser}", password = "${oracleCreds.getPassword}", port = 1234 |)""".stripMargin ) { it => - assume(!compilerService.language.contains("rql2-truffle")) + assume(!compilerService.language.contains("snapi")) it should runErrorAs("""connect timed out: test-oracle.raw-labs.com""".stripMargin) } @@ -172,7 +172,7 @@ class OraclePackageTest extends Rql2TestContext { | host = "test-oracle.raw-labs.com" |)""".stripMargin ) { it => - assume(!compilerService.language.contains("rql2-truffle")) + assume(!compilerService.language.contains("snapi")) it should runErrorAs("""username is required""".stripMargin) } @@ -184,7 +184,7 @@ class OraclePackageTest extends Rql2TestContext { | host = "test-oracle.raw-labs.com", username = "${oracleCreds.getUser}", password = "wrong!" |)""".stripMargin ) { it => - assume(!compilerService.language.contains("rql2-truffle")) + assume(!compilerService.language.contains("snapi")) it should runErrorAs("""authentication failed""".stripMargin) } diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/PostgreSQLPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/PostgreSQLPackageTest.scala index 42dbe6919..35900c126 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/PostgreSQLPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/PostgreSQLPackageTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.builtin.credentials import com.rawlabs.snapi.compiler.tests.TestCredentials -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class PostgreSQLPackageTest extends Rql2TestContext { +class PostgreSQLPackageTest extends SnapiTestContext { import TestCredentials._ diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/S3PackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/S3PackageTest.scala index ae3159e8b..a5b2febca 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/S3PackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/S3PackageTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.builtin.credentials import com.rawlabs.snapi.compiler.tests.TestCredentials -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class S3PackageTest extends Rql2TestContext { +class S3PackageTest extends SnapiTestContext { import TestCredentials._ diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/SQLServerPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/SQLServerPackageTest.scala index 420517148..4abfef216 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/SQLServerPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/SQLServerPackageTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.builtin.credentials import com.rawlabs.snapi.compiler.tests.TestCredentials -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class SQLServerPackageTest extends Rql2TestContext { +class SQLServerPackageTest extends SnapiTestContext { import TestCredentials._ diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/SnowflakePackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/SnowflakePackageTest.scala index b811db0db..cd74fff56 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/SnowflakePackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/credentials/SnowflakePackageTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.builtin.credentials import com.rawlabs.snapi.compiler.tests.TestCredentials -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class SnowflakePackageTest extends Rql2TestContext { +class SnowflakePackageTest extends SnapiTestContext { import TestCredentials._ diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListDistinctTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListDistinctTest.scala index 227dc5fb9..14d981a4c 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListDistinctTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListDistinctTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.builtin.list -import com.rawlabs.snapi.frontend.rql2.errors.ItemsNotComparable -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi.errors.ItemsNotComparable +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class ListDistinctTest extends Rql2TestContext { +class ListDistinctTest extends SnapiTestContext { test("""let numbers = [5, 2, 4, 2, 2, 4, 5] |in List.Distinct(numbers)""".stripMargin)(_ should evaluateTo("[2, 4, 5]")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListExplodeTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListExplodeTest.scala index e4cdedbcd..192a2cb76 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListExplodeTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListExplodeTest.scala @@ -12,11 +12,11 @@ package com.rawlabs.snapi.compiler.tests.builtin.list -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext -class ListExplodeTest extends Rql2TestContext with LocalLocationsTestContext { +class ListExplodeTest extends SnapiTestContext with LocalLocationsTestContext { private val nba = tempFile("""[ | {"team": {"name": "Bulls", "city": "Chicago"}, diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListGroupByTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListGroupByTest.scala index 0ae654283..64db22baf 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListGroupByTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListGroupByTest.scala @@ -12,12 +12,12 @@ package com.rawlabs.snapi.compiler.tests.builtin.list -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.errors.KeyNotComparable -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.errors.KeyNotComparable +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext -class ListGroupByTest extends Rql2TestContext with LocalLocationsTestContext { +class ListGroupByTest extends SnapiTestContext with LocalLocationsTestContext { private val lineitemType = """record( | l_orderkey: int, diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListJoinTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListJoinTest.scala index 0988d6295..d66e02905 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListJoinTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListJoinTest.scala @@ -12,12 +12,12 @@ package com.rawlabs.snapi.compiler.tests.builtin.list -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.errors.KeyNotComparable -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.errors.KeyNotComparable +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext -class ListJoinTest extends Rql2TestContext with LocalLocationsTestContext { +class ListJoinTest extends SnapiTestContext with LocalLocationsTestContext { private val listOfCountries = """[ | {region: "AFRICA", nation: "ALGERIA"}, diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListMinMaxTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListMinMaxTest.scala index c1c3e1ed0..247aa6ef1 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListMinMaxTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListMinMaxTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.builtin.list -import com.rawlabs.snapi.frontend.rql2.errors.ItemsNotComparable -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi.errors.ItemsNotComparable +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class ListMinMaxTest extends Rql2TestContext { +class ListMinMaxTest extends SnapiTestContext { // Date test(""" diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListMkStringTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListMkStringTest.scala index 0ff1d6b25..3559624f3 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListMkStringTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListMkStringTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.builtin.list -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class ListMkStringTest extends Rql2TestContext { +class ListMkStringTest extends SnapiTestContext { test("""let items = List.Build() |in List.MkString(items, sep="|")""".stripMargin)(_ should evaluateTo(""" "" """)) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListOrderByTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListOrderByTest.scala index 8d4b79334..169db6d98 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListOrderByTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListOrderByTest.scala @@ -12,12 +12,12 @@ package com.rawlabs.snapi.compiler.tests.builtin.list -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.errors.{InvalidOrderSpec, KeyNotComparable} -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.errors.{InvalidOrderSpec, KeyNotComparable} +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext -class ListOrderByTest extends Rql2TestContext with LocalLocationsTestContext { +class ListOrderByTest extends SnapiTestContext with LocalLocationsTestContext { // using String.ReadLines test(snapi"""let regions = List.From(Collection.Transform( diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListPackageTest.scala index ef205fee8..df4c89466 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListPackageTest.scala @@ -12,13 +12,13 @@ package com.rawlabs.snapi.compiler.tests.builtin.list -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.errors.ItemsNotComparable -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.errors.ItemsNotComparable +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import java.nio.file.Path -class ListPackageTest extends Rql2TestContext { +class ListPackageTest extends SnapiTestContext { test("""["Hello", Error.Build("Argh!!"), null]""") { _ should evaluateTo("""["Hello", Error.Build("Argh!!"), null]""") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListUnionTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListUnionTest.scala index f1fedddfc..386544fb2 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListUnionTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/list/ListUnionTest.scala @@ -12,11 +12,11 @@ package com.rawlabs.snapi.compiler.tests.builtin.list -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext -class ListUnionTest extends Rql2TestContext with LocalLocationsTestContext { +class ListUnionTest extends SnapiTestContext with LocalLocationsTestContext { test("List.Union([1,2,3], [4,5,6])")(_ should evaluateTo("[1,2,3,4,5,6]")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/hints/SemanticAnalyzerHintsTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/hints/SemanticAnalyzerHintsTest.scala index 69a6b3a2c..a8437990a 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/hints/SemanticAnalyzerHintsTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/hints/SemanticAnalyzerHintsTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.hints -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class SemanticAnalyzerHintsTest extends Rql2TestContext { +class SemanticAnalyzerHintsTest extends SnapiTestContext { test("""Rekord.Build(a=1)""")(it => it should typeErrorAs("did you mean Record.Build?")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspAiValidateTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspAiValidateTest.scala index 6f6140448..97d603a38 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspAiValidateTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspAiValidateTest.scala @@ -13,10 +13,10 @@ package com.rawlabs.snapi.compiler.tests.lsp import com.rawlabs.compiler.ValidateResponse -import com.rawlabs.snapi.frontend.rql2.errors.OutputTypeRequiredForRecursiveFunction -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi.errors.OutputTypeRequiredForRecursiveFunction +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LspAiValidateTest extends Rql2TestContext { +class LspAiValidateTest extends SnapiTestContext { test("AI validate package that does not exist") { _ => val code = """let diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspBrokenCodeTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspBrokenCodeTest.scala index d8d99468c..4f7bc3918 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspBrokenCodeTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspBrokenCodeTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.lsp import com.rawlabs.compiler.{HoverResponse, Pos, TypeCompletion} -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LspBrokenCodeTest extends Rql2TestContext { +class LspBrokenCodeTest extends SnapiTestContext { test("broken code hover test") { _ => val code = """let diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspCommentsFormatTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspCommentsFormatTest.scala index e9d28e0b1..524cdc994 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspCommentsFormatTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspCommentsFormatTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.lsp import com.rawlabs.compiler.FormatCodeResponse -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LspCommentsFormatTest extends Rql2TestContext { +class LspCommentsFormatTest extends SnapiTestContext { def assertFormattedCode( code: String, diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspCompilationMessagesTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspCompilationMessagesTest.scala index 8cfee964e..d15789aba 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspCompilationMessagesTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspCompilationMessagesTest.scala @@ -14,8 +14,8 @@ package com.rawlabs.snapi.compiler.tests.lsp import com.rawlabs.compiler.{ErrorMessage, WarningMessage} import com.rawlabs.snapi.frontend.base.errors.{MissingSecretWarning, UnknownDecl} -import com.rawlabs.snapi.compiler.tests.Rql2TestContext -class LspCompilationMessagesTest extends Rql2TestContext { +import com.rawlabs.snapi.compiler.tests.SnapiTestContext +class LspCompilationMessagesTest extends SnapiTestContext { test("should return a waning") { _ => val code = """let a = Environment.Secret("a") in a""".stripMargin diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspDefinitionTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspDefinitionTest.scala index 63536740b..bbb893d01 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspDefinitionTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspDefinitionTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.lsp import com.rawlabs.compiler.{GoToDefinitionResponse, Pos} -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LspDefinitionTest extends Rql2TestContext { +class LspDefinitionTest extends SnapiTestContext { test("go to definition identifier at usage test") { _ => val code = """let diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspDotAutoCompleteTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspDotAutoCompleteTest.scala index fc83df065..2013a2d4a 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspDotAutoCompleteTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspDotAutoCompleteTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.lsp import com.rawlabs.compiler.{AutoCompleteResponse, FieldCompletion, PackageEntryCompletion, Pos} -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LspDotAutoCompleteTest extends Rql2TestContext { +class LspDotAutoCompleteTest extends SnapiTestContext { private def dotAutoCompleteTest(code: String, line: Int, col: Int, expectedFields: Seq[(String, String)]): Unit = { val AutoCompleteResponse(entries) = dotAutoComplete(code, Pos(line, col)) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspFormatCodeTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspFormatCodeTest.scala index e9572d1d7..6d66a90d2 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspFormatCodeTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspFormatCodeTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.lsp import com.rawlabs.compiler.FormatCodeResponse -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LspFormatCodeTest extends Rql2TestContext { +class LspFormatCodeTest extends SnapiTestContext { def assertFormattedCode(code: String, expected: String) = { val FormatCodeResponse(Some(formattedCode)) = formatCode(code) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspHoverTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspHoverTest.scala index ae07b4c54..d850bf2c3 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspHoverTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspHoverTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.lsp import com.rawlabs.compiler.{HoverResponse, PackageCompletion, PackageEntryCompletion, Pos, TypeCompletion} -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LspHoverTest extends Rql2TestContext { +class LspHoverTest extends SnapiTestContext { test("hover identifier at definition test") { _ => val code = """let diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspRenameTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspRenameTest.scala index 1e7c39473..f4bc78980 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspRenameTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspRenameTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.lsp import com.rawlabs.compiler.{Pos, RenameResponse} -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LspRenameTest extends Rql2TestContext { +class LspRenameTest extends SnapiTestContext { test("rename identifier at usage test") { _ => val code = """let diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspValidateTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspValidateTest.scala index a954c1ae0..c33f92281 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspValidateTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspValidateTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.lsp import com.rawlabs.compiler.ValidateResponse -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LspValidateTest extends Rql2TestContext { +class LspValidateTest extends SnapiTestContext { test("validate simple code test") { _ => val code = """String.Lower("Hello")""".stripMargin diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspWordAutoCompleteTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspWordAutoCompleteTest.scala index d6ec94036..08c9c822a 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspWordAutoCompleteTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/lsp/LspWordAutoCompleteTest.scala @@ -24,9 +24,9 @@ import com.rawlabs.compiler.{ Pos, TypeCompletion } -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LspWordAutoCompleteTest extends Rql2TestContext { +class LspWordAutoCompleteTest extends SnapiTestContext { private lazy val allTypes = Seq( ("byte", Some("")), diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/KryoPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/KryoPackageTest.scala index 949ed45d2..090fd38af 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/KryoPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/KryoPackageTest.scala @@ -14,9 +14,9 @@ package com.rawlabs.snapi.compiler.tests.offheap import com.rawlabs.utils.core.TestData import org.scalatest.prop.TableDrivenPropertyChecks -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class KryoPackageTest extends Rql2TestContext with TableDrivenPropertyChecks { +class KryoPackageTest extends SnapiTestContext with TableDrivenPropertyChecks { private val cases = Table( ("value", "type"), diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapDatasets.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapDatasets.scala index 3f1c5fdb3..15de9c1e5 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapDatasets.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapDatasets.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.offheap -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -trait OffHeapDatasets { this: Rql2TestContext => +trait OffHeapDatasets { this: SnapiTestContext => protected val N = 100 diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapDistinctTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapDistinctTest.scala index 8c13b3292..adbbf1997 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapDistinctTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapDistinctTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.offheap -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class OffHeapDistinctTest extends Rql2TestContext { +class OffHeapDistinctTest extends SnapiTestContext { // This is to ensure the test triggers spill to disk. property("raw.runtime.external.disk-block-max-size", "30kB") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapEquiJoinTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapEquiJoinTest.scala index 1251072af..8490ed548 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapEquiJoinTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapEquiJoinTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.offheap -import com.rawlabs.snapi.compiler.tests.Rql2TestContext -import com.rawlabs.snapi.frontend.rql2._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext +import com.rawlabs.snapi.frontend.snapi._ -class OffHeapEquiJoinTest extends Rql2TestContext with OffHeapDatasets { +class OffHeapEquiJoinTest extends SnapiTestContext with OffHeapDatasets { // This is to ensure the test triggers spill to disk. property("raw.runtime.external.disk-block-max-size", "20kB") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapGroupTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapGroupTest.scala index 695367e70..e301ee876 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapGroupTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapGroupTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.offheap -import com.rawlabs.snapi.compiler.tests.Rql2TestContext -import com.rawlabs.snapi.frontend.rql2._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext +import com.rawlabs.snapi.frontend.snapi._ -class OffHeapGroupTest extends Rql2TestContext with OffHeapDatasets { +class OffHeapGroupTest extends SnapiTestContext with OffHeapDatasets { // This is to ensure the test triggers spill to disk. property("raw.runtime.external.disk-block-max-size", "20kB") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapJoinTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapJoinTest.scala index 960b0ed39..3564d1a1a 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapJoinTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapJoinTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.offheap -import com.rawlabs.snapi.compiler.tests.Rql2TestContext -import com.rawlabs.snapi.frontend.rql2._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext +import com.rawlabs.snapi.frontend.snapi._ -class OffHeapJoinTest extends Rql2TestContext with OffHeapDatasets { +class OffHeapJoinTest extends SnapiTestContext with OffHeapDatasets { // This is to ensure the test triggers spill to disk. property("raw.runtime.external.disk-block-max-size", "20kB") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapOrderByTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapOrderByTest.scala index 7a22b5422..fa78818dd 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapOrderByTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/offheap/OffHeapOrderByTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.offheap -import com.rawlabs.snapi.compiler.tests.Rql2TestContext -import com.rawlabs.snapi.frontend.rql2._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext +import com.rawlabs.snapi.frontend.snapi._ -class OffHeapOrderByTest extends Rql2TestContext with OffHeapDatasets { +class OffHeapOrderByTest extends SnapiTestContext with OffHeapDatasets { // This is to ensure the test triggers spill to disk. property("raw.runtime.external.disk-block-max-size", "20kB") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/BinaryOutputTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/BinaryOutputTest.scala index b78565041..5471a0950 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/BinaryOutputTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/BinaryOutputTest.scala @@ -13,13 +13,13 @@ package com.rawlabs.snapi.compiler.tests.output import org.apache.commons.io.FileUtils -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext import java.io.File import java.nio.file.Files -class BinaryOutputTest extends Rql2TestContext with LocalLocationsTestContext { +class BinaryOutputTest extends SnapiTestContext with LocalLocationsTestContext { option("output-format", "binary") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/CsvOutputTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/CsvOutputTest.scala index af72266d4..618670c72 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/CsvOutputTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/CsvOutputTest.scala @@ -13,13 +13,13 @@ package com.rawlabs.snapi.compiler.tests.output import com.rawlabs.utils.core.RawUtils -import com.rawlabs.snapi.compiler.tests.Rql2TestContext -import com.rawlabs.snapi.frontend.rql2._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext +import com.rawlabs.snapi.frontend.snapi._ import com.rawlabs.utils.core._ import java.nio.file.Files -class CsvOutputTest extends Rql2TestContext { +class CsvOutputTest extends SnapiTestContext { option("output-format", "csv") @@ -119,7 +119,7 @@ class CsvOutputTest extends Rql2TestContext { val path = Files.createTempFile("", "") try { it should saveToInFormat(path, "csv") - if (compilerService.language.contains("rql2-truffle")) { + if (compilerService.language.contains("snapi")) { path should contain( snapi"""byteCol,shortCol,intCol,longCol,floatCol,doubleCol,decimalCol,boolCol,nullBoolCol,dateCol,timeCol,timestampCol |"failed to parse CSV (location: $csvWithAllTypes: line 1, col 1), cannot parse 'byteCol' as a byte","failed to parse CSV (location: $csvWithAllTypes: line 1, col 9), cannot parse 'shortCol' as a short","failed to parse CSV (location: $csvWithAllTypes: line 1, col 18), cannot parse 'intCol' as an int","failed to parse CSV (location: $csvWithAllTypes: line 1, col 25), cannot parse 'longCol' as a long","failed to parse CSV (location: $csvWithAllTypes: line 1, col 33), cannot parse 'floatCol' as a float","failed to parse CSV (location: $csvWithAllTypes: line 1, col 42), cannot parse 'doubleCol' as a double","failed to parse CSV (location: $csvWithAllTypes: line 1, col 52), cannot parse 'decimalCol' as a decimal","failed to parse CSV (location: $csvWithAllTypes: line 1, col 63), cannot parse 'boolCol' as a bool","failed to parse CSV (location: $csvWithAllTypes: line 1, col 71), cannot parse 'nullBoolCol' as a bool","failed to parse CSV (location: $csvWithAllTypes: line 1, col 83), string 'dateCol' does not match date template 'yyyy-M-d'","failed to parse CSV (location: $csvWithAllTypes: line 1, col 91), string 'timeCol' does not match time template 'HH:mm[:ss[.SSS]]'","failed to parse CSV (location: $csvWithAllTypes: line 1, col 99), string 'timestampCol' does not match timestamp template 'HH:mm[:ss[.SSS]]'" diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/JsonOutputTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/JsonOutputTest.scala index 40ac451e1..d3745c0c7 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/JsonOutputTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/JsonOutputTest.scala @@ -13,12 +13,12 @@ package com.rawlabs.snapi.compiler.tests.output import com.rawlabs.utils.core.RawUtils -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.core._ import java.nio.file.{Files, Path} -class JsonOutputTest extends Rql2TestContext { +class JsonOutputTest extends SnapiTestContext { option("output-format", "json") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/TextOutputTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/TextOutputTest.scala index ca356c79c..fd7ddf9f5 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/TextOutputTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/output/TextOutputTest.scala @@ -12,11 +12,11 @@ package com.rawlabs.snapi.compiler.tests.output -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import java.nio.file.Files -class TextOutputTest extends Rql2TestContext { +class TextOutputTest extends SnapiTestContext { option("output-format", "text") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/FrontendSyntaxAnalyzerTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/FrontendSyntaxAnalyzerTest.scala index 6c007f4fa..c1fb000ee 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/FrontendSyntaxAnalyzerTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/FrontendSyntaxAnalyzerTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.parser -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class FrontendSyntaxAnalyzerTest extends Rql2TestContext { +class FrontendSyntaxAnalyzerTest extends SnapiTestContext { // Internal node, not visible to the user parser. test(s"""$$package("Collection")""".stripMargin)(it => it shouldNot parse) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/ListSugarTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/ListSugarTest.scala index ada97ea9a..48bec4e0f 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/ListSugarTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/ListSugarTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.parser -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class ListSugarTest extends Rql2TestContext { +class ListSugarTest extends SnapiTestContext { test("""[1,2,3]""") { it => it should typeAs("list(int)") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/OperatorPrecedenceTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/OperatorPrecedenceTest.scala index 280d74d59..48bc5e09c 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/OperatorPrecedenceTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/OperatorPrecedenceTest.scala @@ -12,11 +12,11 @@ package com.rawlabs.snapi.compiler.tests.parser -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class OperatorPrecedenceTest extends Rql2TestContext { +class OperatorPrecedenceTest extends SnapiTestContext { test("""1+2*3""") { it => it should evaluateTo("(1+(2*3))") @@ -25,19 +25,19 @@ class OperatorPrecedenceTest extends Rql2TestContext { test("""false or true and true""") { it => it should astParseAs( - Rql2Program(BinaryExp(Or(), BoolConst(false), BinaryExp(And(), BoolConst(true), BoolConst(true)))) + SnapiProgram(BinaryExp(Or(), BoolConst(false), BinaryExp(And(), BoolConst(true), BoolConst(true)))) ) } test("""false and true or true""") { it => it should astParseAs( - Rql2Program(BinaryExp(Or(), BinaryExp(And(), BoolConst(false), BoolConst(true)), BoolConst(true))) + SnapiProgram(BinaryExp(Or(), BinaryExp(And(), BoolConst(false), BoolConst(true)), BoolConst(true))) ) } test("""true or false and true or true""") { it => it should astParseAs( - Rql2Program( + SnapiProgram( BinaryExp( Or(), BinaryExp(Or(), BoolConst(true), BinaryExp(And(), BoolConst(false), BoolConst(true))), @@ -47,17 +47,17 @@ class OperatorPrecedenceTest extends Rql2TestContext { ) } - test("X.a.b.c")(it => it should astParseAs(Rql2Program(Proj(Proj(Proj(IdnExp(IdnUse("X")), "a"), "b"), "c")))) + test("X.a.b.c")(it => it should astParseAs(SnapiProgram(Proj(Proj(Proj(IdnExp(IdnUse("X")), "a"), "b"), "c")))) test("x and y and z")(it => it should astParseAs( - Rql2Program(BinaryExp(And(), BinaryExp(And(), IdnExp(IdnUse("x")), IdnExp(IdnUse("y"))), IdnExp(IdnUse("z")))) + SnapiProgram(BinaryExp(And(), BinaryExp(And(), IdnExp(IdnUse("x")), IdnExp(IdnUse("y"))), IdnExp(IdnUse("z")))) ) ) test("f(1)(2)")(it => it should astParseAs( - Rql2Program( + SnapiProgram( FunApp( FunApp(IdnExp(IdnUse("f")), Vector(FunAppArg(IntConst("1"), None))), Vector(FunAppArg(IntConst("2"), None)) @@ -66,12 +66,12 @@ class OperatorPrecedenceTest extends Rql2TestContext { ) ) - test("not not true")(it => it should astParseAs(Rql2Program(UnaryExp(Not(), UnaryExp(Not(), BoolConst(true)))))) + test("not not true")(it => it should astParseAs(SnapiProgram(UnaryExp(Not(), UnaryExp(Not(), BoolConst(true)))))) test("100 / 10 * 10") { it => it should evaluateTo("(100 / 10) * 10") it should astParseAs( - Rql2Program(BinaryExp(Mult(), BinaryExp(Div(), IntConst("100"), IntConst("10")), IntConst("10"))) + SnapiProgram(BinaryExp(Mult(), BinaryExp(Div(), IntConst("100"), IntConst("10")), IntConst("10"))) ) } diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/RecordSugarTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/RecordSugarTest.scala index 7beb0cb5f..9ade31190 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/RecordSugarTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/parser/RecordSugarTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.parser -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RecordSugarTest extends Rql2TestContext { +class RecordSugarTest extends SnapiTestContext { test("""{a: 1, b: "2"}""") { it => it should typeAs("record(a: int, b: string)") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10194Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10194Test.scala index 8f2c8cefd..1851d4c45 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10194Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10194Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD10194Test extends Rql2TestContext { +class RD10194Test extends SnapiTestContext { private val q = """main(title: string = null, description: string = null, category: string = null, rating: string = null, actor: string = null) = diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10220Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10220Test.scala index 899b43252..81d34016d 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10220Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10220Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD10220Test extends Rql2TestContext { +class RD10220Test extends SnapiTestContext { test("""Csv.InferAndParse("stringData")""")( _ should (typeAs("collection(record(stringData: undefined))") and evaluateTo("[]")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10723Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10723Test.scala index b4ad9433a..946d577af 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10723Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10723Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD10723Test extends Rql2TestContext { +class RD10723Test extends SnapiTestContext { private val qqq = "\"\"\"" test(s"""main() = diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10767Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10767Test.scala index 76dccf870..e86424abf 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10767Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10767Test.scala @@ -13,10 +13,10 @@ package com.rawlabs.snapi.compiler.tests.regressions import com.rawlabs.compiler.{GetProgramDescriptionSuccess, ProgramEnvironment} -import com.rawlabs.snapi.frontend.rql2.SnapiInterpolator -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi.SnapiInterpolator +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD10767Test extends Rql2TestContext { +class RD10767Test extends SnapiTestContext { private val data = tempFile(""" |[ | {"a": 1, "b": 10, "c": 100}, diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10801Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10801Test.scala index 49c6ed557..27c19488e 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10801Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD10801Test.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2.SnapiInterpolator -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi.SnapiInterpolator +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD10801Test extends Rql2TestContext { +class RD10801Test extends SnapiTestContext { private val qqq = "\"\"\"" diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD3742Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD3742Test.scala index 1b807119d..fef18552b 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD3742Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD3742Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD3742Test extends Rql2TestContext { +class RD3742Test extends SnapiTestContext { val triple = "\"\"\"" diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD3784Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD3784Test.scala index c84467495..8e3855d65 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD3784Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD3784Test.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD3784Test extends Rql2TestContext { +class RD3784Test extends SnapiTestContext { private val data = tempFile( """v diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD4529Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD4529Test.scala index e16a76ca0..dfd070d20 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD4529Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD4529Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD4529Test extends Rql2TestContext { +class RD4529Test extends SnapiTestContext { test(""" |let a: float = 1.0f diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD4981Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD4981Test.scala index 61849a682..7ded93e8a 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD4981Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD4981Test.scala @@ -12,11 +12,11 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext -class RD4981Test extends Rql2TestContext with LocalLocationsTestContext { +class RD4981Test extends SnapiTestContext with LocalLocationsTestContext { test(snapi"""let | data = Csv.InferAndRead("$airportsLocal"), diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5238Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5238Test.scala index efc82368a..f8cc86899 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5238Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5238Test.scala @@ -12,11 +12,11 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext -class RD5238Test extends Rql2TestContext with LocalLocationsTestContext { +class RD5238Test extends SnapiTestContext with LocalLocationsTestContext { test(snapi""" |let region1 = Csv.InferAndRead("$tpchRegionCsvLocal"), diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5365Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5365Test.scala index 89c2ff03c..4f1bc8af0 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5365Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5365Test.scala @@ -15,11 +15,11 @@ package com.rawlabs.snapi.compiler.tests.regressions import com.rawlabs.utils.core.TestData import org.bitbucket.inkytonik.kiama.util.Positions import org.scalatest.matchers.{MatchResult, Matcher} -import com.rawlabs.snapi.frontend.rql2.FrontendSyntaxAnalyzer -import com.rawlabs.snapi.frontend.rql2.source.SourcePrettyPrinter -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi.FrontendSyntaxAnalyzer +import com.rawlabs.snapi.frontend.snapi.source.SourcePrettyPrinter +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5365Test extends Rql2TestContext { +class RD5365Test extends SnapiTestContext { private class PrettyPrintAs(expected: String) extends Matcher[TestData] { override def apply(query: TestData): MatchResult = { diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5393Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5393Test.scala index 7e2cafec2..14db363ca 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5393Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5393Test.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2.errors.CannotDetermineTypeOfParameter -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi.errors.CannotDetermineTypeOfParameter +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5393Test extends Rql2TestContext { +class RD5393Test extends SnapiTestContext { test("""main(country: string = null,code: string = null) = | let diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5412Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5412Test.scala index 60f8ab1cc..764c73ed8 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5412Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5412Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5412Test extends Rql2TestContext { +class RD5412Test extends SnapiTestContext { test("""let | json_type = type record(creation_date: string, entries: list(string)), diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5448Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5448Test.scala index f9e3ed9c0..5e7935cda 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5448Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5448Test.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5448Test extends Rql2TestContext { +class RD5448Test extends SnapiTestContext { private val ttt = "\"\"\"" private val jsonString = """[ diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5484Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5484Test.scala index ca110c8af..145a0bf16 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5484Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5484Test.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.regressions import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5484Test extends Rql2TestContext { +class RD5484Test extends SnapiTestContext { // top-level and correct. test("""Timestamp.Build(2015, 1, 4, 22, 0)""")(_ should run) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5488Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5488Test.scala index bfa1c0c50..c5e2c524a 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5488Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5488Test.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.regressions import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5488Test extends Rql2TestContext { +class RD5488Test extends SnapiTestContext { // All these tests are valid queries. They fail in the middle of compilation, at L0, with "lines is declared more than once". diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5491Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5491Test.scala index dab01bf1c..e5d1c1837 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5491Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5491Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5491Test extends Rql2TestContext { +class RD5491Test extends SnapiTestContext { test(s"""let | query = \"\"\"SELECT (?item as ?cat) ?itemLabel diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5644Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5644Test.scala index 5527869e7..a24cb8f6a 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5644Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5644Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5644Test extends Rql2TestContext { +class RD5644Test extends SnapiTestContext { // Basic reference behavior. The function parameter isn't type and inherits the list item type. Everything matches. test(""" diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5679Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5679Test.scala index ed79df231..9024f6f55 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5679Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5679Test.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5679Test extends Rql2TestContext { +class RD5679Test extends SnapiTestContext { // regular XML file (types as record) with a list inside private val xml = tempFile(""" diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5685Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5685Test.scala index 365836822..061ae29b9 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5685Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5685Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5685Test extends Rql2TestContext { +class RD5685Test extends SnapiTestContext { test("""let itemType = type int, | listType = type list(itemType), diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5691Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5691Test.scala index b8482079a..a737afb20 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5691Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5691Test.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext -class RD5691Test extends Rql2TestContext with LocalLocationsTestContext { +class RD5691Test extends SnapiTestContext with LocalLocationsTestContext { test(s""" |let issueType = type record( diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5697Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5697Test.scala index 3691282ff..2f695afc0 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5697Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5697Test.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext -import com.rawlabs.snapi.frontend.rql2._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext +import com.rawlabs.snapi.frontend.snapi._ -class RD5697Test extends Rql2TestContext { +class RD5697Test extends SnapiTestContext { private val jsonFile = tempFile("""{"a": 12, "b": 14}""") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5714Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5714Test.scala index 502e77b3f..8a14ea997 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5714Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5714Test.scala @@ -13,11 +13,11 @@ package com.rawlabs.snapi.compiler.tests.regressions import java.nio.file.Files -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import scala.io.Source -class RD5714Test extends Rql2TestContext { +class RD5714Test extends SnapiTestContext { test("""let colA = [{id: 1, name: "john"}], | colB = [{id: 2, firstName: "john"}], diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5722Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5722Test.scala index b77726609..dcd5923c8 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5722Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5722Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5722Test extends Rql2TestContext { +class RD5722Test extends SnapiTestContext { test("""let data = Collection.Build({ | a: { b: 123} diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD572Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD572Test.scala index 71fd0f996..fccfe00e6 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD572Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD572Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD572Test extends Rql2TestContext { +class RD572Test extends SnapiTestContext { test("-128b") { it => it should typeAs("byte") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5775Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5775Test.scala index 42f3413df..0f7fc29df 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5775Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5775Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5775Test extends Rql2TestContext { +class RD5775Test extends SnapiTestContext { test("""let data = Http.Get("https://jira.atlassian.com/rest/api/latest/search", args=[{"jql", "fixVersion=9.0.0"}]), | r = Json.InferAndRead(data), | issues = Collection.Transform(r.issues, i -> { diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5779Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5779Test.scala index e41eb4ecc..da4a1977d 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5779Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5779Test.scala @@ -12,12 +12,12 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import java.nio.file.Path -class RD5779Test extends Rql2TestContext { +class RD5779Test extends SnapiTestContext { val data: Path = tempFile("""[ | {"a": 1, "b": 10} |]""".stripMargin) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5784Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5784Test.scala index 036a417ac..4ff3aad8d 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5784Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5784Test.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext -import com.rawlabs.snapi.frontend.rql2._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext +import com.rawlabs.snapi.frontend.snapi._ -class RD5784Test extends Rql2TestContext { +class RD5784Test extends SnapiTestContext { private val xmlFile = tempFile(""" | diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5785Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5785Test.scala index 0b3422403..f61b079b1 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5785Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5785Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5785Test extends Rql2TestContext { +class RD5785Test extends SnapiTestContext { // The only way of this returning true is if all values in the list are the same. // Almost impossible with 5 random values. diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5786Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5786Test.scala index de70a0afb..426578253 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5786Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5786Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5786Test extends Rql2TestContext { +class RD5786Test extends SnapiTestContext { test("""true == false""") { _ should evaluateTo(""" false """) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5851Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5851Test.scala index 68b945388..9578429ce 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5851Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5851Test.scala @@ -25,9 +25,9 @@ import com.rawlabs.compiler.{ Pos, TypeCompletion } -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5851Test extends Rql2TestContext { +class RD5851Test extends SnapiTestContext { def autoCompleteNames(entries: Array[Completion]): Seq[String] = { entries.map { diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5884Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5884Test.scala index 1a9fbd89c..ca0bb5845 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5884Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5884Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5884Test extends Rql2TestContext { +class RD5884Test extends SnapiTestContext { test("""let f(x: int, y: int = 12) = 3.14 + x + y |in f(1)""".stripMargin)(_ should run) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5893Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5893Test.scala index 30562d199..2d1b909d5 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5893Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5893Test.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5893Test extends Rql2TestContext { +class RD5893Test extends SnapiTestContext { // this has a list of text private val data = tempFile(""" diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5914Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5914Test.scala index 2fb09adbb..79a1ed192 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5914Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5914Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5914Test extends Rql2TestContext { +class RD5914Test extends SnapiTestContext { test("""let item1 = {name: "coffee machine", price: 200, price: 199}, // price is duplicated, price is an int | item2 = {name: "coffee machine", price: 200.00, price: 199.99} // price is duplicated, price is a double diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5920Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5920Test.scala index 7c8a6e14e..f44f8f180 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5920Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5920Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5920Test extends Rql2TestContext { +class RD5920Test extends SnapiTestContext { test("""let f(x: int) = x * 10 |in f(10)""".stripMargin)(_ should evaluateTo("100")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5921Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5921Test.scala index c8cfc5cf5..1ca4ad762 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5921Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5921Test.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5921Test extends Rql2TestContext { +class RD5921Test extends SnapiTestContext { val data1 = tempFile("""1 |2 diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5925Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5925Test.scala index f7574e957..8d54e3c5c 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5925Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5925Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5925Test extends Rql2TestContext { +class RD5925Test extends SnapiTestContext { test("""let c = Collection.Build(1, 2, 3, 4) |in Collection.Filter(c, s -> null)""".stripMargin) { it => diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5932Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5932Test.scala index c62d6ca1a..6c710a5fc 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5932Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5932Test.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5932Test extends Rql2TestContext { +class RD5932Test extends SnapiTestContext { val data = tempFile("""[ | {"id": 1, "network_interface": "eni-08b85cc07294f82bf"}, diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5968Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5968Test.scala index e7b3a0e47..7eee77f04 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5968Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5968Test.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5968Test extends Rql2TestContext { +class RD5968Test extends SnapiTestContext { private val cdataFile = tempFile(""" | diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5971Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5971Test.scala index 28f8d0679..4aef4d495 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5971Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5971Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5971Test extends Rql2TestContext { +class RD5971Test extends SnapiTestContext { // error when type isn't supported test(s"""[{a: "binary", b: [1,2,3,4]}]""") { it => diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5979Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5979Test.scala index c02cc1cbd..cee5b0aa7 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5979Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD5979Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5979Test extends Rql2TestContext { +class RD5979Test extends SnapiTestContext { test("""[{a: 12, b: 14}, {c: 23, d: 54}]""")(_ should runErrorAs("expected compatible with")) test("""[{a: 12, b: 14}, {a: 23, d: 54}]""")(_ should runErrorAs("expected compatible with")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD7924Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD7924Test.scala index f3b3e7751..22d7bfa3a 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD7924Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD7924Test.scala @@ -12,12 +12,12 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import java.nio.file.Path -class RD7924Test extends Rql2TestContext { +class RD7924Test extends SnapiTestContext { val string: Path = tempFile(""" "Hello!" """) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD7974Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD7974Test.scala index 0003a834c..6a2eecb5f 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD7974Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD7974Test.scala @@ -14,12 +14,12 @@ package com.rawlabs.snapi.compiler.tests.regressions import com.rawlabs.utils.core.RawUtils import org.scalatest.BeforeAndAfterEach -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.core._ import java.nio.file.Files -class RD7974Test extends Rql2TestContext with BeforeAndAfterEach { +class RD7974Test extends SnapiTestContext with BeforeAndAfterEach { private val tmpFile = Files.createTempFile("csv-output-test", ".csv") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8530Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8530Test.scala index c336cceb1..67978dbb6 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8530Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8530Test.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.regressions import org.scalatest.BeforeAndAfterEach -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD8530Test extends Rql2TestContext with BeforeAndAfterEach { +class RD8530Test extends SnapiTestContext with BeforeAndAfterEach { test("""List.Filter([1,2,3,4], n -> n > 2, a = 12)""".stripMargin)( _ should typeErrorAs("no optional arguments expected") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8764Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8764Test.scala index 9f9d4859a..510e75a8c 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8764Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8764Test.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.regressions import com.typesafe.scalalogging.StrictLogging -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD8764Test extends Rql2TestContext with StrictLogging { +class RD8764Test extends SnapiTestContext with StrictLogging { test(""" |let f: (record(_1: int, _2: int)) -> bool = (x: int, y: int) -> x == y diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8935Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8935Test.scala index b4596ac71..ab08e2382 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8935Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8935Test.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD8935Test extends Rql2TestContext { +class RD8935Test extends SnapiTestContext { private val vowels = tempFile("""a |e diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8993Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8993Test.scala index b0aeaa627..2b1436b31 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8993Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD8993Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD8993Test extends Rql2TestContext { +class RD8993Test extends SnapiTestContext { test("""apply(f: int -> bool) = f(1) |apply((x: int) -> true)""".stripMargin)(_ should evaluateTo("true")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9137Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9137Test.scala index 3b338936e..dc9de930a 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9137Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9137Test.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.regressions import com.typesafe.scalalogging.StrictLogging -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD9137Test extends Rql2TestContext with StrictLogging { +class RD9137Test extends SnapiTestContext with StrictLogging { test("""Json.InferAndRead("https://raw-tutorial.s3.eu-west-1.amazonaws.com/patients.json")""".stripMargin)( _ should run diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9228Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9228Test.scala index 677b81435..58ee6a9cc 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9228Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9228Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD9228Test extends Rql2TestContext { +class RD9228Test extends SnapiTestContext { // pass a plain URL. It will be turned into a location, directly passed as a parameter. test(""" diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9229Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9229Test.scala index 25779ecff..7a51562d6 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9229Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9229Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD9229Test extends Rql2TestContext { +class RD9229Test extends SnapiTestContext { test(s"""[{a: "binary", b: [1,2,3,4]}]""") { it => option("output-format", "binary") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9255Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9255Test.scala index 001b05744..132ca5d99 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9255Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9255Test.scala @@ -30,11 +30,11 @@ import com.rawlabs.compiler.{ RawValue } import org.scalatest.EitherValues -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import java.time.{Duration, LocalDate, LocalDateTime, LocalTime} -class RD9255Test extends Rql2TestContext with EitherValues { +class RD9255Test extends SnapiTestContext with EitherValues { private val declarations = """ |string_func(x: string) = String.Length(x) @@ -152,7 +152,7 @@ class RD9255Test extends Rql2TestContext with EitherValues { exec("byte_func", "tralala", "byte").left.value should include("expected byte but got string") ) test("missing mandatory arguments") { _ => - assume(compilerService.language.contains("rql2-truffle")) + assume(compilerService.language.contains("snapi")) callDecl(declarations, "three_param_func", Array(("x", RawString("U"))), "string").left.value should include( "missing mandatory arguments" ) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9359Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9359Test.scala index 111c0fa38..807030bb2 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9359Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9359Test.scala @@ -12,12 +12,12 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext -import com.rawlabs.snapi.frontend.rql2._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext +import com.rawlabs.snapi.frontend.snapi._ import java.nio.file.{Files, Path} -class RD9359Test extends Rql2TestContext { +class RD9359Test extends SnapiTestContext { private val duplicateCsvString = """a,b,a |1,2,3 diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9409Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9409Test.scala index 3ee615930..7371a91a2 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9409Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9409Test.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.regressions import com.rawlabs.compiler.{HoverResponse, Pos, TypeCompletion} -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD9409Test extends Rql2TestContext { +class RD9409Test extends SnapiTestContext { test("""let | a = 1, diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9445Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9445Test.scala index 99877ee34..9745125f0 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9445Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9445Test.scala @@ -14,12 +14,12 @@ package com.rawlabs.snapi.compiler.tests.regressions import com.rawlabs.utils.core.TestData import org.scalatest.matchers.{MatchResult, Matcher} -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import java.nio.file.Files import scala.io.Source -class RD9445Test extends Rql2TestContext { +class RD9445Test extends SnapiTestContext { def outputAs(expected: String, format: String = "json") = new OutputAs(expected, format) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9479Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9479Test.scala index 65ad2a244..6df56402a 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9479Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9479Test.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD9479Test extends Rql2TestContext { +class RD9479Test extends SnapiTestContext { private val recordData = tempFile("""[{"a": 1, "b": 10, "c": 100}]""") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9485Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9485Test.scala index 763bf4b73..4551d5059 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9485Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9485Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD9485Test extends Rql2TestContext { +class RD9485Test extends SnapiTestContext { property("raw.snapi.frontend.inferrer.local.xml.sample-size", "2") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9554Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9554Test.scala index 134a9cd4f..a7a53913f 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9554Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9554Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD9554Test extends Rql2TestContext { +class RD9554Test extends SnapiTestContext { test("""let range = Int.Range(0,5) |in Collection.Union(range, range)""".stripMargin) { it => diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9616Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9616Test.scala index eaeb66be3..f11bcae51 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9616Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9616Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD9616Test extends Rql2TestContext { +class RD9616Test extends SnapiTestContext { test( """let diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9932Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9932Test.scala index bc178d66e..e7075881d 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9932Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/RD9932Test.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.regressions -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD9932Test extends Rql2TestContext { +class RD9932Test extends SnapiTestContext { val ttt = "\"\"\"" test(s"""Json.Parse( diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/credentials/RD3084Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/credentials/RD3084Test.scala index 20dd39439..092c2ea62 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/credentials/RD3084Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/credentials/RD3084Test.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.regressions.credentials import com.rawlabs.snapi.compiler.tests.TestCredentials -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD3084Test extends Rql2TestContext { +class RD3084Test extends SnapiTestContext { rdbms("mysql-test", TestCredentials.mysqlCreds) rdbms("postgres-test", TestCredentials.pgsqlCreds) @@ -49,13 +49,13 @@ class RD3084Test extends Rql2TestContext { } test("""Oracle.InferAndQuery("oracle-test", "select * from rawtest.test_types")""") { it => - assume(!compilerService.language.contains("rql2-truffle")) + assume(!compilerService.language.contains("snapi")) it should run } test("""Oracle.Query("oracle-test", "select * from rawtest.test_types", | type collection(record(integer1: int, char1: string)))""".stripMargin) { it => - assume(!compilerService.language.contains("rql2-truffle")) + assume(!compilerService.language.contains("snapi")) it should run } diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/credentials/RD4445Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/credentials/RD4445Test.scala index a8fc38135..366d6837b 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/credentials/RD4445Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/credentials/RD4445Test.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.regressions.credentials import com.rawlabs.protocol.compiler.DropboxAccessTokenConfig -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD4445Test extends Rql2TestContext { +class RD4445Test extends SnapiTestContext { import com.rawlabs.snapi.compiler.tests.TestCredentials._ diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/credentials/RD5932Test.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/credentials/RD5932Test.scala index 3473efdea..590edfbdd 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/credentials/RD5932Test.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/regressions/credentials/RD5932Test.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.regressions.credentials import com.rawlabs.snapi.compiler.tests.TestCredentials -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class RD5932Test extends Rql2TestContext { +class RD5932Test extends SnapiTestContext { s3Bucket(TestCredentials.UnitTestPrivateBucket, TestCredentials.UnitTestPrivateBucketCred) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BasicStagedCompilerTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BasicStagedCompilerTest.scala index 07ce2c497..a6a54d8b2 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BasicStagedCompilerTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BasicStagedCompilerTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.spec -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BasicStagedCompilerTest extends Rql2TestContext { +class BasicStagedCompilerTest extends SnapiTestContext { test("""TestPackage.ByteValueArg(22b)""")(_ should evaluateTo("{arg: 22b}")) test("""TestPackage.ShortValueArg(22s)""")(_ should evaluateTo("{arg: 22s}")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpAndTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpAndTest.scala index 020f41529..962502f85 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpAndTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpAndTest.scala @@ -14,9 +14,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData import org.scalatest.prop.TableDrivenPropertyChecks -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BinaryExpAndTest extends Rql2TestContext with TableDrivenPropertyChecks { +class BinaryExpAndTest extends SnapiTestContext with TableDrivenPropertyChecks { test("""true and true""")(_ should evaluateTo("true")) test("""true and false""")(_ should evaluateTo("false")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpDivTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpDivTest.scala index 760ea1835..ae2273d81 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpDivTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpDivTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BinaryExpDivTest extends Rql2TestContext with CombinationSpecTestHelper { +class BinaryExpDivTest extends SnapiTestContext with CombinationSpecTestHelper { test("""4 / 2""") { it => it should typeAs("int") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpEqTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpEqTest.scala index 134adb794..fd0cb791c 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpEqTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpEqTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BinaryExpEqTest extends Rql2TestContext with CombinationSpecTestHelper { +class BinaryExpEqTest extends SnapiTestContext with CombinationSpecTestHelper { test("1 == 1")(it => it should evaluateTo("true")) test("1 == 2")(it => it should evaluateTo("false")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpGeTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpGeTest.scala index b8258e485..07de982ae 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpGeTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpGeTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BinaryExpGeTest extends Rql2TestContext with CombinationSpecTestHelper { +class BinaryExpGeTest extends SnapiTestContext with CombinationSpecTestHelper { test("1 >= 1")(it => it should evaluateTo("true")) test("1 >= 2")(it => it should evaluateTo("false")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpGtTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpGtTest.scala index a4ca7be50..947baeaa0 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpGtTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpGtTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BinaryExpGtTest extends Rql2TestContext with CombinationSpecTestHelper { +class BinaryExpGtTest extends SnapiTestContext with CombinationSpecTestHelper { test("1 > 1")(it => it should evaluateTo("false")) test("1 > 2")(it => it should evaluateTo("false")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpLeTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpLeTest.scala index 94a3c0d08..4309757f6 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpLeTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpLeTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BinaryExpLeTest extends Rql2TestContext with CombinationSpecTestHelper { +class BinaryExpLeTest extends SnapiTestContext with CombinationSpecTestHelper { test("1 <= 1")(it => it should evaluateTo("true")) test("1 <= 2")(it => it should evaluateTo("true")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpLtTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpLtTest.scala index 54af58303..4a726e526 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpLtTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpLtTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BinaryExpLtTest extends Rql2TestContext with CombinationSpecTestHelper { +class BinaryExpLtTest extends SnapiTestContext with CombinationSpecTestHelper { test("1 < 1")(it => it should evaluateTo("false")) test("1 < 2")(it => it should evaluateTo("true")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpModTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpModTest.scala index 096efd4c6..652c30a1e 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpModTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpModTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BinaryExpModTest extends Rql2TestContext with CombinationSpecTestHelper { +class BinaryExpModTest extends SnapiTestContext with CombinationSpecTestHelper { test("""5 % 3""") { it => it should typeAs("int") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpMultTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpMultTest.scala index 35d029d94..7d9d0f423 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpMultTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpMultTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BinaryExpMultTest extends Rql2TestContext with CombinationSpecTestHelper { +class BinaryExpMultTest extends SnapiTestContext with CombinationSpecTestHelper { test("""1 * 1""") { it => it should typeAs("int") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpNeqTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpNeqTest.scala index b27e0650f..272d3c0b7 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpNeqTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpNeqTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BinaryExpNeqTest extends Rql2TestContext with CombinationSpecTestHelper { +class BinaryExpNeqTest extends SnapiTestContext with CombinationSpecTestHelper { test("1 != 1")(it => it should evaluateTo("false")) test("1 != 2")(it => it should evaluateTo("true")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpOrTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpOrTest.scala index 34a0bd67c..616fe7e5a 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpOrTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpOrTest.scala @@ -14,9 +14,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData import org.scalatest.prop.TableDrivenPropertyChecks -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BinaryExpOrTest extends Rql2TestContext with TableDrivenPropertyChecks { +class BinaryExpOrTest extends SnapiTestContext with TableDrivenPropertyChecks { test("""true or true""")(_ should evaluateTo("true")) test("""true or false""")(_ should evaluateTo("true")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpPlusTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpPlusTest.scala index ece722370..a77734229 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpPlusTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpPlusTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BinaryExpPlusTest extends Rql2TestContext with CombinationSpecTestHelper { +class BinaryExpPlusTest extends SnapiTestContext with CombinationSpecTestHelper { test("""1 + 1""") { it => it should typeAs("int") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpSubTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpSubTest.scala index 1580b4b08..25d68414d 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpSubTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/BinaryExpSubTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class BinaryExpSubTest extends Rql2TestContext with CombinationSpecTestHelper { +class BinaryExpSubTest extends SnapiTestContext with CombinationSpecTestHelper { test("""1 - 1""") { it => it should typeAs("int") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ClosureTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ClosureTest.scala index ea5a3919f..398239758 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ClosureTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ClosureTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.spec -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class ClosureTest extends Rql2TestContext { +class ClosureTest extends SnapiTestContext { test("""let functions = | List.Transform([1,2,3], diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ConstTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ConstTest.scala index 67d9c7b35..3f6b8a9b5 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ConstTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ConstTest.scala @@ -14,20 +14,20 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData import org.scalatest.prop.TableDrivenPropertyChecks -import com.rawlabs.snapi.frontend.rql2.source.{Rql2BoolType, Rql2IntType, Rql2StringType} -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi.source.{SnapiBoolType, SnapiIntType, SnapiStringType} +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class ConstTest extends Rql2TestContext with TableDrivenPropertyChecks { +class ConstTest extends SnapiTestContext with TableDrivenPropertyChecks { test("1") { it => it should typeAs("int") - it should astTypeAs(Rql2IntType()) + it should astTypeAs(SnapiIntType()) it should evaluateTo("1") } test(""" "Hello" """) { it => it should typeAs("string") - it should astTypeAs(Rql2StringType()) + it should astTypeAs(SnapiStringType()) it should evaluateTo(""""Hello"""") } @@ -36,7 +36,7 @@ class ConstTest extends Rql2TestContext with TableDrivenPropertyChecks { // was in the source code. it should parse it should typeAs("string") - it should astTypeAs(Rql2StringType()) + it should astTypeAs(SnapiStringType()) it should run it should evaluateTo(""""x\u2192x+1"""") } @@ -45,7 +45,7 @@ class ConstTest extends Rql2TestContext with TableDrivenPropertyChecks { // The source code contains the unicode character. It should parse and run. it should parse it should typeAs("string") - it should astTypeAs(Rql2StringType()) + it should astTypeAs(SnapiStringType()) it should run it should evaluateTo(""""x\u2192x+1"""") } @@ -54,14 +54,14 @@ class ConstTest extends Rql2TestContext with TableDrivenPropertyChecks { // The source code is using triple quoted string, it can contain the unicode character it should parse it should typeAs("string") - it should astTypeAs(Rql2StringType()) + it should astTypeAs(SnapiStringType()) it should run it should evaluateTo(""""x\u2192x+1"""") } test(""" true """) { it => it should typeAs("bool") - it should astTypeAs(Rql2BoolType()) + it should astTypeAs(SnapiBoolType()) it should evaluateTo("""true""") } diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ErrorsTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ErrorsTest.scala index ae1d545a6..3e5ccd618 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ErrorsTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ErrorsTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.spec -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class ErrorsTest extends Rql2TestContext { +class ErrorsTest extends SnapiTestContext { test("""Collection.Count("a")""")(_ shouldNot tipe) test("""Collection.Count(Collection.Count("a"))""")(_ shouldNot tipe) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/FunAbsTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/FunAbsTest.scala index 35434b643..a5297f899 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/FunAbsTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/FunAbsTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.spec -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class FunAbsTest extends Rql2TestContext { +class FunAbsTest extends SnapiTestContext { test(""" |let f = (v: int) -> v + 1 diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/IfThenElseTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/IfThenElseTest.scala index 9a2b46ffc..273f50346 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/IfThenElseTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/IfThenElseTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class IfThenElseTest extends Rql2TestContext with CombinationSpecTestHelper { +class IfThenElseTest extends SnapiTestContext with CombinationSpecTestHelper { test(""" |if true then "a" else "b" diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ImplicitCastTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ImplicitCastTest.scala index 8e03939e1..1930911c8 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ImplicitCastTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ImplicitCastTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.spec -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class ImplicitCastTest extends Rql2TestContext { +class ImplicitCastTest extends SnapiTestContext { // compatible options as function param test(s"""let f = (x: int) -> Record.Build(o = x) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/JoinWithTryRowsTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/JoinWithTryRowsTest.scala index 412f0983c..afbcec3f4 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/JoinWithTryRowsTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/JoinWithTryRowsTest.scala @@ -12,11 +12,11 @@ package com.rawlabs.snapi.compiler.tests.spec -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext import com.rawlabs.utils.sources.filesystem.local.LocalLocationsTestContext -import com.rawlabs.snapi.frontend.rql2._ +import com.rawlabs.snapi.frontend.snapi._ -class JoinWithTryRowsTest extends Rql2TestContext with LocalLocationsTestContext { +class JoinWithTryRowsTest extends SnapiTestContext with LocalLocationsTestContext { /* testing joins with failed rows. How a dataset of failed rows is built: by engineering a dataset of nested list of records, and pick one using List.Get so that it sometimes diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetBindTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetBindTest.scala index eb6a7b8ea..b8c9c9509 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetBindTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetBindTest.scala @@ -13,9 +13,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LetBindTest extends Rql2TestContext with CombinationSpecTestHelper { +class LetBindTest extends SnapiTestContext with CombinationSpecTestHelper { test("""let x = 1 |in x diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetFunRecTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetFunRecTest.scala index 0e2a7a32f..88d98495f 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetFunRecTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetFunRecTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.spec -import com.rawlabs.snapi.frontend.rql2.errors.OutputTypeRequiredForRecursiveFunction -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi.errors.OutputTypeRequiredForRecursiveFunction +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LetFunRecTest extends Rql2TestContext { +class LetFunRecTest extends SnapiTestContext { test("""let rec fact(v: int): int = if (v > 1) then v * fact(v - 1) else v |in fact(4) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetFunTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetFunTest.scala index f54535e6a..adf7eb45d 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetFunTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetFunTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.spec -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LetFunTest extends Rql2TestContext { +class LetFunTest extends SnapiTestContext { test("""let f(x: int) = x + 1 |in f(0) @@ -248,7 +248,7 @@ class LetFunTest extends Rql2TestContext { | functions = List.Transform(numbers, n -> let f(x: int, v: int = n) = x * v in f) |in List.Transform(functions, f -> f(10)) |""".stripMargin) { it => - assume(compilerService.language.contains("rql2-truffle")) // The scala executor fails to turn this code to L0 + assume(compilerService.language.contains("snapi")) // The scala executor fails to turn this code to L0 it should evaluateTo("[10, 20, 30, 40]") } diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetTypeTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetTypeTest.scala index 1d8746387..1e8a84b74 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetTypeTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/LetTypeTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.spec -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class LetTypeTest extends Rql2TestContext { +class LetTypeTest extends SnapiTestContext { test(""" |let t = type int, diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/MigrationTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/MigrationTest.scala index f24f18ece..dff8882e7 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/MigrationTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/MigrationTest.scala @@ -12,19 +12,19 @@ package com.rawlabs.snapi.compiler.tests.spec -import com.rawlabs.snapi.frontend.rql2.source.{ - Rql2IntType, - Rql2IsNullableTypeProperty, - Rql2IsTryableTypeProperty, - Rql2UndefinedType +import com.rawlabs.snapi.frontend.snapi.source.{ + SnapiIntType, + SnapiIsNullableTypeProperty, + SnapiIsTryableTypeProperty, + SnapiUndefinedType } -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class MigrationTest extends Rql2TestContext { +class MigrationTest extends SnapiTestContext { test("1") { it => it should typeAs("int") - it should astTypeAs(Rql2IntType()) + it should astTypeAs(SnapiIntType()) it should evaluateTo("1") } @@ -38,13 +38,13 @@ class MigrationTest extends Rql2TestContext { test("""Error.Build("broken!")""") { it => it should typeAs("undefined") - it should astTypeAs(Rql2UndefinedType(Set(Rql2IsTryableTypeProperty()))) + it should astTypeAs(SnapiUndefinedType(Set(SnapiIsTryableTypeProperty()))) it should runErrorAs("""broken!""") } test("Success.Build(1)") { it => it should typeAs("int") - it should astTypeAs(Rql2IntType(Set(Rql2IsTryableTypeProperty()))) + it should astTypeAs(SnapiIntType(Set(SnapiIsTryableTypeProperty()))) it should evaluateTo("1") } @@ -64,14 +64,14 @@ class MigrationTest extends Rql2TestContext { test("""null""") { it => it should typeAs("undefined") - it should astTypeAs(Rql2UndefinedType(Set(Rql2IsNullableTypeProperty()))) + it should astTypeAs(SnapiUndefinedType(Set(SnapiIsNullableTypeProperty()))) } test("""let x: int = null | in x |""".stripMargin) { it => it should typeAs("int") - it should astTypeAs(Rql2IntType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty()))) + it should astTypeAs(SnapiIntType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty()))) it should evaluateTo("null") } diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/PackageNameTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/PackageNameTest.scala index 458463cc7..5d48c3aed 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/PackageNameTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/PackageNameTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.spec -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class PackageNameTest extends Rql2TestContext { +class PackageNameTest extends SnapiTestContext { test("""Record""")(it => it should typeAs("""package("Record")""")) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ProjTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ProjTest.scala index f03693c65..4457dfee9 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ProjTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/ProjTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.spec -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class ProjTest extends Rql2TestContext { +class ProjTest extends SnapiTestContext { test("""let a = {x: 1} |in a.x diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/PropagationTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/PropagationTest.scala index e92216788..ae1a45237 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/PropagationTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/PropagationTest.scala @@ -12,9 +12,9 @@ package com.rawlabs.snapi.compiler.tests.spec -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class PropagationTest extends Rql2TestContext { +class PropagationTest extends SnapiTestContext { // lists test("""let l = List.Build(1,2,3,2,1) |in TestPackage.StrictArgs(l)""".stripMargin)(_ should (typeAs("float") and evaluateTo("5.0f"))) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/StagedCompilerTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/StagedCompilerTest.scala index 9f8fe1c17..4a244fd7c 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/StagedCompilerTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/StagedCompilerTest.scala @@ -12,10 +12,10 @@ package com.rawlabs.snapi.compiler.tests.spec -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class StagedCompilerTest extends Rql2TestContext { +class StagedCompilerTest extends SnapiTestContext { val data = tempFile(""" |[ @@ -36,7 +36,7 @@ class StagedCompilerTest extends Rql2TestContext { |3, 30, 300 |""".stripMargin) -// test(rql""" +// test(snapi""" // |let f = "$data", // | data = Json.InferAndRead(f) // |in diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/UnaryExpNegTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/UnaryExpNegTest.scala index 5f01e623c..339158ee2 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/UnaryExpNegTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/UnaryExpNegTest.scala @@ -14,9 +14,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData import org.scalatest.prop.TableDrivenPropertyChecks -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class UnaryExpNegTest extends Rql2TestContext with TableDrivenPropertyChecks { +class UnaryExpNegTest extends SnapiTestContext with TableDrivenPropertyChecks { test("- 1") { it => it should typeAs("int") diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/UnaryExpNotTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/UnaryExpNotTest.scala index 3811d58ed..e9d5c523c 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/UnaryExpNotTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/spec/UnaryExpNotTest.scala @@ -14,9 +14,9 @@ package com.rawlabs.snapi.compiler.tests.spec import com.rawlabs.utils.core.TestData import org.scalatest.prop.TableDrivenPropertyChecks -import com.rawlabs.snapi.compiler.tests.Rql2TestContext +import com.rawlabs.snapi.compiler.tests.SnapiTestContext -class UnaryExpNotTest extends Rql2TestContext with TableDrivenPropertyChecks { +class UnaryExpNotTest extends SnapiTestContext with TableDrivenPropertyChecks { test("""not true""".stripMargin) { it => it should typeAs("bool") it should evaluateTo("false") diff --git a/snapi-frontend/src/main/java/module-info.java b/snapi-frontend/src/main/java/module-info.java index 5b2977fd3..892502b13 100644 --- a/snapi-frontend/src/main/java/module-info.java +++ b/snapi-frontend/src/main/java/module-info.java @@ -47,18 +47,18 @@ exports com.rawlabs.snapi.frontend.base; exports com.rawlabs.snapi.frontend.base.errors; exports com.rawlabs.snapi.frontend.base.source; - exports com.rawlabs.snapi.frontend.rql2; - exports com.rawlabs.snapi.frontend.rql2.source; - exports com.rawlabs.snapi.frontend.rql2.phases; - exports com.rawlabs.snapi.frontend.rql2.errors; - exports com.rawlabs.snapi.frontend.rql2.antlr4; - exports com.rawlabs.snapi.frontend.rql2.extensions; - exports com.rawlabs.snapi.frontend.rql2.extensions.builtin; + exports com.rawlabs.snapi.frontend.snapi; + exports com.rawlabs.snapi.frontend.snapi.source; + exports com.rawlabs.snapi.frontend.snapi.phases; + exports com.rawlabs.snapi.frontend.snapi.errors; + exports com.rawlabs.snapi.frontend.snapi.antlr4; + exports com.rawlabs.snapi.frontend.snapi.extensions; + exports com.rawlabs.snapi.frontend.snapi.extensions.builtin; exports com.rawlabs.snapi.frontend.inferrer.api; exports com.rawlabs.snapi.frontend.inferrer.local; opens com.rawlabs.snapi.frontend.inferrer.api to com.fasterxml.jackson.databind; - opens com.rawlabs.snapi.frontend.rql2.extensions to + opens com.rawlabs.snapi.frontend.snapi.extensions to com.fasterxml.jackson.databind; } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/base/Tree.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/base/Tree.scala index d46d15c34..bde082af7 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/base/Tree.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/base/Tree.scala @@ -16,7 +16,7 @@ import com.rawlabs.utils.core.RawUtils import org.apache.commons.lang3.StringUtils import org.bitbucket.inkytonik.kiama.rewriting.Rewriter.{everywhere, query} import com.rawlabs.snapi.frontend.base.source._ -import com.rawlabs.snapi.frontend.rql2.source.ErrorType +import com.rawlabs.snapi.frontend.snapi.source.ErrorType import com.rawlabs.utils.core._ abstract class Tree[N <: BaseNode: Manifest, P <: N: Manifest, E <: N: Manifest]( diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/base/TreeWithPositions.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/base/TreeWithPositions.scala index dd233e19d..433a5bb54 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/base/TreeWithPositions.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/base/TreeWithPositions.scala @@ -17,7 +17,7 @@ import com.rawlabs.utils.core.RawUtils import org.bitbucket.inkytonik.kiama.util.Positions import com.rawlabs.snapi.frontend.base.errors.CompilationMessageMapper import com.rawlabs.snapi.frontend.base.source._ -import com.rawlabs.snapi.frontend.rql2.antlr4.ParseProgramResult +import com.rawlabs.snapi.frontend.snapi.antlr4.ParseProgramResult import com.rawlabs.utils.core._ abstract class TreeWithPositions[N <: BaseNode: Manifest, P <: N: Manifest, E <: N: Manifest]( diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/inferrer/local/LocalInferrerService.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/inferrer/local/LocalInferrerService.scala index a6aadd7a7..722cbcd93 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/inferrer/local/LocalInferrerService.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/inferrer/local/LocalInferrerService.scala @@ -15,7 +15,7 @@ package com.rawlabs.snapi.frontend.inferrer.local import com.rawlabs.utils.core.{RawException, RawSettings} import com.typesafe.scalalogging.StrictLogging import org.bitbucket.inkytonik.kiama.output.PrettyPrinter -import com.rawlabs.snapi.frontend.rql2.extensions.LocationDescription +import com.rawlabs.snapi.frontend.snapi.extensions.LocationDescription import com.rawlabs.snapi.frontend.inferrer.api._ import com.rawlabs.snapi.frontend.inferrer.local.auto.{AutoInferrer, InferrerBufferedSeekableIS} import com.rawlabs.snapi.frontend.inferrer.local.csv.{CsvInferrer, CsvMergeTypes} diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/Rql2TypeUtils.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/Rql2TypeUtils.scala deleted file mode 100644 index 7459f9e27..000000000 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/Rql2TypeUtils.scala +++ /dev/null @@ -1,238 +0,0 @@ -/* - * Copyright 2023 RAW Labs S.A. - * - * Use of this software is governed by the Business Source License - * included in the file licenses/BSL.txt. - * - * As of the Change Date specified in that file, in accordance with - * the Business Source License, use of this software will be governed - * by the Apache License, Version 2.0, included in the file - * licenses/APL.txt. - */ - -package com.rawlabs.snapi.frontend.rql2 - -import com.rawlabs.compiler.{ - RawAttrType, - RawBinaryType, - RawBoolType, - RawByteType, - RawDateType, - RawDecimalType, - RawDoubleType, - RawFloatType, - RawIntType, - RawIntervalType, - RawIterableType, - RawListType, - RawLongType, - RawOrType, - RawRecordType, - RawShortType, - RawStringType, - RawTimeType, - RawTimestampType, - RawType, - RawUndefinedType -} -import org.bitbucket.inkytonik.kiama.rewriting.Rewriter.{everywhere, query} -import com.rawlabs.snapi.frontend.base.source.{AnythingType, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntervalPackageBuilder -import com.rawlabs.snapi.frontend.inferrer.api._ -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.{ - DatePackageBuilder, - ListPackageBuilder, - NullablePackageBuilder, - RecordPackageBuilder, - TimePackageBuilder, - TimestampPackageBuilder -} - -trait Rql2TypeUtils { - - final def hasTypeConstraint(t: Type): Boolean = { - everywhere(query[Any] { case _: CommonTypeConstraint | _: Rql2TypeConstraint | _: AnythingType => return true })(t) - false - } - - final def isTypeConstraint(t: Type): Boolean = { - t match { - case _: CommonTypeConstraint | _: Rql2TypeConstraint | _: AnythingType => true - case _ => false - } - } - - final def getProps(t: Type): Set[Rql2TypeProperty] = t match { - case t: Rql2TypeWithProperties => t.props - case _ => Set.empty - } - - final def addProp(t: Type, p: Rql2TypeProperty): Type = t match { - case t: Rql2TypeWithProperties => t.cloneAndAddProp(p) - case _ => t - } - - final def addProps(t: Type, props: Set[Rql2TypeProperty]): Type = { - props.foldLeft(t) { case (t, p) => addProp(t, p) } - } - - final def removeProp(t: Type, p: Rql2TypeProperty): Type = t match { - case t: Rql2TypeWithProperties => t.cloneAndRemoveProp(p) - case _ => t - } - - final def removeProps(t: Type, props: Set[Rql2TypeProperty]): Type = { - props.foldLeft(t) { case (t, p) => removeProp(t, p) } - } - - final def resetProps(t: Type, props: Set[Rql2TypeProperty]): Type = { - val clean = removeProps(t, getProps(t)) - addProps(clean, props) - } - - final def inferTypeToRql2Type(t: SourceType, makeNullable: Boolean, makeTryable: Boolean): Type = { - def wrapProps(t: Type, nullable: Boolean, tryable: Boolean): Type = { - val nullType = if (nullable) addProp(t, Rql2IsNullableTypeProperty()) else t - if (tryable) addProp(nullType, Rql2IsTryableTypeProperty()) else nullType - } - - t match { - case SourceByteType(n) => wrapProps(Rql2ByteType(), n || makeNullable, makeTryable) - case SourceShortType(n) => wrapProps(Rql2ShortType(), n || makeNullable, makeTryable) - case SourceIntType(n) => wrapProps(Rql2IntType(), n || makeNullable, makeTryable) - case SourceLongType(n) => wrapProps(Rql2LongType(), n || makeNullable, makeTryable) - case SourceFloatType(n) => wrapProps(Rql2FloatType(), n || makeNullable, makeTryable) - case SourceDoubleType(n) => wrapProps(Rql2DoubleType(), n || makeNullable, makeTryable) - case SourceDecimalType(n) => wrapProps(Rql2DecimalType(), n || makeNullable, makeTryable) - case SourceBoolType(n) => wrapProps(Rql2BoolType(), n || makeNullable, makeTryable) - case SourceStringType(n) => wrapProps(Rql2StringType(), n || makeNullable, makeTryable) - case SourceDateType(_, n) => wrapProps(Rql2DateType(), n || makeNullable, makeTryable) - case SourceTimeType(_, n) => wrapProps(Rql2TimeType(), n || makeNullable, makeTryable) - case SourceTimestampType(_, n) => wrapProps(Rql2TimestampType(), n || makeNullable, makeTryable) - case SourceIntervalType(n) => wrapProps(Rql2IntervalType(), n || makeNullable, makeTryable) - case SourceRecordType(atts, n) => wrapProps( - Rql2RecordType( - atts.map(att => Rql2AttrType(att.idn, inferTypeToRql2Type(att.tipe, makeNullable, makeTryable))) - ), - n || makeNullable, - makeTryable - ) - case SourceCollectionType(inner, n) => wrapProps( - Rql2IterableType(inferTypeToRql2Type(inner, makeNullable, makeTryable)), - n || makeNullable, - makeTryable - ) - case SourceBinaryType(n) => wrapProps(Rql2BinaryType(), n || makeNullable, makeTryable) - case _: SourceNothingType => wrapProps(Rql2UndefinedType(), makeNullable, makeTryable) - case _: SourceNullType => wrapProps(Rql2UndefinedType(), true, makeTryable) - case _: SourceAnyType => AnyType() - case SourceOrType(ors) => - val options = ors - .map(x => inferTypeToRql2Type(x, makeNullable, makeTryable)) // recurse with the flags - .map(t => resetProps(t, Set.empty)) // but clear 'tryable' from or type options + nullable - val nullable = ors.exists(_.nullable) - if (nullable) Rql2OrType(options.toVector, Set(Rql2IsNullableTypeProperty())) - else Rql2OrType(options.toVector) - } - - } - - def isComparable(t: Type): Boolean = { - everywhere(query[Type] { case _: FunType => return false })(t) - true - } - - // Returns Option[RawType] as not all Rql2 types are representable as Raw types. - def rql2TypeToRawType(t: Type): Option[RawType] = { - def convert(t: Type): RawType = { - // Read nullable and triable properties. - var nullable = false - var triable = false - t match { - case tp: Rql2TypeWithProperties => - if (tp.props.contains(Rql2IsNullableTypeProperty())) { - nullable = true - } - if (tp.props.contains(Rql2IsTryableTypeProperty())) { - triable = true - } - case _ => - } - // Convert type. - t match { - case _: Rql2UndefinedType => RawUndefinedType(nullable, triable) - case _: Rql2ByteType => RawByteType(nullable, triable) - case _: Rql2ShortType => RawShortType(nullable, triable) - case _: Rql2IntType => RawIntType(nullable, triable) - case _: Rql2LongType => RawLongType(nullable, triable) - case _: Rql2FloatType => RawFloatType(nullable, triable) - case _: Rql2DoubleType => RawDoubleType(nullable, triable) - case _: Rql2DecimalType => RawDecimalType(nullable, triable) - case _: Rql2BoolType => RawBoolType(nullable, triable) - case _: Rql2StringType => RawStringType(nullable, triable) - case _: Rql2BinaryType => RawBinaryType(nullable, triable) - case _: Rql2DateType => RawDateType(nullable, triable) - case _: Rql2TimeType => RawTimeType(nullable, triable) - case _: Rql2TimestampType => RawTimestampType(nullable, triable) - case _: Rql2IntervalType => RawIntervalType(nullable, triable) - case Rql2RecordType(atts, _) => RawRecordType( - atts.map { case Rql2AttrType(idn, t1) => RawAttrType(idn, convert(t1)) }, - nullable, - triable - ) - case Rql2ListType(inner, _) => RawListType(convert(inner), nullable, triable) - case Rql2IterableType(inner, _) => RawIterableType(convert(inner), nullable, triable) - case Rql2OrType(ors, _) => RawOrType(ors.map(convert), nullable, triable) - case _ => throw new IllegalArgumentException() - } - } - - try { - Some(convert(t)) - } catch { - case _: IllegalArgumentException => None - } - } - - final def valueToExp(value: Rql2Value, t: Type): Exp = value match { - case Rql2ByteValue(v) => ByteConst(v.toString) - case Rql2ShortValue(v) => ShortConst(v.toString) - case Rql2IntValue(v) => IntConst(v.toString) - case Rql2LongValue(v) => LongConst(v.toString) - case Rql2FloatValue(v) => FloatConst(v.toString) - case Rql2DoubleValue(v) => DoubleConst(v.toString) - case Rql2StringValue(v) => StringConst(v) - case Rql2BoolValue(v) => BoolConst(v) - case Rql2OptionValue(option) => - val innerType = resetProps(t, Set.empty) - option - .map(v => valueToExp(v, innerType)) - .map(NullablePackageBuilder.Build(_)) - .getOrElse(NullablePackageBuilder.Empty(innerType)) - case Rql2RecordValue(vs) => - val Rql2RecordType(atts, _) = t - RecordPackageBuilder.Build( - vs.zip(atts).map { case (Rql2RecordAttr(idn, v1), att) => idn -> valueToExp(v1, att.tipe) }.toVector - ) - case Rql2ListValue(v) => - val Rql2ListType(innerType, _) = t - ListPackageBuilder.Build(v.map(x => valueToExp(x, innerType)): _*) - case Rql2DateValue(v) => DatePackageBuilder.FromLocalDate(v) - case Rql2TimeValue(v) => TimePackageBuilder.FromLocalTime(v) - case Rql2TimestampValue(v) => TimestampPackageBuilder.FromLocalDateTime(v) - case Rql2IntervalValue( - years, - month, - weeks, - days, - hours, - minutes, - seconds, - millis - ) => IntervalPackageBuilder.FromRawInterval(years, month, weeks, days, hours, minutes, seconds, millis) - } - -} - -object Rql2TypeUtils extends Rql2TypeUtils diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/Rql2Values.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/Rql2Values.scala deleted file mode 100644 index 9705e97f1..000000000 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/Rql2Values.scala +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2023 RAW Labs S.A. - * - * Use of this software is governed by the Business Source License - * included in the file licenses/BSL.txt. - * - * As of the Change Date specified in that file, in accordance with - * the Business Source License, use of this software will be governed - * by the Apache License, Version 2.0, included in the file - * licenses/APL.txt. - */ - -package com.rawlabs.snapi.frontend.rql2 - -import com.rawlabs.utils.sources.api.Location - -sealed trait Rql2Value -final case class Rql2StringValue(v: String) extends Rql2Value -final case class Rql2BoolValue(v: Boolean) extends Rql2Value -final case class Rql2BinaryValue(v: Array[Byte]) extends Rql2Value -final case class Rql2ByteValue(v: Byte) extends Rql2Value -final case class Rql2ShortValue(v: Short) extends Rql2Value -final case class Rql2IntValue(v: Int) extends Rql2Value -final case class Rql2LongValue(v: Long) extends Rql2Value -final case class Rql2FloatValue(v: Float) extends Rql2Value -final case class Rql2DoubleValue(v: Double) extends Rql2Value -final case class Rql2DecimalValue(v: BigDecimal) extends Rql2Value -final case class Rql2DateValue(v: java.time.LocalDate) extends Rql2Value -final case class Rql2TimeValue(v: java.time.LocalTime) extends Rql2Value -final case class Rql2TimestampValue(v: java.time.LocalDateTime) extends Rql2Value -final case class Rql2IntervalValue( - years: Int, - months: Int, - weeks: Int, - days: Int, - hours: Int, - minutes: Int, - seconds: Int, - millis: Int -) extends Rql2Value -final case class Rql2LocationValue(l: Location, publicDescription: String) extends Rql2Value -final case class Rql2RecordValue(v: Seq[Rql2RecordAttr]) extends Rql2Value -final case class Rql2RecordAttr(name: String, value: Rql2Value) -final case class Rql2TryValue(v: Either[String, Rql2Value]) extends Rql2Value -final case class Rql2OptionValue(v: Option[Rql2Value]) extends Rql2Value -final case class Rql2ListValue(v: Seq[Rql2Value]) extends Rql2Value -final case class Rql2IterableValue(v: Seq[Rql2Value]) extends Rql2Value // Data has been ready is now materialized. diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/source/SourceTree.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/source/SourceTree.scala deleted file mode 100644 index 7f9bb66fc..000000000 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/source/SourceTree.scala +++ /dev/null @@ -1,559 +0,0 @@ -/* - * Copyright 2023 RAW Labs S.A. - * - * Use of this software is governed by the Business Source License - * included in the file licenses/BSL.txt. - * - * As of the Change Date specified in that file, in accordance with - * the Business Source License, use of this software will be governed - * by the Apache License, Version 2.0, included in the file - * licenses/APL.txt. - */ - -package com.rawlabs.snapi.frontend.rql2.source - -import org.bitbucket.inkytonik.kiama.output._ -import org.bitbucket.inkytonik.kiama.output.PrettyExpression -import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.base.Counter -import com.rawlabs.snapi.frontend.base.source._ - -trait SourceNode extends BaseNode - -object SourceTree { - import org.bitbucket.inkytonik.kiama.relation.Tree - - type SourceTree = Tree[SourceNode, SourceProgram] -} - -/** - * Top-level source node. - */ -trait SourceProgram extends SourceNode with BaseProgram { - def params: Vector[SourceProgramParam] - def comment: Option[String] = None -} - -final case class SourceProgramParam(idn: CommonIdnNode, t: Type) extends CommonNode - -/** - * Qualifiers - */ -// TODO (msb): These are best called "Statements" because that's (also?) what they are -// Qual is more general than Stmt: a Gen is a Qual but not a Stmt while Bind is -trait Qual extends SourceNode - -/** - * Declarations - */ -trait Decl extends SourceNode with Qual - -/** - * Expressions - */ -trait Exp extends SourceNode with Qual with PrettyExpression - -/** - * * From now on are "common language"-related nodes. ** - */ - -/** - * Parent of all "common language" nodes. - */ -trait CommonNode extends SourceNode - -/** - * Parent of all "common language" types. - */ -trait CommonType extends Type with CommonNode - -/** - * Any Type - * The top type. - */ -final case class AnyType() extends CommonType - -/** - * Nothing Type - * The bottom type. - */ -final case class NothingType() extends CommonType - -/** - * This type is used when the tree has errors. - */ -final case class ErrorType() extends CommonType - -/** - * Parent of all "common language" expressions. - */ -trait CommonExp extends Exp with CommonNode - -/////////////////////////////////////////////////////////////////////////// -// Type Constraints -/////////////////////////////////////////////////////////////////////////// - -trait CommonTypeConstraint extends CommonType - -/** - * One-of Type constraint. - */ -final case class OneOfType(tipes: Vector[Type]) extends CommonTypeConstraint - -object OneOfType { - def apply(tipes: Type*): OneOfType = { - OneOfType(tipes.toVector) - } -} - -final case class ExpectedRecordType(idns: Set[String]) extends CommonTypeConstraint - -/////////////////////////////////////////////////////////////////////////// -// Identifiers -/////////////////////////////////////////////////////////////////////////// - -abstract class CommonIdnNode extends BaseIdnNode with CommonNode - -/** - * Defining occurrence of an identifier - */ -final case class IdnDef(idn: String) extends CommonIdnNode - -object IdnDef { - def apply(): IdnDef = IdnDef(Counter.next("common")) -} - -/** - * Use of an identifier - */ -final case class IdnUse(idn: String) extends CommonIdnNode - -object IdnUse { - def apply(i: IdnDef): IdnUse = IdnUse(i.idn) -} - -/** - * Identifier expression - */ -final case class IdnExp(idn: IdnUse) extends CommonExp - -object IdnExp { - def apply(i: IdnDef): IdnExp = IdnExp(IdnUse(i.idn)) - def apply(i: String): IdnExp = IdnExp(IdnUse(i)) - def apply(p: SourceProgramParam): IdnExp = IdnExp(p.idn.idn) - def apply(p: BaseIdnNode): IdnExp = IdnExp(p.idn) -} - -/////////////////////////////////////////////////////////////////////////// -// Expressions -/////////////////////////////////////////////////////////////////////////// - -final case class ErrorExp() extends CommonExp - -/////////////////////////////////////////////////////////////////////////// -// RQL2 -/////////////////////////////////////////////////////////////////////////// - -sealed trait Rql2Node extends SourceNode - -/////////////////////////////////////////////////////////////////////////// -// Program -/////////////////////////////////////////////////////////////////////////// - -final case class Rql2Program(methods: Vector[Rql2Method], me: Option[Exp]) extends Rql2Node with SourceProgram { - override val params: Vector[SourceProgramParam] = Vector.empty -} - -object Rql2Program { - def apply(e: Exp): Rql2Program = Rql2Program(Vector.empty, Some(e)) -} - -final case class Rql2Method(p: FunProto, i: IdnDef) extends Rql2Node - -/////////////////////////////////////////////////////////////////////////// -// Types -/////////////////////////////////////////////////////////////////////////// - -sealed trait Rql2Type extends Type with Rql2Node - -sealed trait Rql2TypeProperty extends Rql2Node -final case class Rql2IsNullableTypeProperty() extends Rql2TypeProperty -final case class Rql2IsTryableTypeProperty() extends Rql2TypeProperty - -/** - * A subset of RQL2 types have type properties. - */ -sealed trait Rql2TypeWithProperties extends Rql2Type { - def props: Set[Rql2TypeProperty] - def cloneAndAddProp(p: Rql2TypeProperty): Type - def cloneAndRemoveProp(p: Rql2TypeProperty): Type -} - -final case class Rql2UndefinedType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2TypeWithProperties { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2UndefinedType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2UndefinedType(props - p) -} - -/** - * Primitive types - */ -sealed trait Rql2PrimitiveType extends Rql2TypeWithProperties - -final case class Rql2BoolType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2PrimitiveType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2BoolType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2BoolType(props - p) -} - -final case class Rql2StringType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2PrimitiveType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2StringType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2StringType(props - p) -} - -final case class Rql2LocationType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2PrimitiveType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2LocationType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2LocationType(props - p) -} - -final case class Rql2BinaryType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2PrimitiveType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2BinaryType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2BinaryType(props - p) -} - -/** - * Number types - * - * These are also primitive types. - */ -sealed trait Rql2NumberType extends Rql2PrimitiveType - -sealed trait Rql2IntegralNumberType extends Rql2NumberType - -final case class Rql2ByteType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2IntegralNumberType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2ByteType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2ByteType(props - p) -} - -final case class Rql2ShortType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2IntegralNumberType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2ShortType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2ShortType(props - p) -} - -final case class Rql2IntType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2IntegralNumberType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2IntType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2IntType(props - p) -} - -final case class Rql2LongType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2IntegralNumberType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2LongType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2LongType(props - p) -} - -final case class Rql2FloatType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2NumberType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2FloatType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2FloatType(props - p) -} - -final case class Rql2DoubleType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2NumberType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2DoubleType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2DoubleType(props - p) -} - -final case class Rql2DecimalType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2NumberType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2DecimalType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2DecimalType(props - p) -} - -/** - * Temporal types - * - * These are also primitive types. - */ -sealed trait Rql2TemporalType extends Rql2PrimitiveType - -final case class Rql2DateType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2TemporalType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2DateType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2DateType(props - p) -} - -final case class Rql2TimeType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2TemporalType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2TimeType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2TimeType(props - p) -} - -final case class Rql2TimestampType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2TemporalType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2TimestampType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2TimestampType(props - p) -} - -final case class Rql2IntervalType(props: Set[Rql2TypeProperty] = Set.empty) extends Rql2TemporalType { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2IntervalType(props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2IntervalType(props - p) -} - -/** - * Record Type - */ -final case class Rql2RecordType(atts: Vector[Rql2AttrType], props: Set[Rql2TypeProperty] = Set.empty) - extends Rql2TypeWithProperties { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2RecordType(atts, props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2RecordType(atts, props - p) -} -final case class Rql2AttrType(idn: String, tipe: Type) extends Rql2Node - -/** - * Iterable Type - */ -final case class Rql2IterableType(innerType: Type, props: Set[Rql2TypeProperty] = Set.empty) - extends Rql2TypeWithProperties { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2IterableType(innerType, props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2IterableType(innerType, props - p) -} - -/** - * List Type - * - * Inherits from IterableType but provides index operations. - */ -final case class Rql2ListType(innerType: Type, props: Set[Rql2TypeProperty] = Set.empty) - extends Rql2TypeWithProperties { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2ListType(innerType, props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2ListType(innerType, props - p) -} - -/** - * Function Type. - */ -final case class FunType( - ms: Vector[Type], - os: Vector[FunOptTypeParam], - r: Type, - props: Set[Rql2TypeProperty] = Set.empty -) extends Rql2TypeWithProperties { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = FunType(ms, os, r, props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = FunType(ms, os, r, props - p) -} -final case class FunOptTypeParam(i: String, t: Type) extends Rql2Node - -/** - * Or Type. - */ -final case class Rql2OrType(tipes: Vector[Type], props: Set[Rql2TypeProperty] = Set.empty) - extends Rql2TypeWithProperties { - override def cloneAndAddProp(p: Rql2TypeProperty): Type = Rql2OrType(tipes, props + p) - override def cloneAndRemoveProp(p: Rql2TypeProperty): Type = Rql2OrType(tipes, props - p) -} - -object Rql2OrType { - def apply(t1: Type, t2: Type, props: Set[Rql2TypeProperty]): Rql2OrType = { - (t1, t2) match { - case (Rql2OrType(tipes1, props1), Rql2OrType(tipes2, props2)) if props == props1 && props == props2 => - Rql2OrType(tipes1 ++ tipes2, props) - case (Rql2OrType(tipes1, props1), _) if props == props1 => Rql2OrType(tipes1 :+ t2, props) - case (_, Rql2OrType(tipes2, props2)) if props == props2 => Rql2OrType(Vector(t1) ++ tipes2, props) - case _ => Rql2OrType(Vector(t1, t2), props) - } - } -} - -/** - * Package Type. - */ -final case class PackageType(name: String) extends Rql2Type -final case class PackageEntryType(pkgName: String, entName: String) extends Rql2Type - -/** - * Type Alias. - */ -final case class TypeAliasType(idn: IdnUse) extends Rql2Type - -/** - * Expression Type. - * - * The type of an expression such as `type int`. - */ -final case class ExpType(t: Type) extends Rql2Type - -/////////////////////////////////////////////////////////////////////////// -// Type Constraints -/////////////////////////////////////////////////////////////////////////// - -sealed trait Rql2TypeConstraint extends Rql2Type - -final case class ExpectedProjType(i: String) extends Rql2TypeConstraint - -final case class MergeableType(t: Type) extends Rql2TypeConstraint - -final case class HasTypeProperties(props: Set[Rql2TypeProperty]) extends Rql2TypeConstraint - -final case class IsTryable() extends Rql2TypeConstraint - -final case class IsNullable() extends Rql2TypeConstraint - -final case class DoesNotHaveTypeProperties(props: Set[Rql2TypeProperty]) extends Rql2TypeConstraint - -/////////////////////////////////////////////////////////////////////////// -// Expressions -/////////////////////////////////////////////////////////////////////////// - -sealed trait Rql2Exp extends Exp with Rql2Node - -/** - * Constants - */ - -trait Const extends Rql2Exp - -final case class NullConst() extends Const - -final case class BoolConst(value: Boolean) extends Const - -final case class StringConst(value: String) extends Const - -final case class TripleQuotedStringConst(value: String) extends Const - -final case class BinaryConst(bytes: Array[Byte]) extends Const { - override def equals(obj: Any): Boolean = { - obj match { - case BinaryConst(otherBytes) => bytes.sameElements(otherBytes) - case _ => false - } - } -} - -final case class LocationConst(bytes: Array[Byte], publicDescription: String) extends Const - -/** - * Number Constants - */ -trait NumberConst extends Const - -final case class ByteConst(value: String) extends NumberConst - -final case class ShortConst(value: String) extends NumberConst - -final case class IntConst(value: String) extends NumberConst - -final case class LongConst(value: String) extends NumberConst - -final case class FloatConst(value: String) extends NumberConst - -final case class DoubleConst(value: String) extends NumberConst - -final case class DecimalConst(value: String) extends NumberConst - -/** - * Type Expression - */ -final case class TypeExp(t: Type) extends Rql2Exp - -/** - * Let - */ - -final case class Let(decls: Vector[LetDecl], e: Exp) extends Rql2Exp - -sealed abstract class LetDecl extends Rql2Node -final case class LetBind(e: Exp, i: IdnDef, t: Option[Type]) extends LetDecl -final case class LetFun(p: FunProto, i: IdnDef) extends LetDecl -final case class LetFunRec(i: IdnDef, p: FunProto) extends LetDecl - -final case class FunProto(ps: Vector[FunParam], r: Option[Type], b: FunBody) extends Rql2Node - -final case class FunParam(i: IdnDef, t: Option[Type], e: Option[Exp]) extends Rql2Node - -// Body of function (defined as a separate node to have a separate scope). -final case class FunBody(e: Exp) extends Rql2Node - -/** - * Function Abstraction - */ - -final case class FunAbs(p: FunProto) extends Rql2Exp - -/** - * Function Application - */ - -final case class FunApp(f: Exp, args: Vector[FunAppArg]) extends Rql2Exp - -final case class FunAppArg(e: Exp, idn: Option[String]) extends Rql2Node - -/** - * Projection - */ - -final case class Proj(e: Exp, i: String) extends Rql2Exp - -/** - * Unary Operators - */ - -final case class UnaryExp(unaryOp: UnaryOp, exp: Exp) extends Rql2Exp with PrettyUnaryExpression { - override def op: String = unaryOp.op - override def priority: Int = unaryOp.priority - override def fixity: Fixity = unaryOp.fixity -} - -sealed abstract class UnaryOp(val op: String, val priority: Int) extends Rql2Node { - def fixity = Prefix -} - -final case class Not() extends UnaryOp("not", 2) - -final case class Neg() extends UnaryOp("-", 2) - -/** - * Binary Operators - */ -final case class BinaryExp(binaryOp: BinaryOp, left: Exp, right: Exp) extends Rql2Exp with PrettyBinaryExpression { - override def op: String = binaryOp.op - override def priority: Int = binaryOp.priority - override def fixity: Fixity = binaryOp.fixity -} - -sealed abstract class BinaryOp(val op: String, val priority: Int) extends Rql2Node { - def fixity = Infix(LeftAssoc) -} - -final case class Plus() extends BinaryOp("+", 5) - -final case class Sub() extends BinaryOp("-", 5) - -final case class Mult() extends BinaryOp("*", 4) - -final case class Div() extends BinaryOp("/", 4) - -final case class Mod() extends BinaryOp("%", 4) - -sealed abstract class ComparableOp(op: String, priority: Int) extends BinaryOp(op, priority) - -final case class Ge() extends ComparableOp(">=", 7) - -final case class Gt() extends ComparableOp(">", 7) - -final case class Le() extends ComparableOp("<=", 7) - -final case class Lt() extends ComparableOp("<", 7) - -final case class Eq() extends ComparableOp("==", 8) - -final case class Neq() extends ComparableOp("!=", 8) - -sealed abstract class BooleanOp(op: String, priority: Int) extends BinaryOp(op, priority) - -final case class And() extends BooleanOp("and", 12) - -final case class Or() extends BooleanOp("or", 13) - -/** - * Tertiary Operators - */ - -final case class IfThenElse(e1: Exp, e2: Exp, e3: Exp) extends Rql2Exp - -/** - * PackageIdnExp - * - * Used to refer to built-in package names. - */ -final case class PackageIdnExp(name: String) extends Rql2Exp diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/CommonSemanticAnalyzer.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/CommonSemanticAnalyzer.scala similarity index 98% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/CommonSemanticAnalyzer.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/CommonSemanticAnalyzer.scala index 5fc82c7be..644e25067 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/CommonSemanticAnalyzer.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/CommonSemanticAnalyzer.scala @@ -10,7 +10,7 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi import org.bitbucket.inkytonik.kiama.==> import org.bitbucket.inkytonik.kiama.rewriting.Rewriter._ @@ -19,7 +19,7 @@ import com.rawlabs.snapi.frontend.base.{MultipleEntity, TreeDescription, Unknown import com.rawlabs.snapi.frontend.base import com.rawlabs.snapi.frontend.base.source._ import com.rawlabs.snapi.frontend.base.errors._ -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ import scala.collection.mutable diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/FrontendSyntaxAnalyzer.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/FrontendSyntaxAnalyzer.scala similarity index 81% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/FrontendSyntaxAnalyzer.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/FrontendSyntaxAnalyzer.scala index 64633c48e..f89ab5205 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/FrontendSyntaxAnalyzer.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/FrontendSyntaxAnalyzer.scala @@ -10,16 +10,16 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi import org.bitbucket.inkytonik.kiama.parsing._ import org.bitbucket.inkytonik.kiama.util.Positions import com.rawlabs.snapi.frontend.base.SyntaxAnalyzer.identRegex import com.rawlabs.snapi.frontend.base.source.{BaseProgram, Type} import com.rawlabs.snapi.frontend.base -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.{ListPackageBuilder, RecordPackageBuilder} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.{ListPackageBuilder, RecordPackageBuilder} +import com.rawlabs.snapi.frontend.snapi.source._ import scala.util.matching.Regex @@ -102,9 +102,11 @@ class FrontendSyntaxAnalyzer(val positions: Positions) // Program vs Package /////////////////////////////////////////////////////////////////////////// - override lazy val program: Parser[BaseProgram] = rep(rql2Method) ~ opt(exp) ^^ { case ms ~ me => Rql2Program(ms, me) } + override lazy val program: Parser[BaseProgram] = rep(snapiMethod) ~ opt(exp) ^^ { + case ms ~ me => SnapiProgram(ms, me) + } - final protected lazy val rql2Method: Parser[Rql2Method] = idnDef ~ funProto ^^ { case i ~ p => Rql2Method(p, i) } + final protected lazy val snapiMethod: Parser[SnapiMethod] = idnDef ~ funProto ^^ { case i ~ p => SnapiMethod(p, i) } /////////////////////////////////////////////////////////////////////////// // Types @@ -117,7 +119,7 @@ class FrontendSyntaxAnalyzer(val positions: Positions) } | tipe2 protected lazy val tipe2: PackratParser[Type] = tipe2 ~ (tokOr ~> baseType) ^^ { - case t1 ~ t2 => Rql2OrType(t1, t2, defaultProps) + case t1 ~ t2 => SnapiOrType(t1, t2, defaultProps) } | baseType protected def baseType: Parser[Type] = baseTypeAttr @@ -134,54 +136,54 @@ class FrontendSyntaxAnalyzer(val positions: Positions) typeAliasType | "(" ~> tipe <~ ")" - final protected lazy val primitiveType: Parser[Rql2PrimitiveType] = + final protected lazy val primitiveType: Parser[SnapiPrimitiveType] = boolType | stringType | locationType | binaryType | numberType | temporalType - final protected lazy val boolType: Parser[Rql2BoolType] = tokBool ^^^ Rql2BoolType(defaultProps) + final protected lazy val boolType: Parser[SnapiBoolType] = tokBool ^^^ SnapiBoolType(defaultProps) - final protected lazy val stringType: Parser[Rql2StringType] = tokString ^^^ Rql2StringType(defaultProps) + final protected lazy val stringType: Parser[SnapiStringType] = tokString ^^^ SnapiStringType(defaultProps) - final protected lazy val locationType: Parser[Rql2LocationType] = tokLocation ^^^ Rql2LocationType(defaultProps) + final protected lazy val locationType: Parser[SnapiLocationType] = tokLocation ^^^ SnapiLocationType(defaultProps) - final protected lazy val binaryType: Parser[Rql2BinaryType] = tokBinary ^^^ Rql2BinaryType(defaultProps) + final protected lazy val binaryType: Parser[SnapiBinaryType] = tokBinary ^^^ SnapiBinaryType(defaultProps) - final protected lazy val numberType: Parser[Rql2NumberType] = + final protected lazy val numberType: Parser[SnapiNumberType] = byteType | shortType | intType | longType | floatType | doubleType | decimalType - final protected lazy val byteType: Parser[Rql2ByteType] = tokByte ^^^ Rql2ByteType(defaultProps) + final protected lazy val byteType: Parser[SnapiByteType] = tokByte ^^^ SnapiByteType(defaultProps) - final protected lazy val shortType: Parser[Rql2ShortType] = tokShort ^^^ Rql2ShortType(defaultProps) + final protected lazy val shortType: Parser[SnapiShortType] = tokShort ^^^ SnapiShortType(defaultProps) - final protected lazy val intType: Parser[Rql2IntType] = tokInt ^^^ Rql2IntType(defaultProps) + final protected lazy val intType: Parser[SnapiIntType] = tokInt ^^^ SnapiIntType(defaultProps) - final protected lazy val longType: Parser[Rql2LongType] = tokLong ^^^ Rql2LongType(defaultProps) + final protected lazy val longType: Parser[SnapiLongType] = tokLong ^^^ SnapiLongType(defaultProps) - final protected lazy val floatType: Parser[Rql2FloatType] = tokFloat ^^^ Rql2FloatType(defaultProps) + final protected lazy val floatType: Parser[SnapiFloatType] = tokFloat ^^^ SnapiFloatType(defaultProps) - final protected lazy val doubleType: Parser[Rql2DoubleType] = tokDouble ^^^ Rql2DoubleType(defaultProps) + final protected lazy val doubleType: Parser[SnapiDoubleType] = tokDouble ^^^ SnapiDoubleType(defaultProps) - final protected lazy val decimalType: Parser[Rql2DecimalType] = tokDecimal ^^^ Rql2DecimalType(defaultProps) + final protected lazy val decimalType: Parser[SnapiDecimalType] = tokDecimal ^^^ SnapiDecimalType(defaultProps) - final protected lazy val temporalType: Parser[Rql2TemporalType] = dateType | timeType | intervalType | timestampType + final protected lazy val temporalType: Parser[SnapiTemporalType] = dateType | timeType | intervalType | timestampType - final protected lazy val dateType: Parser[Rql2DateType] = tokDate ^^^ Rql2DateType(defaultProps) + final protected lazy val dateType: Parser[SnapiDateType] = tokDate ^^^ SnapiDateType(defaultProps) - final protected lazy val timeType: Parser[Rql2TimeType] = tokTime ^^^ Rql2TimeType(defaultProps) + final protected lazy val timeType: Parser[SnapiTimeType] = tokTime ^^^ SnapiTimeType(defaultProps) - final protected lazy val intervalType: Parser[Rql2IntervalType] = tokInterval ^^^ Rql2IntervalType(defaultProps) + final protected lazy val intervalType: Parser[SnapiIntervalType] = tokInterval ^^^ SnapiIntervalType(defaultProps) - final protected lazy val timestampType: Parser[Rql2TimestampType] = tokTimestamp ^^^ Rql2TimestampType(defaultProps) + final protected lazy val timestampType: Parser[SnapiTimestampType] = tokTimestamp ^^^ SnapiTimestampType(defaultProps) - final protected lazy val recordType: Parser[Rql2RecordType] = - tokRecord ~> ("(" ~> repsep(attrType, ",") <~ opt(",") <~ ")") ^^ (atts => Rql2RecordType(atts, defaultProps)) + final protected lazy val recordType: Parser[SnapiRecordType] = + tokRecord ~> ("(" ~> repsep(attrType, ",") <~ opt(",") <~ ")") ^^ (atts => SnapiRecordType(atts, defaultProps)) - final protected lazy val attrType: Parser[Rql2AttrType] = (ident <~ ":") ~ tipe ^^ Rql2AttrType + final protected lazy val attrType: Parser[SnapiAttrType] = (ident <~ ":") ~ tipe ^^ SnapiAttrType - final protected lazy val iterableType: Parser[Rql2IterableType] = - tokCollection ~> ("(" ~> tipe <~ ")") ^^ (t => Rql2IterableType(t, defaultProps)) + final protected lazy val iterableType: Parser[SnapiIterableType] = + tokCollection ~> ("(" ~> tipe <~ ")") ^^ (t => SnapiIterableType(t, defaultProps)) - final protected lazy val listType: Parser[Rql2ListType] = tokList ~> ("(" ~> tipe <~ ")") ^^ { - case t => Rql2ListType(t, defaultProps) + final protected lazy val listType: Parser[SnapiListType] = tokList ~> ("(" ~> tipe <~ ")") ^^ { + case t => SnapiListType(t, defaultProps) } final protected lazy val funType: PackratParser[FunType] = { @@ -205,7 +207,7 @@ class FrontendSyntaxAnalyzer(val positions: Positions) final protected lazy val expType: Parser[ExpType] = tokType ~> tipe ^^ ExpType - final protected lazy val undefinedType: Parser[Rql2UndefinedType] = tokUndefined ^^^ Rql2UndefinedType(defaultProps) + final protected lazy val undefinedType: Parser[SnapiUndefinedType] = tokUndefined ^^^ SnapiUndefinedType(defaultProps) final protected lazy val typeAliasType: Parser[TypeAliasType] = typeIdnUse ^^ TypeAliasType @@ -215,7 +217,7 @@ class FrontendSyntaxAnalyzer(val positions: Positions) if (isReservedType(idn)) failure("reserved type keyword") else success(idn) } - private val defaultProps: Set[Rql2TypeProperty] = Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()) + private val defaultProps: Set[SnapiTypeProperty] = Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty()) /////////////////////////////////////////////////////////////////////////// // Expressions diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/Keywords.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/Keywords.scala similarity index 97% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/Keywords.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/Keywords.scala index 5f93e9af8..e0da8c448 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/Keywords.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/Keywords.scala @@ -10,7 +10,7 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi import com.rawlabs.snapi.frontend.base diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/LspAnalyzer.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/LspAnalyzer.scala similarity index 95% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/LspAnalyzer.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/LspAnalyzer.scala index 12c5a5756..03ec16f07 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/LspAnalyzer.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/LspAnalyzer.scala @@ -10,7 +10,7 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi import com.rawlabs.compiler.{ AutoCompleteResponse, @@ -38,8 +38,8 @@ import org.bitbucket.inkytonik.kiama.rewriting.Rewriter._ import org.bitbucket.inkytonik.kiama.util.{Position, Positions, StringSource} import com.rawlabs.snapi.frontend.base.errors.CompilationMessageMapper import com.rawlabs.snapi.frontend.base.source.{BaseIdnNode, BaseNode} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.errors.ErrorsPrettyPrinter +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.errors.ErrorsPrettyPrinter import scala.util.Try @@ -143,12 +143,12 @@ class LspAnalyzer( maybeNode match { case Some(LetBind(_, _, Some(ErrorType()))) | Some(FunParam(IdnDef(_), Some(ErrorType()), None)) | Some( LetBind(_, _, Some(TypeAliasType(_))) - ) | Some(Rql2AttrType(_, ErrorType())) | Some(TypeExp(ErrorType())) | Some(TypeAliasType(_)) => + ) | Some(SnapiAttrType(_, ErrorType())) | Some(TypeExp(ErrorType())) | Some(TypeAliasType(_)) => val allTypes = getAllTypesInScope(maybeNode, prefix) AutoCompleteResponse(allTypes) case _ => // Given that node, ask the "chain" for all entries in scope. nodeAtCurrentPosition match { - case Some(Rql2ListType(ErrorType(), _)) => + case Some(SnapiListType(ErrorType(), _)) => val allTypes = getAllTypesInScope(maybeNode, prefix) AutoCompleteResponse(allTypes) case _ => @@ -232,7 +232,7 @@ class LspAnalyzer( .sortBy { e: Exp => positions.textOf(e).get.length } .collectFirst { case e: Exp => analyzer.tipe(e) match { - case Rql2RecordType(atts, _) => atts.map { a => + case SnapiRecordType(atts, _) => atts.map { a => FieldCompletion( SourcePrettyPrinter.ident(a.idn), SourcePrettyPrinter.format(a.tipe) @@ -251,16 +251,16 @@ class LspAnalyzer( val docs = pkg.getEntry(e).docs PackageEntryCompletion(e, docs) } - case Rql2ListType(Rql2RecordType(atts, _), _) => atts.map(a => + case SnapiListType(SnapiRecordType(atts, _), _) => atts.map(a => FieldCompletion( SourcePrettyPrinter.ident(a.idn), - SourcePrettyPrinter.format(Rql2ListType(a.tipe)) + SourcePrettyPrinter.format(SnapiListType(a.tipe)) ) ) - case Rql2IterableType(Rql2RecordType(atts, _), _) => atts.map { a => + case SnapiIterableType(SnapiRecordType(atts, _), _) => atts.map { a => FieldCompletion( SourcePrettyPrinter.ident(a.idn), - SourcePrettyPrinter.format(Rql2IterableType(a.tipe)) + SourcePrettyPrinter.format(SnapiIterableType(a.tipe)) ) } case _ => Seq.empty[Completion] @@ -306,7 +306,7 @@ class LspAnalyzer( val LetFun(p, i) = letFunEntity.f HoverResponse(Some(TypeCompletion(i.idn, getFunctionSignature(i, p)))) case methodEntity: MethodEntity => //gets here - val Rql2Method(p, i) = methodEntity.d + val SnapiMethod(p, i) = methodEntity.d HoverResponse(Some(TypeCompletion(i.idn, getFunctionSignature(i, p)))) case letFunRecEntity: LetFunRecEntity => //gets here val LetFunRec(i, p) = letFunRecEntity.f @@ -317,7 +317,7 @@ class LspAnalyzer( case _ => HoverResponse(None) } case Proj(e, i) => analyzer.actualType(e) match { //gets here - case Rql2RecordType(atts, _) => + case SnapiRecordType(atts, _) => val att = atts.find(a => a.idn == i) if (att.isDefined) HoverResponse(Some(TypeCompletion(i, SourcePrettyPrinter.format(att.get.tipe)))) else HoverResponse(None) @@ -332,7 +332,7 @@ class LspAnalyzer( case _ => HoverResponse(None) } // for debugging - // case rql2Node: Rql2Node => rql2Node + // case snapiNode: SnapiNode => snapiNode } res match { @@ -398,7 +398,7 @@ class LspAnalyzer( val pos = positions.getStart(i) GoToDefinitionResponse(Some(Pos(pos.get.line, pos.get.column))) case methodEntity: MethodEntity => - val Rql2Method(p, i) = methodEntity.d + val SnapiMethod(p, i) = methodEntity.d val pos = positions.getStart(i) GoToDefinitionResponse(Some(Pos(pos.get.line, pos.get.column))) case letFunRecEntity: LetFunRecEntity => @@ -408,7 +408,7 @@ class LspAnalyzer( case _ => GoToDefinitionResponse(None) } case Proj(e, i) => analyzer.actualType(e) match { - case Rql2RecordType(atts, _) => + case SnapiRecordType(atts, _) => val posRes = for { att <- atts.find(a => a.idn == i) pos <- positions.getStart(att.idn) @@ -420,7 +420,7 @@ class LspAnalyzer( case _ => GoToDefinitionResponse(None) } // for debugging - // case rql2Node: Rql2Node => rql2Node + // case snapiNode: SnapiNode => snapiNode } res match { diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/PhaseDescriptor.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/PhaseDescriptor.scala similarity index 92% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/PhaseDescriptor.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/PhaseDescriptor.scala index 07d2cb0ed..3c1924e0e 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/PhaseDescriptor.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/PhaseDescriptor.scala @@ -10,9 +10,9 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ final case class PhaseDescriptor( name: String, diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/PipelinedPhase.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/PipelinedPhase.scala similarity index 94% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/PipelinedPhase.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/PipelinedPhase.scala index ad97eef6b..bee440aca 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/PipelinedPhase.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/PipelinedPhase.scala @@ -10,9 +10,9 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi -import com.rawlabs.snapi.frontend.rql2.source.SourceProgram +import com.rawlabs.snapi.frontend.snapi.source.SourceProgram trait PipelinedPhase extends com.rawlabs.snapi.frontend.base.PipelinedPhase[SourceProgram] diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/ProgramContext.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/ProgramContext.scala similarity index 79% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/ProgramContext.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/ProgramContext.scala index 31f37f826..2a15156f7 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/ProgramContext.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/ProgramContext.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi import com.rawlabs.compiler.ProgramEnvironment import com.rawlabs.snapi.frontend.base.CompilerContext import com.rawlabs.snapi.frontend.base.errors.ErrorCompilerMessage -import com.rawlabs.snapi.frontend.rql2.extensions.{PackageExtension, PackageExtensionProvider} -import com.rawlabs.snapi.frontend.rql2.source.Rql2Program +import com.rawlabs.snapi.frontend.snapi.extensions.{PackageExtension, PackageExtensionProvider} +import com.rawlabs.snapi.frontend.snapi.source.SnapiProgram import com.rawlabs.snapi.frontend.inferrer.api.{InferrerInput, InferrerOutput} import scala.collection.mutable @@ -30,7 +30,7 @@ class ProgramContext( private val dynamicPackageCache = new mutable.HashMap[String, PackageExtension] - private val stageCompilerCache = new mutable.HashMap[Rql2Program, Either[ErrorCompilerMessage, Rql2Value]] + private val stageCompilerCache = new mutable.HashMap[SnapiProgram, Either[ErrorCompilerMessage, SnapiValue]] def infer( inferrerProperties: InferrerInput @@ -50,9 +50,9 @@ class ProgramContext( } def getOrAddStagedCompilation( - program: Rql2Program, - f: => Either[ErrorCompilerMessage, Rql2Value] - ): Either[ErrorCompilerMessage, Rql2Value] = { + program: SnapiProgram, + f: => Either[ErrorCompilerMessage, SnapiValue] + ): Either[ErrorCompilerMessage, SnapiValue] = { stageCompilerCache.getOrElseUpdate(program, f) } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/Rql2Values.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/Rql2Values.scala new file mode 100644 index 000000000..4bcebbde7 --- /dev/null +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/Rql2Values.scala @@ -0,0 +1,47 @@ +/* + * Copyright 2023 RAW Labs S.A. + * + * Use of this software is governed by the Business Source License + * included in the file licenses/BSL.txt. + * + * As of the Change Date specified in that file, in accordance with + * the Business Source License, use of this software will be governed + * by the Apache License, Version 2.0, included in the file + * licenses/APL.txt. + */ + +package com.rawlabs.snapi.frontend.snapi + +import com.rawlabs.utils.sources.api.Location + +sealed trait SnapiValue +final case class SnapiStringValue(v: String) extends SnapiValue +final case class SnapiBoolValue(v: Boolean) extends SnapiValue +final case class SnapiBinaryValue(v: Array[Byte]) extends SnapiValue +final case class SnapiByteValue(v: Byte) extends SnapiValue +final case class SnapiShortValue(v: Short) extends SnapiValue +final case class SnapiIntValue(v: Int) extends SnapiValue +final case class SnapiLongValue(v: Long) extends SnapiValue +final case class SnapiFloatValue(v: Float) extends SnapiValue +final case class SnapiDoubleValue(v: Double) extends SnapiValue +final case class SnapiDecimalValue(v: BigDecimal) extends SnapiValue +final case class SnapiDateValue(v: java.time.LocalDate) extends SnapiValue +final case class SnapiTimeValue(v: java.time.LocalTime) extends SnapiValue +final case class SnapiTimestampValue(v: java.time.LocalDateTime) extends SnapiValue +final case class SnapiIntervalValue( + years: Int, + months: Int, + weeks: Int, + days: Int, + hours: Int, + minutes: Int, + seconds: Int, + millis: Int +) extends SnapiValue +final case class SnapiLocationValue(l: Location, publicDescription: String) extends SnapiValue +final case class SnapiRecordValue(v: Seq[SnapiRecordAttr]) extends SnapiValue +final case class SnapiRecordAttr(name: String, value: SnapiValue) +final case class SnapiTryValue(v: Either[String, SnapiValue]) extends SnapiValue +final case class SnapiOptionValue(v: Option[SnapiValue]) extends SnapiValue +final case class SnapiListValue(v: Seq[SnapiValue]) extends SnapiValue +final case class SnapiIterableValue(v: Seq[SnapiValue]) extends SnapiValue // Data has been ready is now materialized. diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/SemanticAnalyzer.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/SemanticAnalyzer.scala similarity index 82% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/SemanticAnalyzer.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/SemanticAnalyzer.scala index 418cfb872..ff05d66e9 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/SemanticAnalyzer.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/SemanticAnalyzer.scala @@ -10,7 +10,7 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi import com.typesafe.scalalogging.StrictLogging import org.bitbucket.inkytonik.kiama.==> @@ -19,8 +19,8 @@ import org.bitbucket.inkytonik.kiama.util.Entity import com.rawlabs.snapi.frontend.base._ import com.rawlabs.snapi.frontend.base.errors._ import com.rawlabs.snapi.frontend.base.source._ -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpArg, @@ -31,7 +31,7 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ ValueArg, ValueParam } -import com.rawlabs.snapi.frontend.rql2.errors.{ +import com.rawlabs.snapi.frontend.snapi.errors.{ CannotDetermineTypeOfParameter, ExpectedTypeButGotExpression, FailedToEvaluate, @@ -48,8 +48,8 @@ import com.rawlabs.snapi.frontend.rql2.errors.{ UnexpectedArguments, UnexpectedOptionalArgument } -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TypePackageBuilder -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TypePackageBuilder +import com.rawlabs.snapi.frontend.snapi.source._ import scala.collection.mutable import scala.util.control.NonFatal @@ -58,7 +58,7 @@ case class FunAppPackageEntryArguments( mandatoryArgs: Seq[Arg], optionalArgs: Vector[(String, Arg)], varArgs: Seq[Arg], - extraProps: Set[Rql2TypeProperty] + extraProps: Set[SnapiTypeProperty] ) final private class MergeTypeException extends Exception @@ -74,17 +74,18 @@ final case class CompatibilityReport(t: Type, effective: Type) { // hit when consuming the iterable. This is then up to the consumer to protect itself from the error. An iterable consumer // should always handle a possible unexpected null/error because it's the one consuming. It can type as an try itself // in order to propagate the error, or handle it in some way. - def extraProps: Set[Rql2TypeProperty] = { + def extraProps: Set[SnapiTypeProperty] = { - def recurse(target: Type, effective: Type): Set[Rql2TypeProperty] = (target, effective) match { - case (Rql2ListType(inner1, props1), Rql2ListType(inner2, props2)) => recurse(inner1, inner2) ++ (props2 &~ props1) - case (Rql2IterableType(inner1, props1), Rql2IterableType(inner2, props2)) => (props2 &~ props1) - case (Rql2RecordType(atts1, props1), Rql2RecordType(atts2, props2)) => + def recurse(target: Type, effective: Type): Set[SnapiTypeProperty] = (target, effective) match { + case (SnapiListType(inner1, props1), SnapiListType(inner2, props2)) => + recurse(inner1, inner2) ++ (props2 &~ props1) + case (SnapiIterableType(inner1, props1), SnapiIterableType(inner2, props2)) => (props2 &~ props1) + case (SnapiRecordType(atts1, props1), SnapiRecordType(atts2, props2)) => val tipes1 = atts1.map(_.tipe) val tipes2 = atts2.map(_.tipe) assert(tipes1.size == tipes2.size) tipes1.zip(tipes2).flatMap { case (t1, t2) => recurse(t1, t2) }.toSet ++ (props2 &~ props1) - case (t1: Rql2TypeWithProperties, t2: Rql2TypeWithProperties) => t2.props &~ t1.props + case (t1: SnapiTypeWithProperties, t2: SnapiTypeWithProperties) => t2.props &~ t1.props case (_: PackageEntryType, _: PackageEntryType) => Set.empty case (_: PackageType, _: PackageType) => Set.empty case _ => Set.empty @@ -103,16 +104,16 @@ final case class CompatibilityReport(t: Type, effective: Type) { def castNeeded: Boolean = { def recurse(target: Type, effective: Type): Boolean = (target, effective) match { - case (Rql2ListType(inner1, props1), Rql2ListType(inner2, props2)) => + case (SnapiListType(inner1, props1), SnapiListType(inner2, props2)) => recurse(inner1, inner2) || (props2 &~ props1).nonEmpty - case (Rql2IterableType(inner1, props1), Rql2IterableType(inner2, props2)) => + case (SnapiIterableType(inner1, props1), SnapiIterableType(inner2, props2)) => recurse(inner1, inner2) || (props2 &~ props1).nonEmpty - case (Rql2RecordType(atts1, props1), Rql2RecordType(atts2, props2)) => + case (SnapiRecordType(atts1, props1), SnapiRecordType(atts2, props2)) => val tipes1 = atts1.map(_.tipe) val tipes2 = atts2.map(_.tipe) assert(tipes1.size == tipes2.size) tipes1.zip(tipes2).exists { case (t1, t2) => recurse(t1, t2) } || (props2 &~ props1).nonEmpty - case (t1: Rql2TypeWithProperties, t2: Rql2TypeWithProperties) => (t2.props &~ t1.props).nonEmpty + case (t1: SnapiTypeWithProperties, t2: SnapiTypeWithProperties) => (t2.props &~ t1.props).nonEmpty case (_: PackageEntryType, _: PackageEntryType) => false case (_: PackageType, _: PackageType) => false case _ => false @@ -125,7 +126,7 @@ final case class CompatibilityReport(t: Type, effective: Type) { // Helper to merge types. // Does not handle PackageType or TypeAlias, since these are never exposed to Package extensions. -class TypesMerger extends Rql2TypeUtils with StrictLogging { +class TypesMerger extends SnapiTypeUtils with StrictLogging { final def isCompatible(actual: Type, expected: Type): Boolean = { getCompatibleType(actual, expected).isDefined @@ -139,23 +140,23 @@ class TypesMerger extends Rql2TypeUtils with StrictLogging { // For complex types (records, collections), get the inner types as merged and // wrap back, merging the properties (t1, t2) match { - case (Rql2RecordType(atts1, props1), Rql2RecordType(atts2, props2)) => + case (SnapiRecordType(atts1, props1), SnapiRecordType(atts2, props2)) => if (atts1.size != atts2.size) None else { val mergedAttrs = - atts1.zip(atts2).foldLeft(Some(Vector.empty[Rql2AttrType]): Option[Vector[Rql2AttrType]]) { - case (Some(atts), (Rql2AttrType(f1, i1), Rql2AttrType(f2, i2))) => + atts1.zip(atts2).foldLeft(Some(Vector.empty[SnapiAttrType]): Option[Vector[SnapiAttrType]]) { + case (Some(atts), (SnapiAttrType(f1, i1), SnapiAttrType(f2, i2))) => if (f1 == f2) { - merge(i1, i2).map(t => atts :+ Rql2AttrType(f1, t)) + merge(i1, i2).map(t => atts :+ SnapiAttrType(f1, t)) } else None case _ => None } - mergedAttrs.map(atts => Rql2RecordType(atts, props1 ++ props2)) + mergedAttrs.map(atts => SnapiRecordType(atts, props1 ++ props2)) } - case (Rql2ListType(i1, props1), Rql2ListType(i2, props2)) => - merge(i1, i2).map(t => Rql2ListType(t, props1 ++ props2)) - case (Rql2IterableType(i1, props1), Rql2IterableType(i2, props2)) => - merge(i1, i2).map(t => Rql2IterableType(t, props1 ++ props2)) + case (SnapiListType(i1, props1), SnapiListType(i2, props2)) => + merge(i1, i2).map(t => SnapiListType(t, props1 ++ props2)) + case (SnapiIterableType(i1, props1), SnapiIterableType(i2, props2)) => + merge(i1, i2).map(t => SnapiIterableType(t, props1 ++ props2)) case _ => // The merged type of two primitive types: // * Call getCompatibleType after having removed properties, _both ways_ @@ -187,11 +188,11 @@ class TypesMerger extends Rql2TypeUtils with StrictLogging { def propertyCompatible(actual: Type, expected: Type): Boolean = { assert(!isTypeConstraint(expected)) (actual, expected) match { - case (Rql2ListType(actualInner, actualProps), Rql2ListType(expectedInner, expectedProps)) => + case (SnapiListType(actualInner, actualProps), SnapiListType(expectedInner, expectedProps)) => expectedProps.subsetOf(actualProps) && propertyCompatible(actualInner, expectedInner) - case (Rql2IterableType(actualInner, actualProps), Rql2IterableType(expectedInner, expectedProps)) => + case (SnapiIterableType(actualInner, actualProps), SnapiIterableType(expectedInner, expectedProps)) => expectedProps.subsetOf(actualProps) && propertyCompatible(actualInner, expectedInner) - case (Rql2RecordType(actualAtts, actualProps), Rql2RecordType(expectedAtts, expectedProps)) => + case (SnapiRecordType(actualAtts, actualProps), SnapiRecordType(expectedAtts, expectedProps)) => // same field names, compatible properties and matching field types actualAtts.map(_.idn) == expectedAtts.map(_.idn) && (actualProps.intersect(expectedProps) == expectedProps) && actualAtts.map(_.tipe).zip(expectedAtts.map(_.tipe)).forall { @@ -214,7 +215,7 @@ class TypesMerger extends Rql2TypeUtils with StrictLogging { // if we expected the type to be tryable (of anything), the target is the actual type as tryable (possibly nullable) Some( CompatibilityReport( - addProp(actual, Rql2IsTryableTypeProperty()), + addProp(actual, SnapiIsTryableTypeProperty()), actual ) ) @@ -222,7 +223,7 @@ class TypesMerger extends Rql2TypeUtils with StrictLogging { // if we expected the type to be nullable (of anything), the target is the actual type as nullable, and _not tryable_ Some( CompatibilityReport( - resetProps(actual, Set(Rql2IsNullableTypeProperty())), + resetProps(actual, Set(SnapiIsNullableTypeProperty())), actual ) ) @@ -235,9 +236,9 @@ class TypesMerger extends Rql2TypeUtils with StrictLogging { case (_, OneOfType(expectedTypes)) => expectedTypes.flatMap(t => funParamTypeCompatibility(actual, t)).headOption case (_, MergeableType(target)) => mergeType(actual, target).map(m => CompatibilityReport(m, m)) // m - case (Rql2RecordType(as, _), ExpectedRecordType(idns)) if idns.subsetOf(as.map(_.idn).toSet) => + case (SnapiRecordType(as, _), ExpectedRecordType(idns)) if idns.subsetOf(as.map(_.idn).toSet) => Some(CompatibilityReport(resetProps(actual, Set.empty), actual)) - case (r: Rql2RecordType, e: ExpectedProjType) if r.atts.exists(att => att.idn == e.i) => + case (r: SnapiRecordType, e: ExpectedProjType) if r.atts.exists(att => att.idn == e.i) => Some(CompatibilityReport(actual, actual)) case (_, _: AnythingType) => Some(CompatibilityReport(actual, actual)) case _ => None @@ -245,22 +246,22 @@ class TypesMerger extends Rql2TypeUtils with StrictLogging { } else { try { (actual, expected) match { - case (Rql2ListType(actualItemType, actualProps), Rql2ListType(expectedItemType, expectedProps)) => + case (SnapiListType(actualItemType, actualProps), SnapiListType(expectedItemType, expectedProps)) => funParamTypeCompatibility(actualItemType, expectedItemType).map { report => CompatibilityReport( - Rql2ListType(report.t, expectedProps), - Rql2ListType(report.effective, actualProps) + SnapiListType(report.t, expectedProps), + SnapiListType(report.effective, actualProps) ) } - case (Rql2IterableType(actualItemType, actualProps), Rql2IterableType(expectedItemType, expectedProps)) => + case (SnapiIterableType(actualItemType, actualProps), SnapiIterableType(expectedItemType, expectedProps)) => val r = funParamTypeCompatibility(actualItemType, expectedItemType) r.map { report => CompatibilityReport( - Rql2IterableType(report.t, expectedProps), - Rql2IterableType(report.effective, actualProps) + SnapiIterableType(report.t, expectedProps), + SnapiIterableType(report.effective, actualProps) ) } - case (Rql2RecordType(actualAtts, actualProps), Rql2RecordType(expectedAtts, expectedProps)) => + case (SnapiRecordType(actualAtts, actualProps), SnapiRecordType(expectedAtts, expectedProps)) => if (actualAtts.size != expectedAtts.size || actualAtts.map(_.idn) != expectedAtts.map(_.idn)) None else { val actualTypes = actualAtts.map(_.tipe) @@ -269,12 +270,12 @@ class TypesMerger extends Rql2TypeUtils with StrictLogging { actualTypes.zip(expectedTypes).map { case (t1, t2) => funParamTypeCompatibility(t1, t2) } if (fieldChecks.forall(_.isDefined)) { val okChecks = fieldChecks.flatten - val effectiveFields = actualAtts.zip(okChecks).map { case (a, c) => Rql2AttrType(a.idn, c.effective) } - val targetFields = actualAtts.zip(okChecks).map { case (a, c) => Rql2AttrType(a.idn, c.t) } + val effectiveFields = actualAtts.zip(okChecks).map { case (a, c) => SnapiAttrType(a.idn, c.effective) } + val targetFields = actualAtts.zip(okChecks).map { case (a, c) => SnapiAttrType(a.idn, c.t) } Some( CompatibilityReport( - Rql2RecordType(targetFields, expectedProps), - Rql2RecordType(effectiveFields, actualProps) + SnapiRecordType(targetFields, expectedProps), + SnapiRecordType(effectiveFields, actualProps) ) ) } else None @@ -325,89 +326,89 @@ class TypesMerger extends Rql2TypeUtils with StrictLogging { @throws[MergeTypeException] protected def recurse(actual: Type, expected: Type): Type = (actual, expected) match { // Upcast to short - case (a: Rql2ByteType, e: Rql2ShortType) if a.props.subsetOf(e.props) => Rql2ShortType(e.props) + case (a: SnapiByteType, e: SnapiShortType) if a.props.subsetOf(e.props) => SnapiShortType(e.props) // Update to int - case (a: Rql2ByteType, e: Rql2IntType) if a.props.subsetOf(e.props) => Rql2IntType(e.props) - case (a: Rql2ShortType, e: Rql2IntType) if a.props.subsetOf(e.props) => Rql2IntType(e.props) + case (a: SnapiByteType, e: SnapiIntType) if a.props.subsetOf(e.props) => SnapiIntType(e.props) + case (a: SnapiShortType, e: SnapiIntType) if a.props.subsetOf(e.props) => SnapiIntType(e.props) // Upcast to long - case (a: Rql2ByteType, e: Rql2LongType) if a.props.subsetOf(e.props) => Rql2LongType(e.props) - case (a: Rql2ShortType, e: Rql2LongType) if a.props.subsetOf(e.props) => Rql2LongType(e.props) - case (a: Rql2IntType, e: Rql2LongType) if a.props.subsetOf(e.props) => Rql2LongType(e.props) + case (a: SnapiByteType, e: SnapiLongType) if a.props.subsetOf(e.props) => SnapiLongType(e.props) + case (a: SnapiShortType, e: SnapiLongType) if a.props.subsetOf(e.props) => SnapiLongType(e.props) + case (a: SnapiIntType, e: SnapiLongType) if a.props.subsetOf(e.props) => SnapiLongType(e.props) // Upcast to float - case (a: Rql2ByteType, e: Rql2FloatType) if a.props.subsetOf(e.props) => Rql2FloatType(e.props) - case (a: Rql2ShortType, e: Rql2FloatType) if a.props.subsetOf(e.props) => Rql2FloatType(e.props) - case (a: Rql2IntType, e: Rql2FloatType) if a.props.subsetOf(e.props) => Rql2FloatType(e.props) - case (a: Rql2LongType, e: Rql2FloatType) if a.props.subsetOf(e.props) => Rql2FloatType(e.props) + case (a: SnapiByteType, e: SnapiFloatType) if a.props.subsetOf(e.props) => SnapiFloatType(e.props) + case (a: SnapiShortType, e: SnapiFloatType) if a.props.subsetOf(e.props) => SnapiFloatType(e.props) + case (a: SnapiIntType, e: SnapiFloatType) if a.props.subsetOf(e.props) => SnapiFloatType(e.props) + case (a: SnapiLongType, e: SnapiFloatType) if a.props.subsetOf(e.props) => SnapiFloatType(e.props) // Upcast to double - case (a: Rql2ByteType, e: Rql2DoubleType) if a.props.subsetOf(e.props) => Rql2DoubleType(e.props) - case (a: Rql2ShortType, e: Rql2DoubleType) if a.props.subsetOf(e.props) => Rql2DoubleType(e.props) - case (a: Rql2IntType, e: Rql2DoubleType) if a.props.subsetOf(e.props) => Rql2DoubleType(e.props) - case (a: Rql2LongType, e: Rql2DoubleType) if a.props.subsetOf(e.props) => Rql2DoubleType(e.props) - case (a: Rql2FloatType, e: Rql2DoubleType) if a.props.subsetOf(e.props) => Rql2DoubleType(e.props) + case (a: SnapiByteType, e: SnapiDoubleType) if a.props.subsetOf(e.props) => SnapiDoubleType(e.props) + case (a: SnapiShortType, e: SnapiDoubleType) if a.props.subsetOf(e.props) => SnapiDoubleType(e.props) + case (a: SnapiIntType, e: SnapiDoubleType) if a.props.subsetOf(e.props) => SnapiDoubleType(e.props) + case (a: SnapiLongType, e: SnapiDoubleType) if a.props.subsetOf(e.props) => SnapiDoubleType(e.props) + case (a: SnapiFloatType, e: SnapiDoubleType) if a.props.subsetOf(e.props) => SnapiDoubleType(e.props) // Upcast do decimal - case (a: Rql2ByteType, e: Rql2DecimalType) if a.props.subsetOf(e.props) => Rql2DecimalType(e.props) - case (a: Rql2ShortType, e: Rql2DecimalType) if a.props.subsetOf(e.props) => Rql2DecimalType(e.props) - case (a: Rql2IntType, e: Rql2DecimalType) if a.props.subsetOf(e.props) => Rql2DecimalType(e.props) - case (a: Rql2LongType, e: Rql2DecimalType) if a.props.subsetOf(e.props) => Rql2DecimalType(e.props) - case (a: Rql2FloatType, e: Rql2DecimalType) if a.props.subsetOf(e.props) => Rql2DecimalType(e.props) - case (a: Rql2DoubleType, e: Rql2DecimalType) if a.props.subsetOf(e.props) => Rql2DecimalType(e.props) + case (a: SnapiByteType, e: SnapiDecimalType) if a.props.subsetOf(e.props) => SnapiDecimalType(e.props) + case (a: SnapiShortType, e: SnapiDecimalType) if a.props.subsetOf(e.props) => SnapiDecimalType(e.props) + case (a: SnapiIntType, e: SnapiDecimalType) if a.props.subsetOf(e.props) => SnapiDecimalType(e.props) + case (a: SnapiLongType, e: SnapiDecimalType) if a.props.subsetOf(e.props) => SnapiDecimalType(e.props) + case (a: SnapiFloatType, e: SnapiDecimalType) if a.props.subsetOf(e.props) => SnapiDecimalType(e.props) + case (a: SnapiDoubleType, e: SnapiDecimalType) if a.props.subsetOf(e.props) => SnapiDecimalType(e.props) // Upcast to timestamp - case (a: Rql2DateType, e: Rql2TimestampType) if a.props.subsetOf(e.props) => Rql2TimestampType(e.props) + case (a: SnapiDateType, e: SnapiTimestampType) if a.props.subsetOf(e.props) => SnapiTimestampType(e.props) // Upcast to location: a string can be used as a location type (without any properties) - case (a: Rql2StringType, e: Rql2LocationType) if a.props.subsetOf(e.props) => Rql2LocationType(e.props) + case (a: SnapiStringType, e: SnapiLocationType) if a.props.subsetOf(e.props) => SnapiLocationType(e.props) // Bool type - case (a: Rql2BoolType, e: Rql2BoolType) if a.props.subsetOf(e.props) => Rql2BoolType(e.props) + case (a: SnapiBoolType, e: SnapiBoolType) if a.props.subsetOf(e.props) => SnapiBoolType(e.props) // String type - case (a: Rql2StringType, e: Rql2StringType) if a.props.subsetOf(e.props) => Rql2StringType(e.props) + case (a: SnapiStringType, e: SnapiStringType) if a.props.subsetOf(e.props) => SnapiStringType(e.props) // Location type - case (a: Rql2LocationType, e: Rql2LocationType) if a.props.subsetOf(e.props) => Rql2LocationType(e.props) + case (a: SnapiLocationType, e: SnapiLocationType) if a.props.subsetOf(e.props) => SnapiLocationType(e.props) // Binary type - case (a: Rql2BinaryType, e: Rql2BinaryType) if a.props.subsetOf(e.props) => Rql2BinaryType(e.props) + case (a: SnapiBinaryType, e: SnapiBinaryType) if a.props.subsetOf(e.props) => SnapiBinaryType(e.props) // Byte type - case (a: Rql2ByteType, e: Rql2ByteType) if a.props.subsetOf(e.props) => Rql2ByteType(e.props) + case (a: SnapiByteType, e: SnapiByteType) if a.props.subsetOf(e.props) => SnapiByteType(e.props) // Short type - case (a: Rql2ShortType, e: Rql2ShortType) if a.props.subsetOf(e.props) => Rql2ShortType(e.props) + case (a: SnapiShortType, e: SnapiShortType) if a.props.subsetOf(e.props) => SnapiShortType(e.props) // Int type - case (a: Rql2IntType, e: Rql2IntType) if a.props.subsetOf(e.props) => Rql2IntType(e.props) + case (a: SnapiIntType, e: SnapiIntType) if a.props.subsetOf(e.props) => SnapiIntType(e.props) // Long type - case (a: Rql2LongType, e: Rql2LongType) if a.props.subsetOf(e.props) => Rql2LongType(e.props) + case (a: SnapiLongType, e: SnapiLongType) if a.props.subsetOf(e.props) => SnapiLongType(e.props) // Float type - case (a: Rql2FloatType, e: Rql2FloatType) if a.props.subsetOf(e.props) => Rql2FloatType(e.props) + case (a: SnapiFloatType, e: SnapiFloatType) if a.props.subsetOf(e.props) => SnapiFloatType(e.props) // Double type - case (a: Rql2DoubleType, e: Rql2DoubleType) if a.props.subsetOf(e.props) => Rql2DoubleType(e.props) + case (a: SnapiDoubleType, e: SnapiDoubleType) if a.props.subsetOf(e.props) => SnapiDoubleType(e.props) // Decimal type - case (a: Rql2DecimalType, e: Rql2DecimalType) if a.props.subsetOf(e.props) => Rql2DecimalType(e.props) + case (a: SnapiDecimalType, e: SnapiDecimalType) if a.props.subsetOf(e.props) => SnapiDecimalType(e.props) // Date type - case (a: Rql2DateType, e: Rql2DateType) if a.props.subsetOf(e.props) => Rql2DateType(e.props) + case (a: SnapiDateType, e: SnapiDateType) if a.props.subsetOf(e.props) => SnapiDateType(e.props) // Time type - case (a: Rql2TimeType, e: Rql2TimeType) if a.props.subsetOf(e.props) => Rql2TimeType(e.props) + case (a: SnapiTimeType, e: SnapiTimeType) if a.props.subsetOf(e.props) => SnapiTimeType(e.props) // Timestamp type - case (a: Rql2TimestampType, e: Rql2TimestampType) if a.props.subsetOf(e.props) => Rql2TimestampType(e.props) + case (a: SnapiTimestampType, e: SnapiTimestampType) if a.props.subsetOf(e.props) => SnapiTimestampType(e.props) // Interval type - case (a: Rql2IntervalType, e: Rql2IntervalType) if a.props.subsetOf(e.props) => Rql2IntervalType(e.props) + case (a: SnapiIntervalType, e: SnapiIntervalType) if a.props.subsetOf(e.props) => SnapiIntervalType(e.props) // Record Type - case (a: Rql2RecordType, e: Rql2RecordType) + case (a: SnapiRecordType, e: SnapiRecordType) if a.atts.map(_.idn) == e.atts.map(_.idn) && a.props.subsetOf(e.props) => - Rql2RecordType( - a.atts.zip(e.atts).map { case (a, e) => Rql2AttrType(a.idn, recurse(a.tipe, e.tipe)) }, + SnapiRecordType( + a.atts.zip(e.atts).map { case (a, e) => SnapiAttrType(a.idn, recurse(a.tipe, e.tipe)) }, e.props ) // Iterable Type - case (a: Rql2IterableType, e: Rql2IterableType) if a.props.subsetOf(e.props) => - Rql2IterableType(recurse(a.innerType, e.innerType), e.props) + case (a: SnapiIterableType, e: SnapiIterableType) if a.props.subsetOf(e.props) => + SnapiIterableType(recurse(a.innerType, e.innerType), e.props) // List Type - case (a: Rql2ListType, e: Rql2ListType) if a.props.subsetOf(e.props) => - Rql2ListType(recurse(a.innerType, e.innerType), e.props) + case (a: SnapiListType, e: SnapiListType) if a.props.subsetOf(e.props) => + SnapiListType(recurse(a.innerType, e.innerType), e.props) // FunType // We're strict with FunType. Function type arguments are handled with a relaxed semantic when they are arguments // of package extensions (accepting nullables/tryables, even for their parameter types). The case here is to process // function type arguments of user-defined functions. case (a: FunType, e: FunType) if a.ms == e.ms && a.os == e.os => FunType(e.ms, e.os, recurse(a.r, e.r), e.props) // Or Type - case (Rql2OrType(as, _), Rql2OrType(es, _)) => + case (SnapiOrType(as, _), SnapiOrType(es, _)) => if (as.forall(a => es.exists(e => getCompatibleType(a, e).isDefined))) actual else throw new MergeTypeException - case (a: Rql2UndefinedType, e) if !hasTypeConstraint(e) && a.props.subsetOf(getProps(e)) => + case (a: SnapiUndefinedType, e) if !hasTypeConstraint(e) && a.props.subsetOf(getProps(e)) => // Hit here e // ExpType @@ -415,10 +416,10 @@ class TypesMerger extends Rql2TypeUtils with StrictLogging { // // Type Constraints // - case (a: Rql2TypeWithProperties, IsTryable()) => addProp(a, Rql2IsTryableTypeProperty()) - case (a: Rql2TypeWithProperties, IsNullable()) => addProp(a, Rql2IsNullableTypeProperty()) - case (a: Rql2TypeWithProperties, HasTypeProperties(props)) if a.props.subsetOf(props) => addProps(actual, props) - case (a: Rql2TypeWithProperties, DoesNotHaveTypeProperties(props)) if props.intersect(a.props).isEmpty => actual + case (a: SnapiTypeWithProperties, IsTryable()) => addProp(a, SnapiIsTryableTypeProperty()) + case (a: SnapiTypeWithProperties, IsNullable()) => addProp(a, SnapiIsNullableTypeProperty()) + case (a: SnapiTypeWithProperties, HasTypeProperties(props)) if a.props.subsetOf(props) => addProps(actual, props) + case (a: SnapiTypeWithProperties, DoesNotHaveTypeProperties(props)) if props.intersect(a.props).isEmpty => actual case (_, OneOfType(expectedTypes)) => // assert(expectedTypes.forall(t => !isTypeConstraint(t)), s"Type constraint found in OneOfType: $expectedTypes") // We need to merge it (using getCompatibleType) with the actual type to get the target type. @@ -428,11 +429,12 @@ class TypesMerger extends Rql2TypeUtils with StrictLogging { expectedTypes.flatMap(t => getCompatibleType(actual, t)).headOption.getOrElse(throw new MergeTypeException) case (_, MergeableType(t)) => mergeType(actual, t).getOrElse(throw new MergeTypeException) // Type Constraints are different because they never "merge". They just return the actual type unchanged. - case (Rql2RecordType(as, _), ExpectedRecordType(idns)) if idns.subsetOf(as.map(_.idn).toSet) => actual - case (r: Rql2RecordType, e: ExpectedProjType) if r.atts.exists(att => att.idn == e.i) => actual + case (SnapiRecordType(as, _), ExpectedRecordType(idns)) if idns.subsetOf(as.map(_.idn).toSet) => actual + case (r: SnapiRecordType, e: ExpectedProjType) if r.atts.exists(att => att.idn == e.i) => actual // Projection on lists or collections: collection.name same as Collection.Transform(collection, x -> x.name) - case (Rql2IterableType(r: Rql2RecordType, _), e: ExpectedProjType) if r.atts.exists(att => att.idn == e.i) => actual - case (Rql2ListType(r: Rql2RecordType, _), e: ExpectedProjType) if r.atts.exists(att => att.idn == e.i) => actual + case (SnapiIterableType(r: SnapiRecordType, _), e: ExpectedProjType) if r.atts.exists(att => att.idn == e.i) => + actual + case (SnapiListType(r: SnapiRecordType, _), e: ExpectedProjType) if r.atts.exists(att => att.idn == e.i) => actual case (_, _: AnythingType) => actual // // Base Types @@ -456,7 +458,7 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: extends CommonSemanticAnalyzer(tree) with ExpectedTypes with StagedCompiler - with Rql2TypeUtils { + with SnapiTypeUtils { // This function checks if the semantic analysis is being run with the staged compiler // We need it to prevent infinite recursion in the getValue function @@ -467,8 +469,8 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: ) && programContext.programEnvironment.options("staged-compiler") == "true") || // Comes from truffle language (programContext.programEnvironment.options.contains( - "rql.staged-compiler" - ) && programContext.programEnvironment.options("rql.staged-compiler") == "true") + "snapi.staged-compiler" + ) && programContext.programEnvironment.options("snapi.staged-compiler") == "true") } /////////////////////////////////////////////////////////////////////////// @@ -477,7 +479,7 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: override protected def errorDef: SourceNode ==> Seq[CompilerMessage] = { // Errors - val rql2Errors: PartialFunction[SourceNode, Seq[CompilerMessage]] = { + val snapiErrors: PartialFunction[SourceNode, Seq[CompilerMessage]] = { case i: IdnUse if entity(i) == UnknownEntity() => i match { // Try to see if this UnknownEntity is the user attempting to reference a package name but making a typo. @@ -528,12 +530,12 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: case f: FunApp if funAppHasError(f).isDefined => funAppHasError(f).get case p @ Proj(e, idn) if idnIsAmbiguous(idn, e) => Seq(RepeatedFieldNames(p, idn)) } - rql2Errors.orElse(super.errorDef) + snapiErrors.orElse(super.errorDef) } // we check for errors in errorDef, if there are no errors, we are interested in nonErrors(hints, warnings, infos) override protected def nonErrorDef: SourceNode ==> Seq[CompilerMessage] = { - val rql2NonErrors: PartialFunction[SourceNode, Seq[CompilerMessage]] = { + val snapiNonErrors: PartialFunction[SourceNode, Seq[CompilerMessage]] = { case e @ FunApp(Proj(exp, "Secret"), parameters) if tipe(exp) == PackageType("Environment") && !isStagedCompiler => tipe(exp) match { @@ -546,21 +548,22 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: v match { // If getValue returns an error which means the staged compiler failed to execute "Environment.Secret()" code // We return a warning that the secret is missing. - case Right(Rql2TryValue(Left(error))) => Seq(MissingSecretWarning(e)) + case Right(SnapiTryValue(Left(error))) => Seq(MissingSecretWarning(e)) // In case of Right(TryValue(Right())) that in "Environment.Secret()" is a free variable, we don't report that as a warning case _ => Seq.empty } case _ => Seq.empty } } - rql2NonErrors.orElse(super.nonErrorDef) + snapiNonErrors.orElse(super.nonErrorDef) } private def idnIsAmbiguous(idn: String, e: Exp): Boolean = { actualType(e) match { - case Rql2RecordType(atts, _) => atts.collect { case att if att.idn == idn => att }.length > 1 - case Rql2IterableType(Rql2RecordType(atts, _), _) => atts.collect { case att if att.idn == idn => att }.length > 1 - case Rql2ListType(Rql2RecordType(atts, _), _) => atts.collect { case att if att.idn == idn => att }.length > 1 + case SnapiRecordType(atts, _) => atts.collect { case att if att.idn == idn => att }.length > 1 + case SnapiIterableType(SnapiRecordType(atts, _), _) => + atts.collect { case att if att.idn == idn => att }.length > 1 + case SnapiListType(SnapiRecordType(atts, _), _) => atts.collect { case att if att.idn == idn => att }.length > 1 case _ => false } } @@ -582,7 +585,7 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: private def repeatedOptionalArgument(fa: Exp, as: Vector[FunAppArg]): Boolean = { actualType(fa) match { case _: FunType => - // For calling RQL2 functions, we check if arguments are unique. + // For calling Snapi functions, we check if arguments are unique. val idns = as.collect { case FunAppArg(_, Some(idn)) => idn } idns.toSet.size != idns.length case PackageEntryType(pkgName, entName) => @@ -698,7 +701,7 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: case tree.parent(f: LetFun) => new LetFunEntity(f) case tree.parent(f: LetFunRec) => new LetFunRecEntity(f) case tree.parent(f: FunParam) => new FunParamEntity(f) - case tree.parent(d: Rql2Method) => new MethodEntity(d) + case tree.parent(d: SnapiMethod) => new MethodEntity(d) case _ => super.defentity(i) } @@ -794,7 +797,7 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: override protected def actualTypeDef(n: Exp): Type = { val t = n match { - case e: Rql2Exp => actualTypeRql2Exp(e) + case e: SnapiExp => actualTypeSnapiExp(e) case _ => super.actualTypeDef(n) } // Resolve the type (remove type alias) @@ -820,23 +823,23 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: } } - private def actualTypeRql2Exp(n: Rql2Exp): Type = n match { + private def actualTypeSnapiExp(n: SnapiExp): Type = n match { case c: Const => c match { - case _: NullConst => Rql2UndefinedType(Set(Rql2IsNullableTypeProperty())) + case _: NullConst => SnapiUndefinedType(Set(SnapiIsNullableTypeProperty())) case nc: NumberConst => nc match { - case _: ByteConst => Rql2ByteType() - case _: ShortConst => Rql2ShortType() - case _: IntConst => Rql2IntType() - case _: LongConst => Rql2LongType() - case _: FloatConst => Rql2FloatType() - case _: DoubleConst => Rql2DoubleType() - case _: DecimalConst => Rql2DecimalType() + case _: ByteConst => SnapiByteType() + case _: ShortConst => SnapiShortType() + case _: IntConst => SnapiIntType() + case _: LongConst => SnapiLongType() + case _: FloatConst => SnapiFloatType() + case _: DoubleConst => SnapiDoubleType() + case _: DecimalConst => SnapiDecimalType() } - case _: StringConst => Rql2StringType() - case _: TripleQuotedStringConst => Rql2StringType() - case _: BoolConst => Rql2BoolType() - case _: BinaryConst => Rql2BinaryType() - case _: LocationConst => Rql2LocationType() + case _: StringConst => SnapiStringType() + case _: TripleQuotedStringConst => SnapiStringType() + case _: BoolConst => SnapiBoolType() + case _: BinaryConst => SnapiBinaryType() + case _: LocationConst => SnapiLocationType() } case l: Let => actualType(l.e) case TypeExp(t) => ExpType(t) @@ -845,15 +848,15 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: case None => ErrorType() } case UnaryExp(op, e) => op match { - case _: Not => Rql2BoolType(getProps(actualType(e))) + case _: Not => SnapiBoolType(getProps(actualType(e))) case _: Neg => actualType(e) } case BinaryExp(op, e1, e2) => op match { - case _: ComparableOp => Rql2BoolType(getProps(actualType(e1)) ++ getProps(actualType(e2))) + case _: ComparableOp => SnapiBoolType(getProps(actualType(e1)) ++ getProps(actualType(e2))) case _: BooleanOp => - Rql2BoolType(Set(Rql2IsNullableTypeProperty()) ++ getProps(actualType(e1)) ++ getProps(actualType(e2))) + SnapiBoolType(Set(SnapiIsNullableTypeProperty()) ++ getProps(actualType(e1)) ++ getProps(actualType(e2))) case _: Div => mergeType(actualType(e1), actualType(e2)) match { - case Some(t) => addProp(t, Rql2IsTryableTypeProperty()) // Div can fail on divide by zero. + case Some(t) => addProp(t, SnapiIsTryableTypeProperty()) // Div can fail on divide by zero. case None => ErrorType() } case _ => mergeType(actualType(e1), actualType(e2)) match { @@ -886,7 +889,7 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: case Some(p) if p.existsEntry(i) => PackageEntryType(name, i) case _ => ErrorType() } - case Rql2RecordType(atts, props) => + case SnapiRecordType(atts, props) => // Only type if record has the field. atts .collectFirst { @@ -895,22 +898,22 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: addProps(att.tipe, props) } .getOrElse(ErrorType()) - case Rql2ListType(Rql2RecordType(atts, recordProps), listProps) => + case SnapiListType(SnapiRecordType(atts, recordProps), listProps) => // Only type if record has the field. atts .collectFirst { case att if att.idn == i => // Include the type properties of the as well. - Rql2ListType(addProps(att.tipe, recordProps), listProps) + SnapiListType(addProps(att.tipe, recordProps), listProps) } .getOrElse(ErrorType()) - case Rql2IterableType(Rql2RecordType(atts, recordProps), listProps) => + case SnapiIterableType(SnapiRecordType(atts, recordProps), listProps) => // Only type if record has the field. atts .collectFirst { case att if att.idn == i => // Include the type properties of the as well. - Rql2IterableType(addProps(att.tipe, recordProps), listProps) + SnapiIterableType(addProps(att.tipe, recordProps), listProps) } .getOrElse(ErrorType()) case _ => ErrorType() @@ -930,7 +933,7 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: val prevMandatoryArgs = mutable.ArrayBuffer[Arg]() val prevOptionalArgs = mutable.ArrayBuffer[(String, Arg)]() val prevVarArgs = mutable.ArrayBuffer[Arg]() - val outProps = mutable.Set.empty[Rql2TypeProperty] + val outProps = mutable.Set.empty[SnapiTypeProperty] // This list includes mandatory and var args. val argsList = args.collect { case arg if arg.idn.isEmpty => arg }.to[mutable.ArrayBuffer] @@ -1512,7 +1515,7 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: Right(r) } - final private def getValue(report: CompatibilityReport, e: Exp): Either[ErrorCompilerMessage, Rql2Value] = { + final private def getValue(report: CompatibilityReport, e: Exp): Either[ErrorCompilerMessage, SnapiValue] = { // Recurse over all entities in the order of its dependencies. // Populate an ordered list of declarations as a side-effect. val lets: mutable.ArrayBuffer[LetDecl] = mutable.ArrayBuffer.empty[LetDecl] @@ -1590,16 +1593,16 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: return Left(ex.err) } - // Create an RQL2 program with the expressions and declarations it depends on. + // Create an Snapi program with the expressions and declarations it depends on. // Wrap it into a Type.Cast so that we ensure implicit casts are already. // This allows us to pattern match at L0 more easily, since all types are implicitly casted: // for instance if the is a StringType (i.e. StringConst) but expected type as LocationType, the implicit cast phase - // of Rql2, indirectly applied by calling Type.Cast, makes sure the cast is applied and hence we get back a + // of Snapi, indirectly applied by calling Type.Cast, makes sure the cast is applied and hence we get back a // LocationType (i.e. LocationDescription). val expected = addProps(report.t, report.extraProps) val program = { - if (lets.isEmpty) Rql2Program(Vector.empty, Some(TypePackageBuilder.Cast(expected, e))) - else Rql2Program(Vector.empty, Some(TypePackageBuilder.Cast(expected, Let(lets.to, e)))) + if (lets.isEmpty) SnapiProgram(Vector.empty, Some(TypePackageBuilder.Cast(expected, e))) + else SnapiProgram(Vector.empty, Some(TypePackageBuilder.Cast(expected, Let(lets.to, e)))) } programContext.getOrAddStagedCompilation( @@ -1620,19 +1623,19 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: case StagedCompilerSuccess(v) => var stagedCompilerResult = v // Remove extraProps - if (report.extraProps.contains(Rql2IsTryableTypeProperty())) { - val tryValue = stagedCompilerResult.asInstanceOf[Rql2TryValue].v + if (report.extraProps.contains(SnapiIsTryableTypeProperty())) { + val tryValue = stagedCompilerResult.asInstanceOf[SnapiTryValue].v if (tryValue.isLeft) { return Left(FailedToEvaluate(e, tryValue.left.toOption)) } - stagedCompilerResult = stagedCompilerResult.asInstanceOf[Rql2TryValue].v.right.get + stagedCompilerResult = stagedCompilerResult.asInstanceOf[SnapiTryValue].v.right.get } - if (report.extraProps.contains(Rql2IsNullableTypeProperty())) { - val optionValue = stagedCompilerResult.asInstanceOf[Rql2OptionValue].v + if (report.extraProps.contains(SnapiIsNullableTypeProperty())) { + val optionValue = stagedCompilerResult.asInstanceOf[SnapiOptionValue].v if (optionValue.isEmpty) { return Left(FailedToEvaluate(e, Some("unexpected null value found"))) } - stagedCompilerResult = stagedCompilerResult.asInstanceOf[Rql2OptionValue].v.get + stagedCompilerResult = stagedCompilerResult.asInstanceOf[SnapiOptionValue].v.get } Right(stagedCompilerResult) case StagedCompilerValidationFailure(errs) => @@ -1718,8 +1721,8 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: } case Some(ErrorType()) => Right(ErrorType()) // Propagating errors silently case Some(t) => - val paramTypes = fp.ps.map(x => x.t.getOrElse(Rql2UndefinedType())) - val outType = fp.r.getOrElse(Rql2UndefinedType()) + val paramTypes = fp.ps.map(x => x.t.getOrElse(SnapiUndefinedType())) + val outType = fp.r.getOrElse(SnapiUndefinedType()) Left( Seq( UnexpectedType(f, FunType(paramTypes, Vector.empty, outType, Set.empty), t), @@ -1775,33 +1778,34 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: final override protected def expectedTypeDef(n: Exp): ExpectedType = { n match { - case tree.parent.pair(e: Exp, parent: Rql2Node) => expectedTypeRql2(e, parent) + case tree.parent.pair(e: Exp, parent: SnapiNode) => expectedTypeSnapi(e, parent) case _ => super.expectedTypeDef(n) } } - private val rql2byte = Rql2ByteType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) - private val rql2short = Rql2ShortType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) - private val rql2int = Rql2IntType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) - private val rql2long = Rql2LongType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) - private val rql2float = Rql2FloatType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) - private val rql2double = Rql2DoubleType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) - private val rql2decimal = Rql2DecimalType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) - private val rql2bool = Rql2BoolType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) - private val rql2numerics = OneOfType(rql2byte, rql2short, rql2int, rql2long, rql2float, rql2double, rql2decimal) - private val rql2string = Rql2StringType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) - private val rql2time = Rql2TimeType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) - private val rql2interval = Rql2IntervalType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) - private val rql2date = Rql2DateType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) - private val rql2timestamp = Rql2TimestampType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) - private val rql2numbersAndString = OneOfType(rql2numerics.tipes :+ rql2string) - private val rql2temporals = OneOfType(rql2time, rql2interval, rql2date, rql2timestamp) - private val rql2numericsTemporalsString = OneOfType(rql2numerics.tipes ++ rql2temporals.tipes :+ rql2string) - private val rql2numericsTemporalsStringsBools = - OneOfType(rql2numerics.tipes ++ rql2temporals.tipes ++ Vector(rql2bool, rql2string)) - - private def expectedTypeRql2(e: Exp, parent: Rql2Node): ExpectedType = (parent: @unchecked) match { - case Rql2Program(_, Some(e1)) => + private val snapibyte = SnapiByteType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) + private val snapishort = SnapiShortType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) + private val snapiint = SnapiIntType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) + private val snapilong = SnapiLongType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) + private val snapifloat = SnapiFloatType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) + private val snapidouble = SnapiDoubleType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) + private val snapidecimal = SnapiDecimalType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) + private val snapibool = SnapiBoolType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) + private val snapinumerics = + OneOfType(snapibyte, snapishort, snapiint, snapilong, snapifloat, snapidouble, snapidecimal) + private val snapistring = SnapiStringType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) + private val snapitime = SnapiTimeType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) + private val snapiinterval = SnapiIntervalType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) + private val snapidate = SnapiDateType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) + private val snapitimestamp = SnapiTimestampType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) + private val snapinumbersAndString = OneOfType(snapinumerics.tipes :+ snapistring) + private val snapitemporals = OneOfType(snapitime, snapiinterval, snapidate, snapitimestamp) + private val snapinumericsTemporalsString = OneOfType(snapinumerics.tipes ++ snapitemporals.tipes :+ snapistring) + private val snapinumericsTemporalsStringsBools = + OneOfType(snapinumerics.tipes ++ snapitemporals.tipes ++ Vector(snapibool, snapistring)) + + private def expectedTypeSnapi(e: Exp, parent: SnapiNode): ExpectedType = (parent: @unchecked) match { + case SnapiProgram(_, Some(e1)) => assert(e eq e1) anything case b: LetBind => @@ -1813,7 +1817,7 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: // The 'in' part of Let can be anything. anything case IfThenElse(e1, e2, e3) => - if (e eq e1) rql2bool + if (e eq e1) snapibool else if (e eq e2) anything else { assert(e eq e3) @@ -1822,8 +1826,8 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: case UnaryExp(op, e1) => assert(e eq e1) op match { - case _: Not => rql2bool - case _: Neg => rql2numerics + case _: Not => snapibool + case _: Neg => snapinumerics } case BinaryExp(op, e1, e2) => def expected(expectedE1: Type, expectedE2: Option[Type]): Type = { @@ -1833,18 +1837,18 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: assert(e eq e2) expectedE2.getOrElse { val t1 = actualType(e1) - if (t1.isInstanceOf[Rql2UndefinedType]) expectedE1 + if (t1.isInstanceOf[SnapiUndefinedType]) expectedE1 else expectedE2.getOrElse(MergeableType(t1)) } } } op match { - case _: Eq | _: Neq => expected(rql2numericsTemporalsStringsBools, None) - case _: ComparableOp => expected(rql2numericsTemporalsString, None) - case _: BooleanOp => expected(rql2bool, Some(rql2bool)) - case _: Plus => expected(rql2numbersAndString, None) - case _ => expected(rql2numerics, Some(rql2numerics)) + case _: Eq | _: Neq => expected(snapinumericsTemporalsStringsBools, None) + case _: ComparableOp => expected(snapinumericsTemporalsString, None) + case _: BooleanOp => expected(snapibool, Some(snapibool)) + case _: Plus => expected(snapinumbersAndString, None) + case _ => expected(snapinumerics, Some(snapinumerics)) } case FunParam(_, mt, Some(e1)) => assert(e eq e1) @@ -1899,7 +1903,7 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: ExpectedType(ExpectedProjType(i), hint = Some(s"did you mean ${packagesWithEntry.head}.$i?")) else ExpectedType(ExpectedProjType(i)) } else ExpectedType(ExpectedProjType(i), hint = Some(s"did you mean ${names.mkString(" or ")}?")) - case Rql2RecordType(atts, _) => + case SnapiRecordType(atts, _) => if (atts.exists(_.idn == i)) { ExpectedProjType(i) } else { @@ -1909,7 +1913,7 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: if (names.isEmpty) ExpectedProjType(i) else ExpectedType(ExpectedProjType(i), hint = Some(s"did you mean ${names.mkString(" or ")}?")) } - case Rql2ListType(Rql2RecordType(atts, _), _) => + case SnapiListType(SnapiRecordType(atts, _), _) => if (atts.exists(_.idn == i)) { ExpectedProjType(i) } else { @@ -1919,7 +1923,7 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: if (names.isEmpty) ExpectedProjType(i) else ExpectedType(ExpectedProjType(i), hint = Some(s"did you mean ${names.mkString(" or ")}?")) } - case Rql2IterableType(Rql2RecordType(atts, _), _) => + case SnapiIterableType(SnapiRecordType(atts, _), _) => if (atts.exists(_.idn == i)) { ExpectedProjType(i) } else { @@ -1947,14 +1951,14 @@ class SemanticAnalyzer(val tree: SourceTree.SourceTree)(implicit programContext: /////////////////////////////////////////////////////////////////////////// override lazy val rootType: Option[Type] = { - val Rql2Program(_, me) = tree.root + val SnapiProgram(_, me) = tree.root me.map(tipe) } override protected def descriptionDef: TreeDescription = { - val Rql2Program(methods, me) = tree.root + val SnapiProgram(methods, me) = tree.root val decls = methods.map { - case Rql2Method(FunProto(ps, r, FunBody(e)), idn) => + case SnapiMethod(FunProto(ps, r, FunBody(e)), idn) => val params = ps.map { p => val t = resolveParamType(p) match { case Right(t) => t diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/SnapiTypeUtils.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/SnapiTypeUtils.scala new file mode 100644 index 000000000..b05295d15 --- /dev/null +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/SnapiTypeUtils.scala @@ -0,0 +1,238 @@ +/* + * Copyright 2023 RAW Labs S.A. + * + * Use of this software is governed by the Business Source License + * included in the file licenses/BSL.txt. + * + * As of the Change Date specified in that file, in accordance with + * the Business Source License, use of this software will be governed + * by the Apache License, Version 2.0, included in the file + * licenses/APL.txt. + */ + +package com.rawlabs.snapi.frontend.snapi + +import com.rawlabs.compiler.{ + RawAttrType, + RawBinaryType, + RawBoolType, + RawByteType, + RawDateType, + RawDecimalType, + RawDoubleType, + RawFloatType, + RawIntType, + RawIntervalType, + RawIterableType, + RawListType, + RawLongType, + RawOrType, + RawRecordType, + RawShortType, + RawStringType, + RawTimeType, + RawTimestampType, + RawType, + RawUndefinedType +} +import org.bitbucket.inkytonik.kiama.rewriting.Rewriter.{everywhere, query} +import com.rawlabs.snapi.frontend.base.source.{AnythingType, Type} +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntervalPackageBuilder +import com.rawlabs.snapi.frontend.inferrer.api._ +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.{ + DatePackageBuilder, + ListPackageBuilder, + NullablePackageBuilder, + RecordPackageBuilder, + TimePackageBuilder, + TimestampPackageBuilder +} + +trait SnapiTypeUtils { + + final def hasTypeConstraint(t: Type): Boolean = { + everywhere(query[Any] { case _: CommonTypeConstraint | _: SnapiTypeConstraint | _: AnythingType => return true })(t) + false + } + + final def isTypeConstraint(t: Type): Boolean = { + t match { + case _: CommonTypeConstraint | _: SnapiTypeConstraint | _: AnythingType => true + case _ => false + } + } + + final def getProps(t: Type): Set[SnapiTypeProperty] = t match { + case t: SnapiTypeWithProperties => t.props + case _ => Set.empty + } + + final def addProp(t: Type, p: SnapiTypeProperty): Type = t match { + case t: SnapiTypeWithProperties => t.cloneAndAddProp(p) + case _ => t + } + + final def addProps(t: Type, props: Set[SnapiTypeProperty]): Type = { + props.foldLeft(t) { case (t, p) => addProp(t, p) } + } + + final def removeProp(t: Type, p: SnapiTypeProperty): Type = t match { + case t: SnapiTypeWithProperties => t.cloneAndRemoveProp(p) + case _ => t + } + + final def removeProps(t: Type, props: Set[SnapiTypeProperty]): Type = { + props.foldLeft(t) { case (t, p) => removeProp(t, p) } + } + + final def resetProps(t: Type, props: Set[SnapiTypeProperty]): Type = { + val clean = removeProps(t, getProps(t)) + addProps(clean, props) + } + + final def inferTypeToSnapiType(t: SourceType, makeNullable: Boolean, makeTryable: Boolean): Type = { + def wrapProps(t: Type, nullable: Boolean, tryable: Boolean): Type = { + val nullType = if (nullable) addProp(t, SnapiIsNullableTypeProperty()) else t + if (tryable) addProp(nullType, SnapiIsTryableTypeProperty()) else nullType + } + + t match { + case SourceByteType(n) => wrapProps(SnapiByteType(), n || makeNullable, makeTryable) + case SourceShortType(n) => wrapProps(SnapiShortType(), n || makeNullable, makeTryable) + case SourceIntType(n) => wrapProps(SnapiIntType(), n || makeNullable, makeTryable) + case SourceLongType(n) => wrapProps(SnapiLongType(), n || makeNullable, makeTryable) + case SourceFloatType(n) => wrapProps(SnapiFloatType(), n || makeNullable, makeTryable) + case SourceDoubleType(n) => wrapProps(SnapiDoubleType(), n || makeNullable, makeTryable) + case SourceDecimalType(n) => wrapProps(SnapiDecimalType(), n || makeNullable, makeTryable) + case SourceBoolType(n) => wrapProps(SnapiBoolType(), n || makeNullable, makeTryable) + case SourceStringType(n) => wrapProps(SnapiStringType(), n || makeNullable, makeTryable) + case SourceDateType(_, n) => wrapProps(SnapiDateType(), n || makeNullable, makeTryable) + case SourceTimeType(_, n) => wrapProps(SnapiTimeType(), n || makeNullable, makeTryable) + case SourceTimestampType(_, n) => wrapProps(SnapiTimestampType(), n || makeNullable, makeTryable) + case SourceIntervalType(n) => wrapProps(SnapiIntervalType(), n || makeNullable, makeTryable) + case SourceRecordType(atts, n) => wrapProps( + SnapiRecordType( + atts.map(att => SnapiAttrType(att.idn, inferTypeToSnapiType(att.tipe, makeNullable, makeTryable))) + ), + n || makeNullable, + makeTryable + ) + case SourceCollectionType(inner, n) => wrapProps( + SnapiIterableType(inferTypeToSnapiType(inner, makeNullable, makeTryable)), + n || makeNullable, + makeTryable + ) + case SourceBinaryType(n) => wrapProps(SnapiBinaryType(), n || makeNullable, makeTryable) + case _: SourceNothingType => wrapProps(SnapiUndefinedType(), makeNullable, makeTryable) + case _: SourceNullType => wrapProps(SnapiUndefinedType(), true, makeTryable) + case _: SourceAnyType => AnyType() + case SourceOrType(ors) => + val options = ors + .map(x => inferTypeToSnapiType(x, makeNullable, makeTryable)) // recurse with the flags + .map(t => resetProps(t, Set.empty)) // but clear 'tryable' from or type options + nullable + val nullable = ors.exists(_.nullable) + if (nullable) SnapiOrType(options.toVector, Set(SnapiIsNullableTypeProperty())) + else SnapiOrType(options.toVector) + } + + } + + def isComparable(t: Type): Boolean = { + everywhere(query[Type] { case _: FunType => return false })(t) + true + } + + // Returns Option[RawType] as not all Snapi types are representable as Raw types. + def snapiTypeToRawType(t: Type): Option[RawType] = { + def convert(t: Type): RawType = { + // Read nullable and triable properties. + var nullable = false + var triable = false + t match { + case tp: SnapiTypeWithProperties => + if (tp.props.contains(SnapiIsNullableTypeProperty())) { + nullable = true + } + if (tp.props.contains(SnapiIsTryableTypeProperty())) { + triable = true + } + case _ => + } + // Convert type. + t match { + case _: SnapiUndefinedType => RawUndefinedType(nullable, triable) + case _: SnapiByteType => RawByteType(nullable, triable) + case _: SnapiShortType => RawShortType(nullable, triable) + case _: SnapiIntType => RawIntType(nullable, triable) + case _: SnapiLongType => RawLongType(nullable, triable) + case _: SnapiFloatType => RawFloatType(nullable, triable) + case _: SnapiDoubleType => RawDoubleType(nullable, triable) + case _: SnapiDecimalType => RawDecimalType(nullable, triable) + case _: SnapiBoolType => RawBoolType(nullable, triable) + case _: SnapiStringType => RawStringType(nullable, triable) + case _: SnapiBinaryType => RawBinaryType(nullable, triable) + case _: SnapiDateType => RawDateType(nullable, triable) + case _: SnapiTimeType => RawTimeType(nullable, triable) + case _: SnapiTimestampType => RawTimestampType(nullable, triable) + case _: SnapiIntervalType => RawIntervalType(nullable, triable) + case SnapiRecordType(atts, _) => RawRecordType( + atts.map { case SnapiAttrType(idn, t1) => RawAttrType(idn, convert(t1)) }, + nullable, + triable + ) + case SnapiListType(inner, _) => RawListType(convert(inner), nullable, triable) + case SnapiIterableType(inner, _) => RawIterableType(convert(inner), nullable, triable) + case SnapiOrType(ors, _) => RawOrType(ors.map(convert), nullable, triable) + case _ => throw new IllegalArgumentException() + } + } + + try { + Some(convert(t)) + } catch { + case _: IllegalArgumentException => None + } + } + + final def valueToExp(value: SnapiValue, t: Type): Exp = value match { + case SnapiByteValue(v) => ByteConst(v.toString) + case SnapiShortValue(v) => ShortConst(v.toString) + case SnapiIntValue(v) => IntConst(v.toString) + case SnapiLongValue(v) => LongConst(v.toString) + case SnapiFloatValue(v) => FloatConst(v.toString) + case SnapiDoubleValue(v) => DoubleConst(v.toString) + case SnapiStringValue(v) => StringConst(v) + case SnapiBoolValue(v) => BoolConst(v) + case SnapiOptionValue(option) => + val innerType = resetProps(t, Set.empty) + option + .map(v => valueToExp(v, innerType)) + .map(NullablePackageBuilder.Build(_)) + .getOrElse(NullablePackageBuilder.Empty(innerType)) + case SnapiRecordValue(vs) => + val SnapiRecordType(atts, _) = t + RecordPackageBuilder.Build( + vs.zip(atts).map { case (SnapiRecordAttr(idn, v1), att) => idn -> valueToExp(v1, att.tipe) }.toVector + ) + case SnapiListValue(v) => + val SnapiListType(innerType, _) = t + ListPackageBuilder.Build(v.map(x => valueToExp(x, innerType)): _*) + case SnapiDateValue(v) => DatePackageBuilder.FromLocalDate(v) + case SnapiTimeValue(v) => TimePackageBuilder.FromLocalTime(v) + case SnapiTimestampValue(v) => TimestampPackageBuilder.FromLocalDateTime(v) + case SnapiIntervalValue( + years, + month, + weeks, + days, + hours, + minutes, + seconds, + millis + ) => IntervalPackageBuilder.FromRawInterval(years, month, weeks, days, hours, minutes, seconds, millis) + } + +} + +object SnapiTypeUtils extends SnapiTypeUtils diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/StagedCompiler.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/StagedCompiler.scala similarity index 65% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/StagedCompiler.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/StagedCompiler.scala index ea4565ddc..9d8cb3f18 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/StagedCompiler.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/StagedCompiler.scala @@ -10,33 +10,33 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi import com.rawlabs.compiler.{CompilerService, ErrorMessage, ErrorPosition, ErrorRange, ProgramEnvironment} import com.rawlabs.utils.core.RawSettings import org.graalvm.polyglot.{Context, PolyglotAccess, PolyglotException, Source, Value} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2.antlr4.ParserErrors -import com.rawlabs.snapi.frontend.rql2.extensions._ -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.antlr4.ParserErrors +import com.rawlabs.snapi.frontend.snapi.extensions._ +import com.rawlabs.snapi.frontend.snapi.source._ import scala.collection.mutable import scala.util.control.NonFatal sealed trait StagedCompilerResponse -final case class StagedCompilerSuccess(v: Rql2Value) extends StagedCompilerResponse +final case class StagedCompilerSuccess(v: SnapiValue) extends StagedCompilerResponse final case class StagedCompilerValidationFailure(errors: List[ErrorMessage]) extends StagedCompilerResponse final case class StagedCompilerRuntimeFailure(error: String) extends StagedCompilerResponse /** * Support for stage compilation. - * This allows an RQL2/Snapi source to be evaluated in a new context, with a given environment and RawSettings. + * This allows an Snapi/Snapi source to be evaluated in a new context, with a given environment and RawSettings. */ trait StagedCompiler { /** * Evaluate the given source code in a new context. - * The source code is expected to be a valid RQL2/Snapi program. + * The source code is expected to be a valid Snapi/Snapi program. * The result is a RawValue. * * If the Truffle runtime execution thread is interrupted, an InterruptedException is thrown. @@ -54,27 +54,27 @@ trait StagedCompiler { // Add environment settings as hardcoded environment variables. val ctxBuilder = Context - .newBuilder("rql") + .newBuilder("snapi") .engine(engine) .environment("RAW_PROGRAM_ENVIRONMENT", ProgramEnvironment.serializeToString(environment)) .allowExperimentalOptions(true) .allowPolyglotAccess(PolyglotAccess.ALL) environment.options.get("staged-compiler").foreach { stagedCompiler => - ctxBuilder.option("rql.staged-compiler", stagedCompiler) + ctxBuilder.option("snapi.staged-compiler", stagedCompiler) } - ctxBuilder.option("rql.settings", settings.renderAsString) + ctxBuilder.option("snapi.settings", settings.renderAsString) val ctx = ctxBuilder.build() - ctx.initialize("rql") + ctx.initialize("snapi") ctx.enter() try { val truffleSource = Source - .newBuilder("rql", source, "unnamed") + .newBuilder("snapi", source, "unnamed") .cached(false) // Disable code caching because of the inferrer. .build() val polyglotValue = ctx.eval(truffleSource) - val rql2Value = polyglotValueToRql2Value(polyglotValue, tipe) - StagedCompilerSuccess(rql2Value) + val snapiValue = polyglotValueToSnapiValue(polyglotValue, tipe) + StagedCompilerSuccess(snapiValue) } catch { case ex: PolyglotException => // (msb): The following are various "hacks" to ensure the inner language InterruptException propagates "out". @@ -120,85 +120,85 @@ trait StagedCompiler { } } - private def polyglotValueToRql2Value(v: Value, t: Type)(implicit settings: RawSettings): Rql2Value = { + private def polyglotValueToSnapiValue(v: Value, t: Type)(implicit settings: RawSettings): SnapiValue = { t match { - case t: Rql2TypeWithProperties if t.props.contains(Rql2IsTryableTypeProperty()) => + case t: SnapiTypeWithProperties if t.props.contains(SnapiIsTryableTypeProperty()) => if (v.isException) { try { v.throwException() throw new AssertionError("should not happen") } catch { - case NonFatal(ex) => Rql2TryValue(Left(ex.getMessage)) + case NonFatal(ex) => SnapiTryValue(Left(ex.getMessage)) } } else { - Rql2TryValue(Right(polyglotValueToRql2Value(v, t.cloneAndRemoveProp(Rql2IsTryableTypeProperty())))) + SnapiTryValue(Right(polyglotValueToSnapiValue(v, t.cloneAndRemoveProp(SnapiIsTryableTypeProperty())))) } - case t: Rql2TypeWithProperties if t.props.contains(Rql2IsNullableTypeProperty()) => + case t: SnapiTypeWithProperties if t.props.contains(SnapiIsNullableTypeProperty()) => if (v.isNull) { - Rql2OptionValue(None) + SnapiOptionValue(None) } else { - Rql2OptionValue(Some(polyglotValueToRql2Value(v, t.cloneAndRemoveProp(Rql2IsNullableTypeProperty())))) + SnapiOptionValue(Some(polyglotValueToSnapiValue(v, t.cloneAndRemoveProp(SnapiIsNullableTypeProperty())))) } - case _: Rql2UndefinedType => throw new AssertionError("Rql2Undefined is not triable and is not nullable.") - case _: Rql2BoolType => Rql2BoolValue(v.asBoolean()) - case _: Rql2StringType => Rql2StringValue(v.asString()) - case _: Rql2ByteType => Rql2ByteValue(v.asByte()) - case _: Rql2ShortType => Rql2ShortValue(v.asShort()) - case _: Rql2IntType => Rql2IntValue(v.asInt()) - case _: Rql2LongType => Rql2LongValue(v.asLong()) - case _: Rql2FloatType => Rql2FloatValue(v.asFloat()) - case _: Rql2DoubleType => Rql2DoubleValue(v.asDouble()) - case _: Rql2DecimalType => + case _: SnapiUndefinedType => throw new AssertionError("SnapiUndefined is not triable and is not nullable.") + case _: SnapiBoolType => SnapiBoolValue(v.asBoolean()) + case _: SnapiStringType => SnapiStringValue(v.asString()) + case _: SnapiByteType => SnapiByteValue(v.asByte()) + case _: SnapiShortType => SnapiShortValue(v.asShort()) + case _: SnapiIntType => SnapiIntValue(v.asInt()) + case _: SnapiLongType => SnapiLongValue(v.asLong()) + case _: SnapiFloatType => SnapiFloatValue(v.asFloat()) + case _: SnapiDoubleType => SnapiDoubleValue(v.asDouble()) + case _: SnapiDecimalType => val bg = BigDecimal(v.asString()) - Rql2DecimalValue(bg) - case _: Rql2DateType => + SnapiDecimalValue(bg) + case _: SnapiDateType => val date = v.asDate() - Rql2DateValue(date) - case _: Rql2TimeType => + SnapiDateValue(date) + case _: SnapiTimeType => val time = v.asTime() - Rql2TimeValue(time) - case _: Rql2TimestampType => + SnapiTimeValue(time) + case _: SnapiTimestampType => val localDate = v.asDate() val localTime = v.asTime() - Rql2TimestampValue(localDate.atTime(localTime)) - case _: Rql2IntervalType => + SnapiTimestampValue(localDate.atTime(localTime)) + case _: SnapiIntervalType => val d = v.asDuration() - Rql2IntervalValue(0, 0, 0, d.toDaysPart.toInt, d.toHoursPart, d.toMinutesPart, d.toSecondsPart, d.toMillisPart) - case _: Rql2BinaryType => + SnapiIntervalValue(0, 0, 0, d.toDaysPart.toInt, d.toHoursPart, d.toMinutesPart, d.toSecondsPart, d.toMillisPart) + case _: SnapiBinaryType => val bufferSize = v.getBufferSize.toInt val byteArray = new Array[Byte](bufferSize) for (i <- 0 until bufferSize) { byteArray(i) = v.readBufferByte(i) } - Rql2BinaryValue(byteArray) - case Rql2RecordType(atts, _) => - val vs = atts.map(att => Rql2RecordAttr(att.idn, polyglotValueToRql2Value(v.getMember(att.idn), att.tipe))) - Rql2RecordValue(vs) - case Rql2ListType(innerType, _) => - val seq = mutable.ArrayBuffer[Rql2Value]() + SnapiBinaryValue(byteArray) + case SnapiRecordType(atts, _) => + val vs = atts.map(att => SnapiRecordAttr(att.idn, polyglotValueToSnapiValue(v.getMember(att.idn), att.tipe))) + SnapiRecordValue(vs) + case SnapiListType(innerType, _) => + val seq = mutable.ArrayBuffer[SnapiValue]() for (i <- 0L until v.getArraySize) { val v1 = v.getArrayElement(i) - seq.append(polyglotValueToRql2Value(v1, innerType)) + seq.append(polyglotValueToSnapiValue(v1, innerType)) } - Rql2ListValue(seq) - case Rql2IterableType(innerType, _) => - val seq = mutable.ArrayBuffer[Rql2Value]() + SnapiListValue(seq) + case SnapiIterableType(innerType, _) => + val seq = mutable.ArrayBuffer[SnapiValue]() val it = v.getIterator while (it.hasIteratorNextElement) { val v1 = it.getIteratorNextElement - seq.append(polyglotValueToRql2Value(v1, innerType)) + seq.append(polyglotValueToSnapiValue(v1, innerType)) } if (it.canInvokeMember("close")) { val callable = it.getMember("close") callable.execute() } - Rql2IterableValue(seq) - case Rql2OrType(tipes, _) => + SnapiIterableValue(seq) + case SnapiOrType(tipes, _) => val idx = v.invokeMember("getIndex").asInt() val v1 = v.invokeMember("getValue") val tipe = tipes(idx) - polyglotValueToRql2Value(v1, tipe) - case _: Rql2LocationType => + polyglotValueToSnapiValue(v1, tipe) + case _: SnapiLocationType => val bufferSize = v.getBufferSize.toInt val byteArray = new Array[Byte](bufferSize) for (i <- 0 until bufferSize) { @@ -206,7 +206,7 @@ trait StagedCompiler { } val location = LocationDescription.toLocation(LocationDescription.deserialize(byteArray)) val publicDescription = v.asString() - Rql2LocationValue(location, publicDescription) + SnapiLocationValue(location, publicDescription) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/SymbolTable.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/SymbolTable.scala similarity index 78% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/SymbolTable.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/SymbolTable.scala index f00a4a564..1ae0e0cf1 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/SymbolTable.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/SymbolTable.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi import org.bitbucket.inkytonik.kiama.util.Entity import com.rawlabs.snapi.frontend.base -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.extensions.PackageExtension -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.PackageExtension +import com.rawlabs.snapi.frontend.snapi.source._ /** Entity for a program parameter. */ final class ProgramParamEntity(val p: SourceProgramParam) extends Entity @@ -35,4 +35,4 @@ final class FunParamEntity(val f: FunParam) extends Entity final class PackageEntity(val p: PackageExtension) extends Entity -final class MethodEntity(val d: Rql2Method) extends Entity +final class MethodEntity(val d: SnapiMethod) extends Entity diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/SyntaxAnalyzer.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/SyntaxAnalyzer.scala similarity index 79% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/SyntaxAnalyzer.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/SyntaxAnalyzer.scala index 87cf968a3..2fc97dd9f 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/SyntaxAnalyzer.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/SyntaxAnalyzer.scala @@ -10,16 +10,16 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi import org.bitbucket.inkytonik.kiama.parsing._ import org.bitbucket.inkytonik.kiama.util.Positions import com.rawlabs.snapi.frontend.base.SyntaxAnalyzer.identRegex import com.rawlabs.snapi.frontend.base.source.{BaseProgram, Type} import com.rawlabs.snapi.frontend.base -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.{ListPackageBuilder, RecordPackageBuilder} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.{ListPackageBuilder, RecordPackageBuilder} +import com.rawlabs.snapi.frontend.snapi.source._ import scala.util.matching.Regex @@ -101,9 +101,11 @@ class SyntaxAnalyzer(val positions: Positions) extends Parsers(positions) with b // Program vs Package /////////////////////////////////////////////////////////////////////////// - override lazy val program: Parser[BaseProgram] = rep(rql2Method) ~ opt(exp) ^^ { case ms ~ me => Rql2Program(ms, me) } + override lazy val program: Parser[BaseProgram] = rep(snapiMethod) ~ opt(exp) ^^ { + case ms ~ me => SnapiProgram(ms, me) + } - final protected lazy val rql2Method: Parser[Rql2Method] = idnDef ~ funProto ^^ { case i ~ p => Rql2Method(p, i) } + final protected lazy val snapiMethod: Parser[SnapiMethod] = idnDef ~ funProto ^^ { case i ~ p => SnapiMethod(p, i) } /////////////////////////////////////////////////////////////////////////// // Types @@ -118,8 +120,8 @@ class SyntaxAnalyzer(val positions: Positions) extends Parsers(positions) with b final override protected lazy val tipe: Parser[Type] = (rawType | "(" ~> tipe <~ ")") ~ opt(typeProps) ^^ { case t ~ mProps => mProps match { case Some(props) => t match { - case pType: Rql2TypeWithProperties => - props.foldLeft(pType)((t, p) => t.cloneAndAddProp(p).asInstanceOf[Rql2TypeWithProperties]) + case pType: SnapiTypeWithProperties => + props.foldLeft(pType)((t, p) => t.cloneAndAddProp(p).asInstanceOf[SnapiTypeWithProperties]) case _ => t } case None => t @@ -128,64 +130,64 @@ class SyntaxAnalyzer(val positions: Positions) extends Parsers(positions) with b private lazy val rawType: Parser[Type] = orType private lazy val basicType: Parser[Type] = propFriendlyType | plainType - final private lazy val propFriendlyType: Parser[Rql2TypeWithProperties] = funType | primitiveType | + final private lazy val propFriendlyType: Parser[SnapiTypeWithProperties] = funType | primitiveType | recordType | iterableType | listType | undefinedType | "(" ~> propFriendlyType <~ ")" protected lazy val orType: PackratParser[Type] = { tipe ~ rep1(tokOr ~> tipe) ^^ { - case t1 ~ ts => ts.tail.foldLeft(Rql2OrType(t1, ts.head, Set.empty))((agg, t) => Rql2OrType(agg, t, Set.empty)) + case t1 ~ ts => ts.tail.foldLeft(SnapiOrType(t1, ts.head, Set.empty))((agg, t) => SnapiOrType(agg, t, Set.empty)) } | basicType } - final protected lazy val primitiveType: Parser[Rql2PrimitiveType] = + final protected lazy val primitiveType: Parser[SnapiPrimitiveType] = boolType | stringType | locationType | binaryType | numberType | temporalType - final protected lazy val boolType: Parser[Rql2BoolType] = tokBool ^^^ Rql2BoolType() + final protected lazy val boolType: Parser[SnapiBoolType] = tokBool ^^^ SnapiBoolType() - final protected lazy val stringType: Parser[Rql2StringType] = tokString ^^^ Rql2StringType() + final protected lazy val stringType: Parser[SnapiStringType] = tokString ^^^ SnapiStringType() - final protected lazy val locationType: Parser[Rql2LocationType] = tokLocation ^^^ Rql2LocationType() + final protected lazy val locationType: Parser[SnapiLocationType] = tokLocation ^^^ SnapiLocationType() - final protected lazy val binaryType: Parser[Rql2BinaryType] = tokBinary ^^^ Rql2BinaryType() + final protected lazy val binaryType: Parser[SnapiBinaryType] = tokBinary ^^^ SnapiBinaryType() - final protected lazy val numberType: Parser[Rql2NumberType] = + final protected lazy val numberType: Parser[SnapiNumberType] = byteType | shortType | intType | longType | floatType | doubleType | decimalType - final protected lazy val byteType: Parser[Rql2ByteType] = tokByte ^^^ Rql2ByteType() + final protected lazy val byteType: Parser[SnapiByteType] = tokByte ^^^ SnapiByteType() - final protected lazy val shortType: Parser[Rql2ShortType] = tokShort ^^^ Rql2ShortType() + final protected lazy val shortType: Parser[SnapiShortType] = tokShort ^^^ SnapiShortType() - final protected lazy val intType: Parser[Rql2IntType] = tokInt ^^^ Rql2IntType() + final protected lazy val intType: Parser[SnapiIntType] = tokInt ^^^ SnapiIntType() - final protected lazy val longType: Parser[Rql2LongType] = tokLong ^^^ Rql2LongType() + final protected lazy val longType: Parser[SnapiLongType] = tokLong ^^^ SnapiLongType() - final protected lazy val floatType: Parser[Rql2FloatType] = tokFloat ^^^ Rql2FloatType() + final protected lazy val floatType: Parser[SnapiFloatType] = tokFloat ^^^ SnapiFloatType() - final protected lazy val doubleType: Parser[Rql2DoubleType] = tokDouble ^^^ Rql2DoubleType() + final protected lazy val doubleType: Parser[SnapiDoubleType] = tokDouble ^^^ SnapiDoubleType() - final protected lazy val decimalType: Parser[Rql2DecimalType] = tokDecimal ^^^ Rql2DecimalType() + final protected lazy val decimalType: Parser[SnapiDecimalType] = tokDecimal ^^^ SnapiDecimalType() - final protected lazy val temporalType: Parser[Rql2TemporalType] = dateType | timeType | intervalType | timestampType + final protected lazy val temporalType: Parser[SnapiTemporalType] = dateType | timeType | intervalType | timestampType - final protected lazy val dateType: Parser[Rql2DateType] = tokDate ^^^ Rql2DateType() + final protected lazy val dateType: Parser[SnapiDateType] = tokDate ^^^ SnapiDateType() - final protected lazy val timeType: Parser[Rql2TimeType] = tokTime ^^^ Rql2TimeType() + final protected lazy val timeType: Parser[SnapiTimeType] = tokTime ^^^ SnapiTimeType() - final protected lazy val intervalType: Parser[Rql2IntervalType] = tokInterval ^^^ Rql2IntervalType() + final protected lazy val intervalType: Parser[SnapiIntervalType] = tokInterval ^^^ SnapiIntervalType() - final protected lazy val timestampType: Parser[Rql2TimestampType] = tokTimestamp ^^^ Rql2TimestampType() + final protected lazy val timestampType: Parser[SnapiTimestampType] = tokTimestamp ^^^ SnapiTimestampType() - final protected lazy val recordType: Parser[Rql2RecordType] = - tokRecord ~> ("(" ~> repsep(attrType, ",") <~ opt(",") <~ ")") ^^ (attrs => Rql2RecordType(attrs)) + final protected lazy val recordType: Parser[SnapiRecordType] = + tokRecord ~> ("(" ~> repsep(attrType, ",") <~ opt(",") <~ ")") ^^ (attrs => SnapiRecordType(attrs)) - final protected lazy val attrType: Parser[Rql2AttrType] = (ident <~ ":") ~ tipe ^^ Rql2AttrType + final protected lazy val attrType: Parser[SnapiAttrType] = (ident <~ ":") ~ tipe ^^ SnapiAttrType - final protected lazy val iterableType: Parser[Rql2IterableType] = - tokCollection ~> ("(" ~> tipe <~ ")") ^^ (innerType => Rql2IterableType(innerType)) + final protected lazy val iterableType: Parser[SnapiIterableType] = + tokCollection ~> ("(" ~> tipe <~ ")") ^^ (innerType => SnapiIterableType(innerType)) - final protected lazy val listType: Parser[Rql2ListType] = - tokList ~> ("(" ~> tipe <~ ")") ^^ (innerType => Rql2ListType(innerType)) + final protected lazy val listType: Parser[SnapiListType] = + tokList ~> ("(" ~> tipe <~ ")") ^^ (innerType => SnapiListType(innerType)) final protected lazy val funType: PackratParser[FunType] = { ("(" ~> repsep(funOptTypeParam | tipe, ",") <~ ")") ~ ("->" ~> tipe) ^^ { @@ -204,7 +206,7 @@ class SyntaxAnalyzer(val positions: Positions) extends Parsers(positions) with b final protected lazy val expType: Parser[ExpType] = tokType ~> tipe ^^ ExpType - final protected lazy val undefinedType: Parser[Rql2UndefinedType] = tokUndefined ^^^ Rql2UndefinedType() + final protected lazy val undefinedType: Parser[SnapiUndefinedType] = tokUndefined ^^^ SnapiUndefinedType() final protected lazy val typeAliasType: Parser[TypeAliasType] = typeIdnUse ^^ TypeAliasType @@ -214,12 +216,12 @@ class SyntaxAnalyzer(val positions: Positions) extends Parsers(positions) with b if (isReservedType(idn)) failure("reserved type keyword") else success(idn) } - final private lazy val typeProps: Parser[Set[Rql2TypeProperty]] = { - ("@try" ~ "@null" ^^^ Set[Rql2TypeProperty](Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty())) | - ("@null" ~ "@try" ^^^ Set[Rql2TypeProperty](Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty())) | - ("@try" ^^^ Set[Rql2TypeProperty](Rql2IsTryableTypeProperty())) | - ("@null" ^^^ Set[Rql2TypeProperty](Rql2IsNullableTypeProperty())) | - success(Set.empty[Rql2TypeProperty]) + final private lazy val typeProps: Parser[Set[SnapiTypeProperty]] = { + ("@try" ~ "@null" ^^^ Set[SnapiTypeProperty](SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty())) | + ("@null" ~ "@try" ^^^ Set[SnapiTypeProperty](SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty())) | + ("@try" ^^^ Set[SnapiTypeProperty](SnapiIsTryableTypeProperty())) | + ("@null" ^^^ Set[SnapiTypeProperty](SnapiIsNullableTypeProperty())) | + success(Set.empty[SnapiTypeProperty]) } /////////////////////////////////////////////////////////////////////////// diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/Tree.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/Tree.scala similarity index 86% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/Tree.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/Tree.scala index 5fe821766..10026f186 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/Tree.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/Tree.scala @@ -10,10 +10,10 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.source.InternalSourcePrettyPrinter +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.source.InternalSourcePrettyPrinter class Tree(originalRoot: SourceProgram, ensureTree: Boolean = true)( implicit programContext: ProgramContext diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/TreeWithPositions.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/TreeWithPositions.scala similarity index 84% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/TreeWithPositions.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/TreeWithPositions.scala index 50eb670f8..d7f598532 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/TreeWithPositions.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/TreeWithPositions.scala @@ -10,10 +10,10 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.antlr4.{Antlr4SyntaxAnalyzer, ParseProgramResult} +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.antlr4.{Antlr4SyntaxAnalyzer, ParseProgramResult} class TreeWithPositions(originalSource: String, ensureTree: Boolean = true, frontend: Boolean = false)( implicit programContext: ProgramContext diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Antlr4SyntaxAnalyzer.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/Antlr4SyntaxAnalyzer.scala similarity index 75% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Antlr4SyntaxAnalyzer.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/Antlr4SyntaxAnalyzer.scala index d0a14d7ab..7fe763841 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Antlr4SyntaxAnalyzer.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/Antlr4SyntaxAnalyzer.scala @@ -10,7 +10,7 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.antlr4 +package com.rawlabs.snapi.frontend.snapi.antlr4 import com.rawlabs.compiler.Message import org.antlr.v4.runtime.tree.ParseTree @@ -18,9 +18,9 @@ import org.antlr.v4.runtime.{CharStreams, CommonTokenStream, TokenStream} import org.bitbucket.inkytonik.kiama.parsing.Parsers import org.bitbucket.inkytonik.kiama.util.{Positions, Source, StringSource} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2.source.SourceProgram +import com.rawlabs.snapi.frontend.snapi.source.SourceProgram import com.rawlabs.snapi.parser.generated.{SnapiLexer, SnapiParser} -import com.rawlabs.snapi.frontend.rql2.source.Rql2Program +import com.rawlabs.snapi.frontend.snapi.source.SnapiProgram abstract class ParseResult(errors: List[Message]) { def hasErrors: Boolean = errors.nonEmpty @@ -33,7 +33,7 @@ final case class ParseTypeResult(errors: List[Message], tipe: Type) extends Pars class Antlr4SyntaxAnalyzer(val positions: Positions, isFrontend: Boolean) extends Parsers(positions) { def parse(s: String): ParseProgramResult[SourceProgram] = { - val rawErrorListener = new Rql2ErrorListener() + val rawErrorListener = new SnapiErrorListener() val stream = getTokenStream(s, rawErrorListener) parse(stream, StringSource(s), rawErrorListener) } @@ -41,22 +41,22 @@ class Antlr4SyntaxAnalyzer(val positions: Positions, isFrontend: Boolean) extend protected def parse( stream: TokenStream, source: Source, - errorListener: Rql2ErrorListener + errorListener: SnapiErrorListener ): ParseProgramResult[SourceProgram] = { val parser = new SnapiParser(stream) parser.removeErrorListeners() parser.addErrorListener(errorListener) val tree: ParseTree = parser.prog - val visitorParseErrors = new Rql2VisitorParseErrors - val visitor = new Rql2SnapiVisitor(positions, source, isFrontend, visitorParseErrors) - val result = visitor.visit(tree).asInstanceOf[Rql2Program] + val visitorParseErrors = new SnapiVisitorParseErrors + val visitor = new SnapiVisitor(positions, source, isFrontend, visitorParseErrors) + val result = visitor.visit(tree).asInstanceOf[SnapiProgram] val totalErrors = errorListener.getErrors ++ visitorParseErrors.getErrors ParseProgramResult(totalErrors, result) } - protected def getTokenStream(s: String, errorListener: Rql2ErrorListener): CommonTokenStream = { + protected def getTokenStream(s: String, errorListener: SnapiErrorListener): CommonTokenStream = { val lexer = new SnapiLexer(CharStreams.fromString(s)) lexer.removeErrorListeners() lexer.addErrorListener(errorListener) @@ -66,15 +66,15 @@ class Antlr4SyntaxAnalyzer(val positions: Positions, isFrontend: Boolean) extend def parseType(s: String): ParseTypeResult = { val source = StringSource(s) - val rawErrorListener = new Rql2ErrorListener() + val rawErrorListener = new SnapiErrorListener() val parser = new SnapiParser(getTokenStream(s, rawErrorListener)) parser.removeErrorListeners() parser.addErrorListener(rawErrorListener) val tree: ParseTree = parser.tipe - val visitorParseErrors = new Rql2VisitorParseErrors - val visitor: Rql2SnapiVisitor = new Rql2SnapiVisitor(positions, source, isFrontend, visitorParseErrors) + val visitorParseErrors = new SnapiVisitorParseErrors + val visitor: SnapiVisitor = new SnapiVisitor(positions, source, isFrontend, visitorParseErrors) val result: Type = visitor.visit(tree).asInstanceOf[Type] val totalErrors = rawErrorListener.getErrors ++ visitorParseErrors.getErrors diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/CommentsAntlrSyntaxAnalyzer.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/CommentsAntlrSyntaxAnalyzer.scala similarity index 96% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/CommentsAntlrSyntaxAnalyzer.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/CommentsAntlrSyntaxAnalyzer.scala index fd73f1705..bb550ea78 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/CommentsAntlrSyntaxAnalyzer.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/CommentsAntlrSyntaxAnalyzer.scala @@ -10,11 +10,11 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.antlr4 +package com.rawlabs.snapi.frontend.snapi.antlr4 import org.bitbucket.inkytonik.kiama.util.{Position, Positions, StringSource} import com.rawlabs.snapi.frontend.base.source.{BaseNode, BaseProgram} -import com.rawlabs.snapi.frontend.rql2.source.SourceProgram +import com.rawlabs.snapi.frontend.snapi.source.SourceProgram import java.util import scala.collection.JavaConverters._ @@ -28,7 +28,7 @@ class CommentsAntlrSyntaxAnalyzer( ) extends Antlr4SyntaxAnalyzer(positions, isFrontend) { override def parse(s: String): ParseProgramResult[SourceProgram] = { - val rawErrorListener = new Rql2ErrorListener() + val rawErrorListener = new SnapiErrorListener() val source = StringSource(s) val stream = getTokenStream(s, rawErrorListener) val r = parse(stream, source, rawErrorListener) diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/ParserErrors.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/ParserErrors.scala similarity index 90% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/ParserErrors.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/ParserErrors.scala index add4b86c4..3cd17330d 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/ParserErrors.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/ParserErrors.scala @@ -10,7 +10,7 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.antlr4 +package com.rawlabs.snapi.frontend.snapi.antlr4 object ParserErrors { val ParserErrorCode = "parserError" diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Rql2ErrorListener.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/SnapiErrorListener.scala similarity index 96% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Rql2ErrorListener.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/SnapiErrorListener.scala index 04088fbf7..99d896623 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Rql2ErrorListener.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/SnapiErrorListener.scala @@ -10,14 +10,14 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.antlr4 +package com.rawlabs.snapi.frontend.snapi.antlr4 import com.rawlabs.compiler.{ErrorMessage, ErrorPosition, ErrorRange, Message} import org.antlr.v4.runtime.{BaseErrorListener, RecognitionException, Recognizer, Token} import scala.collection.mutable -class Rql2ErrorListener extends BaseErrorListener { +class SnapiErrorListener extends BaseErrorListener { private val errors = new mutable.ListBuffer[Message] diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Rql2Positions.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/SnapiPositions.scala similarity index 95% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Rql2Positions.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/SnapiPositions.scala index d58dff223..96df71d63 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Rql2Positions.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/SnapiPositions.scala @@ -10,12 +10,12 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.antlr4 +package com.rawlabs.snapi.frontend.snapi.antlr4 import org.antlr.v4.runtime.{ParserRuleContext, Token} import org.bitbucket.inkytonik.kiama.util.{Position, Positions, Source} -class Rql2Positions(positions: Positions, source: Source) { +class SnapiPositions(positions: Positions, source: Source) { /** * Sets the position of the node in the position map based on start and end of a ParserRuleContext object. diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Rql2SnapiVisitor.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/SnapiVisitor.scala similarity index 93% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Rql2SnapiVisitor.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/SnapiVisitor.scala index de99cf93f..ba0ebec9a 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Rql2SnapiVisitor.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/SnapiVisitor.scala @@ -10,7 +10,7 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.antlr4 +package com.rawlabs.snapi.frontend.snapi.antlr4 import com.rawlabs.compiler.{ErrorMessage, ErrorPosition, ErrorRange} import com.rawlabs.utils.core.RawUtils @@ -18,27 +18,27 @@ import org.antlr.v4.runtime.ParserRuleContext import org.apache.commons.codec.binary.Hex import org.bitbucket.inkytonik.kiama.util.{Positions, Source} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.{ListPackageBuilder, RecordPackageBuilder} +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.{ListPackageBuilder, RecordPackageBuilder} import com.rawlabs.snapi.parser.generated.{SnapiParser, SnapiParserBaseVisitor} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ import scala.collection.JavaConverters._ import scala.util.Try -class Rql2SnapiVisitor( +class SnapiVisitor( positions: Positions, private val source: Source, isFrontend: Boolean, - private val errors: Rql2VisitorParseErrors + private val errors: SnapiVisitorParseErrors ) extends SnapiParserBaseVisitor[SourceNode] { - private val positionsWrapper = new Rql2Positions(positions, source) + private val positionsWrapper = new SnapiPositions(positions, source) private val assertionMessage = "This is a helper (better grammar readability) node, should never visit it" - private def defaultProps: Set[Rql2TypeProperty] = - if (isFrontend) Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()) + private def defaultProps: Set[SnapiTypeProperty] = + if (isFrontend) Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty()) else Set.empty private def getBrokenTypeCompletion(t: Option[Type], context: ParserRuleContext): Option[Type] = { @@ -61,7 +61,7 @@ class Rql2SnapiVisitor( override def visitProg(ctx: SnapiParser.ProgContext): SourceNode = Option(ctx) .flatMap(context => Option(context.stat)) .flatMap(statContext => Option(visit(statContext))) - .getOrElse(Rql2Program(Vector.empty, Option.empty)) + .getOrElse(SnapiProgram(Vector.empty, Option.empty)) override def visitFunDecStat(ctx: SnapiParser.FunDecStatContext): SourceNode = Option(ctx) .map { context => @@ -70,17 +70,17 @@ class Rql2SnapiVisitor( m.asScala.map(md => Option(md) .flatMap(mdContext => Option(visit(mdContext))) - .getOrElse(Rql2Method(FunProto(Vector.empty, Option.empty, FunBody(ErrorExp())), IdnDef(""))) - .asInstanceOf[Rql2Method] + .getOrElse(SnapiMethod(FunProto(Vector.empty, Option.empty, FunBody(ErrorExp())), IdnDef(""))) + .asInstanceOf[SnapiMethod] ) ) .getOrElse(Vector.empty) .toVector - val result = Rql2Program(methods, Option.empty) + val result = SnapiProgram(methods, Option.empty) positionsWrapper.setPosition(context, result) result } - .getOrElse(Rql2Program(Vector.empty, Option.empty)) + .getOrElse(SnapiProgram(Vector.empty, Option.empty)) override def visitFunDecExprStat(ctx: SnapiParser.FunDecExprStatContext): SourceNode = Option(ctx) .map { context => @@ -89,18 +89,18 @@ class Rql2SnapiVisitor( m.asScala.map(md => Option(md) .flatMap(mdContext => Option(visit(mdContext))) - .getOrElse(Rql2Method(FunProto(Vector.empty, Option.empty, FunBody(ErrorExp())), IdnDef(""))) - .asInstanceOf[Rql2Method] + .getOrElse(SnapiMethod(FunProto(Vector.empty, Option.empty, FunBody(ErrorExp())), IdnDef(""))) + .asInstanceOf[SnapiMethod] ) ) .getOrElse(Vector.empty) .toVector val me = Option(context.expr).map(expContext => Option(visit(expContext)).getOrElse(ErrorExp()).asInstanceOf[Exp]) - val result = Rql2Program(methods, me) + val result = SnapiProgram(methods, me) positionsWrapper.setPosition(context, result) result } - .getOrElse(Rql2Program(Vector.empty, Option.empty)) + .getOrElse(SnapiProgram(Vector.empty, Option.empty)) override def visitFun_proto(ctx: SnapiParser.Fun_protoContext): SourceNode = Option(ctx) .map { context => @@ -223,11 +223,11 @@ class Rql2SnapiVisitor( res } .getOrElse(IdnDef("")) - val result = Rql2Method(funProto, idnDef) + val result = SnapiMethod(funProto, idnDef) positionsWrapper.setPosition(context, result) result } - .getOrElse(Rql2Method(FunProto(Vector.empty, Option.empty, FunBody(ErrorExp())), IdnDef(""))) + .getOrElse(SnapiMethod(FunProto(Vector.empty, Option.empty, FunBody(ErrorExp())), IdnDef(""))) override def visitNormalFun(ctx: SnapiParser.NormalFunContext): SourceNode = Option(ctx) .map { context => @@ -337,11 +337,11 @@ class Rql2SnapiVisitor( val tipe = Option(context.tipe()) .map(tipeContext => Option(visit(tipeContext)).getOrElse(ErrorType()).asInstanceOf[Type]) .getOrElse(ErrorType()) - val result = Rql2AttrType(ident, tipe) + val result = SnapiAttrType(ident, tipe) positionsWrapper.setPosition(context, result) result } - .getOrElse(Rql2AttrType("", ErrorType())) + .getOrElse(SnapiAttrType("", ErrorType())) override def visitFunArgExpr(ctx: SnapiParser.FunArgExprContext): SourceNode = Option(ctx) .flatMap { context => @@ -477,14 +477,14 @@ class Rql2SnapiVisitor( .getOrElse(Vector.empty) val orType = Option(context.or_type()) .flatMap(orTypeContext => Option(visit(orTypeContext))) - .getOrElse(Rql2OrType(Vector(ErrorType()))) - .asInstanceOf[Rql2OrType] + .getOrElse(SnapiOrType(Vector(ErrorType()))) + .asInstanceOf[SnapiOrType] val combinedTypes = tipes ++ orType.tipes - val result = Rql2OrType(combinedTypes, defaultProps) + val result = SnapiOrType(combinedTypes, defaultProps) positionsWrapper.setPosition(context, result) result } - .getOrElse(Rql2OrType(Vector(ErrorType()))) + .getOrElse(SnapiOrType(Vector(ErrorType()))) // this one is helper, it doesn't need to set position (basically an accumulator for or_type) override def visitOr_type(ctx: SnapiParser.Or_typeContext): SourceNode = Option(ctx) @@ -495,9 +495,9 @@ class Rql2SnapiVisitor( .asInstanceOf[Type] val orType = Option(context.or_type()) .flatMap(orTypeContext => Option(visit(orTypeContext))) - .getOrElse(Rql2OrType(Vector.empty)) - .asInstanceOf[Rql2OrType] - Rql2OrType(Vector(tipe) ++ orType.tipes, defaultProps) + .getOrElse(SnapiOrType(Vector.empty)) + .asInstanceOf[SnapiOrType] + SnapiOrType(Vector(tipe) ++ orType.tipes, defaultProps) } .getOrElse(ErrorType()) @@ -509,10 +509,10 @@ class Rql2SnapiVisitor( val orType = Option(context.or_type()) .flatMap(orTypeContext => Option(visit(orTypeContext))) - .getOrElse(Rql2OrType(Vector.empty)) - .asInstanceOf[Rql2OrType] + .getOrElse(SnapiOrType(Vector.empty)) + .asInstanceOf[SnapiOrType] val combinedTypes = types ++ orType.tipes - val domainOrType = Rql2OrType(combinedTypes, defaultProps) + val domainOrType = SnapiOrType(combinedTypes, defaultProps) val rType = Option(context.tipe(1)) .flatMap(tipeContext => Option(visit(tipeContext))) .getOrElse(ErrorType()) @@ -531,14 +531,14 @@ class Rql2SnapiVisitor( override def visitRecordTypeType(ctx: SnapiParser.RecordTypeTypeContext): SourceNode = Option(ctx) .flatMap(context => Option(context.record_type).flatMap(recordTypeContext => Option(visit(recordTypeContext)))) .getOrElse(ErrorType()) - .asInstanceOf[Rql2RecordType] + .asInstanceOf[SnapiRecordType] override def visitIterableTypeType(ctx: SnapiParser.IterableTypeTypeContext): SourceNode = Option(ctx) .flatMap(context => Option(context.iterable_type).flatMap(iterableTypeContext => Option(visit(iterableTypeContext))) ) .getOrElse(ErrorType()) - .asInstanceOf[Rql2IterableType] + .asInstanceOf[SnapiIterableType] override def visitTypeWithParenType(ctx: SnapiParser.TypeWithParenTypeContext): SourceNode = Option(ctx) .flatMap(context => Option(context.tipe()).flatMap(tipeContext => Option(visit(tipeContext)))) @@ -555,22 +555,22 @@ class Rql2SnapiVisitor( override def visitPrimitive_types(ctx: SnapiParser.Primitive_typesContext): SourceNode = Option(ctx) .map { context => val result = - if (context.BOOL_TOKEN != null) Rql2BoolType(defaultProps) - else if (context.STRING_TOKEN != null) Rql2StringType(defaultProps) - else if (context.LOCATION_TOKEN != null) Rql2LocationType(defaultProps) - else if (context.BINARY_TOKEN != null) Rql2BinaryType(defaultProps) - else if (context.DATE_TOKEN != null) Rql2DateType(defaultProps) - else if (context.TIME_TOKEN != null) Rql2TimeType(defaultProps) - else if (context.INTERVAL_TOKEN != null) Rql2IntervalType(defaultProps) - else if (context.TIMESTAMP_TOKEN != null) Rql2TimestampType(defaultProps) - else if (context.BYTE_TOKEN != null) Rql2ByteType(defaultProps) - else if (context.SHORT_TOKEN != null) Rql2ShortType(defaultProps) - else if (context.INT_TOKEN != null) Rql2IntType(defaultProps) - else if (context.LONG_TOKEN != null) Rql2LongType(defaultProps) - else if (context.FLOAT_TOKEN != null) Rql2FloatType(defaultProps) - else if (context.DOUBLE_TOKEN != null) Rql2DoubleType(defaultProps) - else if (context.DECIMAL_TOKEN != null) Rql2DecimalType(defaultProps) - else if (context.UNDEFINED_TOKEN != null) Rql2UndefinedType(defaultProps) + if (context.BOOL_TOKEN != null) SnapiBoolType(defaultProps) + else if (context.STRING_TOKEN != null) SnapiStringType(defaultProps) + else if (context.LOCATION_TOKEN != null) SnapiLocationType(defaultProps) + else if (context.BINARY_TOKEN != null) SnapiBinaryType(defaultProps) + else if (context.DATE_TOKEN != null) SnapiDateType(defaultProps) + else if (context.TIME_TOKEN != null) SnapiTimeType(defaultProps) + else if (context.INTERVAL_TOKEN != null) SnapiIntervalType(defaultProps) + else if (context.TIMESTAMP_TOKEN != null) SnapiTimestampType(defaultProps) + else if (context.BYTE_TOKEN != null) SnapiByteType(defaultProps) + else if (context.SHORT_TOKEN != null) SnapiShortType(defaultProps) + else if (context.INT_TOKEN != null) SnapiIntType(defaultProps) + else if (context.LONG_TOKEN != null) SnapiLongType(defaultProps) + else if (context.FLOAT_TOKEN != null) SnapiFloatType(defaultProps) + else if (context.DOUBLE_TOKEN != null) SnapiDoubleType(defaultProps) + else if (context.DECIMAL_TOKEN != null) SnapiDecimalType(defaultProps) + else if (context.UNDEFINED_TOKEN != null) SnapiUndefinedType(defaultProps) else throw new AssertionError("Unknown primitive type") positionsWrapper.setPosition(context, result) result @@ -634,15 +634,15 @@ class Rql2SnapiVisitor( .map(a => Option(a) .flatMap(aContext => Option(visit(aContext))) - .getOrElse(Rql2AttrType("", ErrorType())) - .asInstanceOf[Rql2AttrType] + .getOrElse(SnapiAttrType("", ErrorType())) + .asInstanceOf[SnapiAttrType] ) .toVector ) } .getOrElse(Vector.empty) - val result = Rql2RecordType(atts, defaultProps) + val result = SnapiRecordType(atts, defaultProps) positionsWrapper.setPosition(context, result) result } @@ -655,7 +655,7 @@ class Rql2SnapiVisitor( .flatMap(tipeContext => Option(visit(tipeContext))) .getOrElse(ErrorType()) .asInstanceOf[Type] - val result = Rql2IterableType(tipe, defaultProps) + val result = SnapiIterableType(tipe, defaultProps) positionsWrapper.setPosition(context, result) result } @@ -667,7 +667,7 @@ class Rql2SnapiVisitor( .flatMap(tipeContext => Option(visit(tipeContext))) .getOrElse(ErrorType()) .asInstanceOf[Type] - val result = Rql2ListType(tipe, defaultProps) + val result = SnapiListType(tipe, defaultProps) positionsWrapper.setPosition(context, result) result } @@ -1342,18 +1342,20 @@ class Rql2SnapiVisitor( .flatMap(tipeContext => Option(visit(tipeContext))) .getOrElse(ErrorType()) tipe match { - case rql2TypeWithProperties: Rql2TypeWithProperties => Option(context.nullable_tryable()) + case snapiTypeWithProperties: SnapiTypeWithProperties => Option(context.nullable_tryable()) .map { nullableTryable => val withoutNullable = Option(nullableTryable.NULLABLE_TOKEN()) .map(_ => - rql2TypeWithProperties - .cloneAndAddProp(Rql2IsNullableTypeProperty()) - .asInstanceOf[Rql2TypeWithProperties] + snapiTypeWithProperties + .cloneAndAddProp(SnapiIsNullableTypeProperty()) + .asInstanceOf[SnapiTypeWithProperties] ) - .getOrElse(rql2TypeWithProperties) + .getOrElse(snapiTypeWithProperties) Option(nullableTryable.TRYABLE_TOKEN()) .map(_ => - withoutNullable.cloneAndAddProp(Rql2IsTryableTypeProperty()).asInstanceOf[Rql2TypeWithProperties] + withoutNullable + .cloneAndAddProp(SnapiIsTryableTypeProperty()) + .asInstanceOf[SnapiTypeWithProperties] ) .getOrElse(withoutNullable) } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Rql2VisitorParseErrors.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/SnapiVisitorParseErrors.scala similarity index 88% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Rql2VisitorParseErrors.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/SnapiVisitorParseErrors.scala index 9ea3830d2..7fb63f5b9 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/antlr4/Rql2VisitorParseErrors.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/antlr4/SnapiVisitorParseErrors.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.antlr4 +package com.rawlabs.snapi.frontend.snapi.antlr4 import com.rawlabs.compiler.Message import scala.collection.mutable -class Rql2VisitorParseErrors { +class SnapiVisitorParseErrors { private val errors = new mutable.ListBuffer[Message] diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/errors/Errors.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/errors/Errors.scala similarity index 99% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/errors/Errors.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/errors/Errors.scala index 9833cedc5..cafeadf76 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/errors/Errors.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/errors/Errors.scala @@ -10,7 +10,7 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.errors +package com.rawlabs.snapi.frontend.snapi.errors import com.rawlabs.snapi.frontend.base.errors.ErrorCompilerMessage import com.rawlabs.snapi.frontend.base.source.{BaseNode, Type} diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/errors/ErrorsPrettyPrinter.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/errors/ErrorsPrettyPrinter.scala similarity index 93% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/errors/ErrorsPrettyPrinter.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/errors/ErrorsPrettyPrinter.scala index 550bb054e..12551af4b 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/errors/ErrorsPrettyPrinter.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/errors/ErrorsPrettyPrinter.scala @@ -10,14 +10,14 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.errors +package com.rawlabs.snapi.frontend.snapi.errors import com.rawlabs.snapi.frontend.base.errors.{MissingSecretWarning, UnexpectedType} import com.rawlabs.snapi.frontend.base.source.BaseNode -import com.rawlabs.snapi.frontend.{base, rql2} -import com.rawlabs.snapi.frontend.rql2.source.{ExpectedProjType, PackageType} +import com.rawlabs.snapi.frontend.{base, snapi} +import com.rawlabs.snapi.frontend.snapi.source.{ExpectedProjType, PackageType} -trait ErrorsPrettyPrinter extends base.errors.ErrorsPrettyPrinter with rql2.source.SourcePrettyPrinter { +trait ErrorsPrettyPrinter extends base.errors.ErrorsPrettyPrinter with snapi.source.SourcePrettyPrinter { override def toDoc(n: BaseNode): Doc = n match { case _: KeyNotComparable => KeyNotComparable.message diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/EntryExtensionProvider.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/EntryExtensionProvider.scala similarity index 98% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/EntryExtensionProvider.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/EntryExtensionProvider.scala index 1a618f931..e3e8af05e 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/EntryExtensionProvider.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/EntryExtensionProvider.scala @@ -10,9 +10,9 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions +package com.rawlabs.snapi.frontend.snapi.extensions -import com.rawlabs.snapi.frontend.rql2.extensions.builtin._ +import com.rawlabs.snapi.frontend.snapi.extensions.builtin._ object EntryExtensionProvider { diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/LocationDescription.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/LocationDescription.scala similarity index 99% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/LocationDescription.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/LocationDescription.scala index aed3c9777..5aad712f0 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/LocationDescription.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/LocationDescription.scala @@ -10,7 +10,7 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions +package com.rawlabs.snapi.frontend.snapi.extensions import com.rawlabs.utils.sources.api.Location import com.rawlabs.utils.sources.bytestream.github.GitHubLocation diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/PackageExtension.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/PackageExtension.scala similarity index 79% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/PackageExtension.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/PackageExtension.scala index 5d6c91914..54d8ea9e9 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/PackageExtension.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/PackageExtension.scala @@ -10,14 +10,14 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions +package com.rawlabs.snapi.frontend.snapi.extensions import com.rawlabs.compiler.{EntryDoc, PackageDoc} import com.rawlabs.snapi.frontend.base.errors.{ErrorCompilerMessage, InvalidSemantic, UnsupportedType} import com.rawlabs.snapi.frontend.base.source.{AnythingType, BaseNode, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.{ProgramContext, Rql2TypeUtils, Rql2Value} +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.{ProgramContext, SnapiTypeUtils, SnapiValue} import com.rawlabs.utils.sources.api._ import com.rawlabs.utils.sources.bytestream.api.ByteStreamLocation @@ -54,7 +54,7 @@ abstract class PackageExtension { } -final case class Rql2Arg(e: Exp, t: Type, idn: Option[String]) +final case class SnapiArg(e: Exp, t: Type, idn: Option[String]) abstract class EntryExtension extends EntryExtensionHelper { @@ -169,20 +169,20 @@ abstract class ShortEntryExtension( } -trait EntryExtensionHelper extends Rql2TypeUtils { +trait EntryExtensionHelper extends SnapiTypeUtils { /////////////////////////////////////////////////////////////////////////// // Value Helpers /////////////////////////////////////////////////////////////////////////// - final protected def getStringValue(v: Arg): String = { v.asInstanceOf[ValueArg].v.asInstanceOf[Rql2StringValue].v } + final protected def getStringValue(v: Arg): String = { v.asInstanceOf[ValueArg].v.asInstanceOf[SnapiStringValue].v } - final protected def getIntValue(v: Arg): Int = { v.asInstanceOf[ValueArg].v.asInstanceOf[Rql2IntValue].v } + final protected def getIntValue(v: Arg): Int = { v.asInstanceOf[ValueArg].v.asInstanceOf[SnapiIntValue].v } - final protected def getBoolValue(v: Arg): Boolean = { v.asInstanceOf[ValueArg].v.asInstanceOf[Rql2BoolValue].v } + final protected def getBoolValue(v: Arg): Boolean = { v.asInstanceOf[ValueArg].v.asInstanceOf[SnapiBoolValue].v } final protected def getByteStreamLocation(v: Arg): Either[String, ByteStreamLocation] = { - val locationValue = v.asInstanceOf[ValueArg].v.asInstanceOf[Rql2LocationValue] + val locationValue = v.asInstanceOf[ValueArg].v.asInstanceOf[SnapiLocationValue] locationValue.l match { case l: ByteStreamLocation => Right(l) case _ => Left("expected a bytestream") @@ -190,36 +190,36 @@ trait EntryExtensionHelper extends Rql2TypeUtils { } final protected def locationValueToExp(v: Arg): Exp = { - val locationValue = v.asInstanceOf[ValueArg].v.asInstanceOf[Rql2LocationValue] + val locationValue = v.asInstanceOf[ValueArg].v.asInstanceOf[SnapiLocationValue] val location = locationValue.l val locationDescription = LocationDescription.toLocationDescription(location) LocationConst(LocationDescription.serialize(locationDescription), locationValue.publicDescription) } final protected def getListStringValue(v: Arg): Seq[String] = { - v.asInstanceOf[ValueArg].v.asInstanceOf[Rql2ListValue].v.map(v => v.asInstanceOf[Rql2StringValue].v) + v.asInstanceOf[ValueArg].v.asInstanceOf[SnapiListValue].v.map(v => v.asInstanceOf[SnapiStringValue].v) } final protected def getListOptionStringValue(v: Arg): Seq[Option[String]] = { v .asInstanceOf[ValueArg] .v - .asInstanceOf[Rql2ListValue] + .asInstanceOf[SnapiListValue] .v - .map(v => v.asInstanceOf[Rql2OptionValue].v.map(_.asInstanceOf[Rql2StringValue].v)) + .map(v => v.asInstanceOf[SnapiOptionValue].v.map(_.asInstanceOf[SnapiStringValue].v)) } final protected def getListKVValue(v: Arg): Seq[(String, String)] = { val values = v .asInstanceOf[ValueArg] .v - .asInstanceOf[Rql2ListValue] + .asInstanceOf[SnapiListValue] .v .map { x => - val values = x.asInstanceOf[Rql2RecordValue].v.map { - case Rql2RecordAttr(_, Rql2OptionValue(Some(v: Rql2StringValue))) => Some(v.v) - case Rql2RecordAttr(_, Rql2StringValue(v)) => Some(v) - case Rql2RecordAttr(_, Rql2OptionValue(None)) => None + val values = x.asInstanceOf[SnapiRecordValue].v.map { + case SnapiRecordAttr(_, SnapiOptionValue(Some(v: SnapiStringValue))) => Some(v.v) + case SnapiRecordAttr(_, SnapiStringValue(v)) => Some(v) + case SnapiRecordAttr(_, SnapiOptionValue(None)) => None } (values(0), values(1)) } @@ -229,7 +229,7 @@ trait EntryExtensionHelper extends Rql2TypeUtils { final protected def getEncodingValue(v: Arg): Either[String, Encoding] = { Encoding - .fromEncodingString(v.asInstanceOf[ValueArg].v.asInstanceOf[Rql2StringValue].v) + .fromEncodingString(v.asInstanceOf[ValueArg].v.asInstanceOf[SnapiStringValue].v) } final protected def getMandatoryArgExp(mandatoryArgs: Seq[Arg], idx: Int): Exp = { @@ -248,24 +248,24 @@ trait EntryExtensionHelper extends Rql2TypeUtils { // Validator Helpers /////////////////////////////////////////////////////////////////////////// - protected def validateTableType(t: Type): Either[Seq[UnsupportedType], Rql2IterableType] = t match { - case Rql2IterableType(Rql2RecordType(atts, _), _) => + protected def validateTableType(t: Type): Either[Seq[UnsupportedType], SnapiIterableType] = t match { + case SnapiIterableType(SnapiRecordType(atts, _), _) => val validated = atts.map { x => x.tipe match { - case _: Rql2StringType => Right(x) - case _: Rql2BoolType => Right(x) - case _: Rql2NumberType => Right(x) - case _: Rql2DateType => Right(x) - case _: Rql2TimeType => Right(x) - case _: Rql2TimestampType => Right(x) - case _: Rql2BinaryType => Right(x) + case _: SnapiStringType => Right(x) + case _: SnapiBoolType => Right(x) + case _: SnapiNumberType => Right(x) + case _: SnapiDateType => Right(x) + case _: SnapiTimeType => Right(x) + case _: SnapiTimestampType => Right(x) + case _: SnapiBinaryType => Right(x) // intervals are not supported, so we cannot match temporal types here. case _ => Left(Seq(UnsupportedType(x.tipe, x.tipe, None))) } } val errors = validated.collect { case Left(error) => error } if (errors.nonEmpty) Left(errors.flatten) - else Right(Rql2IterableType(Rql2RecordType(atts))) + else Right(SnapiIterableType(SnapiRecordType(atts))) case _ => Left(Seq(UnsupportedType(t, t, None))) } @@ -276,29 +276,29 @@ trait EntryExtensionHelper extends Rql2TypeUtils { final val anything = AnythingType() // Primitive number types - final val byte = Rql2ByteType() - final val short = Rql2ShortType() - final val int = Rql2IntType() - final val long = Rql2LongType() - final val float = Rql2FloatType() - final val double = Rql2DoubleType() - final val decimal = Rql2DecimalType() + final val byte = SnapiByteType() + final val short = SnapiShortType() + final val int = SnapiIntType() + final val long = SnapiLongType() + final val float = SnapiFloatType() + final val double = SnapiDoubleType() + final val decimal = SnapiDecimalType() // Primitive temporal types - final val date = Rql2DateType() - final val time = Rql2TimeType() - final val interval = Rql2IntervalType() - final val timestamp = Rql2TimestampType() + final val date = SnapiDateType() + final val time = SnapiTimeType() + final val interval = SnapiIntervalType() + final val timestamp = SnapiTimestampType() // Primitive types - final val bool = Rql2BoolType() - final val string = Rql2StringType() - final val binary = Rql2BinaryType() - final val location = Rql2LocationType() + final val bool = SnapiBoolType() + final val string = SnapiStringType() + final val binary = SnapiBinaryType() + final val location = SnapiLocationType() // Collection types - final val iterable = Rql2IterableType(anything) - final val list = Rql2ListType(anything) + final val iterable = SnapiIterableType(anything) + final val list = SnapiListType(anything) // Number types constraints final val integer = OneOfType(byte, short, int, long) @@ -322,7 +322,7 @@ sealed trait Arg { } final case class ExpArg(e: Exp, t: Type) extends Arg final case class TypeArg(t: Type) extends Arg -final case class ValueArg(v: Rql2Value, t: Type) extends Arg +final case class ValueArg(v: SnapiValue, t: Type) extends Arg abstract class SugarEntryExtension extends EntryExtension { diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/PackageExtensionProvider.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/PackageExtensionProvider.scala similarity index 90% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/PackageExtensionProvider.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/PackageExtensionProvider.scala index 5855eeef0..e88c0c241 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/PackageExtensionProvider.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/PackageExtensionProvider.scala @@ -10,10 +10,10 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions +package com.rawlabs.snapi.frontend.snapi.extensions -import com.rawlabs.snapi.frontend.rql2.PackageEntity -import com.rawlabs.snapi.frontend.rql2.extensions.builtin._ +import com.rawlabs.snapi.frontend.snapi.PackageEntity +import com.rawlabs.snapi.frontend.snapi.extensions.builtin._ object PackageExtensionProvider { diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/Aggregations.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/Aggregations.scala similarity index 67% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/Aggregations.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/Aggregations.scala index b818163d5..4fb014adf 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/Aggregations.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/Aggregations.scala @@ -10,20 +10,20 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.snapi.frontend.base.source.{AnythingType, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.errors.ItemsNotComparable -import com.rawlabs.snapi.frontend.rql2.extensions.{EntryExtension, EntryExtensionHelper} -import com.rawlabs.snapi.frontend.rql2.source.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.errors.ItemsNotComparable +import com.rawlabs.snapi.frontend.snapi.extensions.{EntryExtension, EntryExtensionHelper} +import com.rawlabs.snapi.frontend.snapi.source.{ HasTypeProperties, IsNullable, - Rql2AttrType, - Rql2DecimalType, - Rql2IsNullableTypeProperty, - Rql2LongType, - Rql2RecordType + SnapiAttrType, + SnapiDecimalType, + SnapiIsNullableTypeProperty, + SnapiLongType, + SnapiRecordType } abstract class Aggregation extends EntryExtensionHelper { @@ -36,7 +36,7 @@ abstract class Aggregation extends EntryExtensionHelper { object SumAggregation extends Aggregation { - override val innerTypeConstraint: Type = OneOfType(number.tipes.map(addProp(_, Rql2IsNullableTypeProperty()))) + override val innerTypeConstraint: Type = OneOfType(number.tipes.map(addProp(_, SnapiIsNullableTypeProperty()))) override def aggregationType(t: Type): Either[String, Type] = Right(t) @@ -47,7 +47,7 @@ object MinAggregation extends Aggregation { override val innerTypeConstraint: Type = IsNullable() override def aggregationType(t: Type): Either[String, Type] = { - if (isComparable(t)) Right(resetProps(t, Set(Rql2IsNullableTypeProperty()))) + if (isComparable(t)) Right(resetProps(t, Set(SnapiIsNullableTypeProperty()))) else Left(ItemsNotComparable.message) } @@ -58,7 +58,7 @@ object MaxAggregation extends Aggregation { override val innerTypeConstraint: Type = IsNullable() override def aggregationType(t: Type): Either[String, Type] = { - if (isComparable(t)) Right(resetProps(t, Set(Rql2IsNullableTypeProperty()))) + if (isComparable(t)) Right(resetProps(t, Set(SnapiIsNullableTypeProperty()))) else Left(ItemsNotComparable.message) } @@ -66,17 +66,17 @@ object MaxAggregation extends Aggregation { object FirstAggregation extends Aggregation { - override val innerTypeConstraint: Type = HasTypeProperties(Set(Rql2IsNullableTypeProperty())) + override val innerTypeConstraint: Type = HasTypeProperties(Set(SnapiIsNullableTypeProperty())) - override def aggregationType(t: Type): Either[String, Type] = Right(addProp(t, Rql2IsNullableTypeProperty())) + override def aggregationType(t: Type): Either[String, Type] = Right(addProp(t, SnapiIsNullableTypeProperty())) } object LastAggregation extends Aggregation { - override val innerTypeConstraint: Type = HasTypeProperties(Set(Rql2IsNullableTypeProperty())) + override val innerTypeConstraint: Type = HasTypeProperties(Set(SnapiIsNullableTypeProperty())) - override def aggregationType(t: Type): Either[String, Type] = Right(addProp(t, Rql2IsNullableTypeProperty())) + override def aggregationType(t: Type): Either[String, Type] = Right(addProp(t, SnapiIsNullableTypeProperty())) } @@ -84,19 +84,19 @@ object CountAggregation extends Aggregation { override val innerTypeConstraint: Type = AnythingType() - override def aggregationType(t: Type): Either[String, Type] = Right(Rql2LongType()) + override def aggregationType(t: Type): Either[String, Type] = Right(SnapiLongType()) } object AvgAggregation extends Aggregation { - override val innerTypeConstraint: Type = OneOfType(number.tipes.map(t => addProp(t, Rql2IsNullableTypeProperty()))) + override val innerTypeConstraint: Type = OneOfType(number.tipes.map(t => addProp(t, SnapiIsNullableTypeProperty()))) override def aggregationType(t: Type): Either[String, Type] = Right( - Rql2RecordType( + SnapiRecordType( Vector( - Rql2AttrType("sum", addProp(Rql2DecimalType(), Rql2IsNullableTypeProperty())), - Rql2AttrType("count", Rql2LongType()) + SnapiAttrType("sum", addProp(SnapiDecimalType(), SnapiIsNullableTypeProperty())), + SnapiAttrType("count", SnapiLongType()) ) ) ) diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/AwsPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/AwsPackage.scala similarity index 88% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/AwsPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/AwsPackage.scala index e3b613ca1..efc22d48f 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/AwsPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/AwsPackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} +import com.rawlabs.snapi.frontend.snapi.source._ class AwsPackage extends PackageExtension { override def name: String = "Aws" @@ -95,11 +95,11 @@ class AwsV4SignedRequest extends EntryExtension { override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "region" | "sessionToken" | "path" | "method" | "host" | "bodyString" => Right(ExpParam(Rql2StringType())) + case "region" | "sessionToken" | "path" | "method" | "host" | "bodyString" => Right(ExpParam(SnapiStringType())) case "args" | "headers" => Right( ExpParam( - Rql2ListType( - Rql2RecordType(Vector(Rql2AttrType("_1", Rql2StringType()), Rql2AttrType("_2", Rql2StringType()))) + SnapiListType( + SnapiRecordType(Vector(SnapiAttrType("_1", SnapiStringType()), SnapiAttrType("_2", SnapiStringType()))) ) ) ) @@ -107,13 +107,13 @@ class AwsV4SignedRequest extends EntryExtension { } override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2StringType())) + Right(ExpParam(SnapiStringType())) } override def returnType( mandatoryArgs: Seq[Arg], optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] - )(implicit programContext: ProgramContext): Either[String, Type] = Right(Rql2LocationType()) + )(implicit programContext: ProgramContext): Either[String, Type] = Right(SnapiLocationType()) } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/BinaryPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/BinaryPackage.scala similarity index 85% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/BinaryPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/BinaryPackage.scala index a41a75fa4..932c718be 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/BinaryPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/BinaryPackage.scala @@ -10,12 +10,12 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2.extensions.{PackageExtension, ShortEntryExtension} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.{PackageExtension, ShortEntryExtension} +import com.rawlabs.snapi.frontend.snapi.source._ object BinaryPackageBuilder { @@ -40,7 +40,7 @@ class BinaryPackage extends PackageExtension { object BinaryPackage extends BinaryPackage { def outputWriteSupport(dataType: Type): Boolean = { - dataType.isInstanceOf[Rql2BinaryType] // nullable/tryable or not. All are supported + dataType.isInstanceOf[SnapiBinaryType] // nullable/tryable or not. All are supported } } @@ -48,8 +48,8 @@ class FromStringBinaryEntryExtension extends ShortEntryExtension( "Binary", "FromString", - Vector(Rql2StringType()), - Rql2BinaryType(), + Vector(SnapiStringType()), + SnapiBinaryType(), EntryDoc( "Converts a string into a binary.", params = List(ParamDoc("value", TypeDoc(List("string")), "The string to convert to binary.")), @@ -69,8 +69,8 @@ class BinaryReadEntry extends ShortEntryExtension( "Binary", "Read", - Vector(Rql2LocationType()), - Rql2BinaryType(Set(Rql2IsTryableTypeProperty())), + Vector(SnapiLocationType()), + SnapiBinaryType(Set(SnapiIsTryableTypeProperty())), EntryDoc( "Reads the contents of a location as a binary.", params = List(ParamDoc("value", TypeDoc(List("location")), "The location to read bytes from.")), @@ -89,8 +89,8 @@ class BinaryBase64Entry extends ShortEntryExtension( "Binary", "Base64", - Vector(Rql2BinaryType()), - Rql2StringType(), + Vector(SnapiBinaryType()), + SnapiStringType(), EntryDoc( "Encodes a binary value onto a base64 string.", params = List(ParamDoc("value", TypeDoc(List("binary")), "The binary to convert to a base64 string.")), diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/BytePackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/BytePackage.scala similarity index 81% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/BytePackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/BytePackage.scala index 2513cf4fd..11c1cbc71 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/BytePackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/BytePackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} +import com.rawlabs.snapi.frontend.snapi.source._ object BytePackageBuilder { @@ -81,11 +81,11 @@ class ByteFromEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { // Type as Try when passed a string in case the content doesn't parse. - val props: Set[Rql2TypeProperty] = mandatoryArgs(0).t match { - case _: Rql2StringType => Set(Rql2IsTryableTypeProperty()) - case _ => Set.empty[Rql2TypeProperty] + val props: Set[SnapiTypeProperty] = mandatoryArgs(0).t match { + case _: SnapiStringType => Set(SnapiIsTryableTypeProperty()) + case _ => Set.empty[SnapiTypeProperty] } - Right(Rql2ByteType(props)) + Right(SnapiByteType(props)) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/CollectionPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/CollectionPackage.scala similarity index 83% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/CollectionPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/CollectionPackage.scala index 9438eedf0..1bbed5f60 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/CollectionPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/CollectionPackage.scala @@ -10,15 +10,15 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.errors.{ErrorCompilerMessage, InvalidSemantic} import com.rawlabs.snapi.frontend.base.source.{AnythingType, BaseNode, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpArg, @@ -31,7 +31,7 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ ValueArg, ValueParam } -import com.rawlabs.snapi.frontend.rql2.errors.{ +import com.rawlabs.snapi.frontend.snapi.errors.{ InvalidOrderSpec, ItemsNotComparable, KeyNotComparable, @@ -199,7 +199,7 @@ class EmptyCollectionEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { val TypeArg(t) = mandatoryArgs(0) - Right(Rql2IterableType(t)) + Right(SnapiIterableType(t)) } } @@ -240,11 +240,11 @@ class BuildCollectionEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { if (varArgs.isEmpty) { - Right(Rql2IterableType(Rql2UndefinedType())) + Right(SnapiIterableType(SnapiUndefinedType())) } else { val typesMerger = new TypesMerger val t = typesMerger.mergeType(varArgs.map(_.t): _*).get - Right(Rql2IterableType(t)) + Right(SnapiIterableType(t)) } } @@ -260,7 +260,7 @@ trait CollectionToListHint { this: EntryExtension => ): Option[String] = { idx match { case 0 => actual match { - case _: Rql2ListType => Some(s"did you mean List.$entryName?") + case _: SnapiListType => Some(s"did you mean List.$entryName?") case _ => None } case _ => None @@ -302,9 +302,9 @@ class FilterCollectionEntry extends EntryExtension with PredicateNormalization w override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2IterableType(AnythingType()))) + case 0 => Right(ExpParam(SnapiIterableType(AnythingType()))) case 1 => - val ExpArg(_, Rql2IterableType(innerType, props)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(innerType, props)) = prevMandatoryArgs(0) assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right(ExpParam(flexiblePredicateOn(innerType))) } @@ -318,7 +318,7 @@ class FilterCollectionEntry extends EntryExtension with PredicateNormalization w ): Option[String] = { idx match { case 0 => actual match { - case _: Rql2ListType => Some("did you mean List.Filter?") + case _: SnapiListType => Some("did you mean List.Filter?") case _ => None } case _ => None @@ -364,14 +364,14 @@ class AvgCollectionEntry extends SugarEntryExtension with CollectionToListHint { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = - Right(ExpParam(Rql2IterableType(AvgAggregation.innerTypeConstraint))) + Right(ExpParam(SnapiIterableType(AvgAggregation.innerTypeConstraint))) override def returnType( mandatoryArgs: Seq[Arg], optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2DecimalType(Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()))) + Right(SnapiDecimalType(Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty()))) } override def desugar( @@ -415,16 +415,16 @@ class OrderByCollectionEntry extends EntryExtension with CollectionToListHint { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx == 0) - Right(ExpParam(Rql2IterableType(AnythingType()))) + Right(ExpParam(SnapiIterableType(AnythingType()))) } override def hasVarArgs: Boolean = true override def getVarParam(prevMandatoryArgs: Seq[Arg], prevVarArgs: Seq[Arg], idx: Int): Either[String, Param] = { - val ExpArg(_, Rql2IterableType(innerType, props)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(innerType, props)) = prevMandatoryArgs(0) assert(props.isEmpty, "Should have been handled as per arg 0 definition") if (idx % 2 == 0) Right(ExpParam(FunType(Vector(innerType), Vector.empty, AnythingType()))) - else Right(ValueParam(Rql2StringType())) + else Right(ValueParam(SnapiStringType())) } override def returnTypeErrorList( @@ -433,14 +433,14 @@ class OrderByCollectionEntry extends EntryExtension with CollectionToListHint { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[Seq[ErrorCompilerMessage], Type] = { - val (orders, keyFunctions) = varArgs.partition(_.t.isInstanceOf[Rql2StringType]) + val (orders, keyFunctions) = varArgs.partition(_.t.isInstanceOf[SnapiStringType]) if (orders.size != keyFunctions.size) return Left(Seq(OrderSpecMustFollowOrderingFunction(node))) val keyErrors = for ( ExpArg(arg, FunType(_, _, keyType, _)) <- keyFunctions; if !isComparable(keyType) ) yield KeyNotComparable(arg) val orderErrors = for ( - ValueArg(value @ Rql2StringValue(order), _) <- orders; + ValueArg(value @ SnapiStringValue(order), _) <- orders; if !Set("ASC", "DESC").contains(order.toUpperCase) ) yield InvalidOrderSpec(node, order) val errors = keyErrors ++ orderErrors @@ -481,9 +481,9 @@ class TransformCollectionEntry extends EntryExtension with CollectionToListHint override def nrMandatoryParams: Int = 2 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = idx match { - case 0 => Right(ExpParam(Rql2IterableType(AnythingType()))) + case 0 => Right(ExpParam(SnapiIterableType(AnythingType()))) case 1 => - val ExpArg(_, Rql2IterableType(innerType, props)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(innerType, props)) = prevMandatoryArgs(0) assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right(ExpParam(FunType(Vector(innerType), Vector.empty, AnythingType()))) } @@ -495,7 +495,7 @@ class TransformCollectionEntry extends EntryExtension with CollectionToListHint )(implicit programContext: ProgramContext): Either[String, Type] = { val FunType(_, _, outType, props) = mandatoryArgs(1).t assert(props.isEmpty, "Should have been handled as per arg 1 definition") - Right(Rql2IterableType(outType)) + Right(SnapiIterableType(outType)) } } @@ -529,7 +529,7 @@ class DistinctCollectionEntry extends EntryExtension with CollectionToListHint { super.getVarParam(prevMandatoryArgs, prevVarArgs, idx) override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2IterableType(AnythingType()))) + Right(ExpParam(SnapiIterableType(AnythingType()))) } override def returnTypeErrorList( @@ -538,7 +538,7 @@ class DistinctCollectionEntry extends EntryExtension with CollectionToListHint { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[Seq[ErrorCompilerMessage], Type] = { - val ExpArg(list, Rql2IterableType(itemType, _)) = mandatoryArgs(0) + val ExpArg(list, SnapiIterableType(itemType, _)) = mandatoryArgs(0) if (isComparable(itemType)) Right(mandatoryArgs(0).t) else Left(Seq(ItemsNotComparable(list))) } @@ -549,7 +549,7 @@ abstract class AggregationCollectionEntry(aggregation: Aggregation) extends Aggr override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx == 0) - Right(ExpParam(Rql2IterableType(aggregation.innerTypeConstraint))) + Right(ExpParam(SnapiIterableType(aggregation.innerTypeConstraint))) } override def returnTypeErrorList( @@ -570,8 +570,8 @@ abstract class AggregationCollectionEntry(aggregation: Aggregation) extends Aggr optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val Rql2IterableType(innerType, _) = mandatoryArgs.head.t - aggregation.aggregationType(innerType).right.map(t => addProp(t, Rql2IsTryableTypeProperty())) + val SnapiIterableType(innerType, _) = mandatoryArgs.head.t + aggregation.aggregationType(innerType).right.map(t => addProp(t, SnapiIsTryableTypeProperty())) } } @@ -713,9 +713,9 @@ class FindFirstCollectionEntry extends SugarEntryExtension with PredicateNormali override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2IterableType(AnythingType()))) + case 0 => Right(ExpParam(SnapiIterableType(AnythingType()))) case 1 => - val ExpArg(_, Rql2IterableType(innerType, props)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(innerType, props)) = prevMandatoryArgs(0) assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right(ExpParam(flexiblePredicateOn(innerType))) } @@ -726,8 +726,8 @@ class FindFirstCollectionEntry extends SugarEntryExtension with PredicateNormali optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val ExpArg(_, Rql2IterableType(itemType, _)) = mandatoryArgs(0) - Right(addProps(itemType, Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty()))) + val ExpArg(_, SnapiIterableType(itemType, _)) = mandatoryArgs(0) + Right(addProps(itemType, Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty()))) } override def desugar( @@ -791,9 +791,9 @@ class FindLastCollectionEntry extends SugarEntryExtension with PredicateNormaliz override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2IterableType(AnythingType()))) + case 0 => Right(ExpParam(SnapiIterableType(AnythingType()))) case 1 => - val ExpArg(_, Rql2IterableType(innerType, props)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(innerType, props)) = prevMandatoryArgs(0) assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right(ExpParam(flexiblePredicateOn(innerType))) } @@ -804,8 +804,8 @@ class FindLastCollectionEntry extends SugarEntryExtension with PredicateNormaliz optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val ExpArg(_, Rql2IterableType(itemType, _)) = mandatoryArgs(0) - Right(addProps(itemType, Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty()))) + val ExpArg(_, SnapiIterableType(itemType, _)) = mandatoryArgs(0) + Right(addProps(itemType, Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty()))) } override def desugar( @@ -844,8 +844,8 @@ class TakeCollectionEntry extends EntryExtension with CollectionToListHint { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2IterableType(AnythingType()))) - case 1 => Right(ExpParam(Rql2LongType())) + case 0 => Right(ExpParam(SnapiIterableType(AnythingType()))) + case 1 => Right(ExpParam(SnapiLongType())) } } @@ -932,9 +932,9 @@ class ExplodeCollectionEntry extends SugarEntryExtension with RecordMerging with override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2IterableType(AnythingType()))) + case 0 => Right(ExpParam(SnapiIterableType(AnythingType()))) case 1 => - val ExpArg(_, Rql2IterableType(innerType, props)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(innerType, props)) = prevMandatoryArgs(0) assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right( ExpParam( @@ -942,10 +942,10 @@ class ExplodeCollectionEntry extends SugarEntryExtension with RecordMerging with Vector(innerType), Vector.empty, OneOfType( - Rql2IterableType(AnythingType()), - Rql2IterableType(AnythingType(), Set(Rql2IsNullableTypeProperty())), - Rql2IterableType(AnythingType(), Set(Rql2IsTryableTypeProperty())), - Rql2IterableType(AnythingType(), Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) + SnapiIterableType(AnythingType()), + SnapiIterableType(AnythingType(), Set(SnapiIsNullableTypeProperty())), + SnapiIterableType(AnythingType(), Set(SnapiIsTryableTypeProperty())), + SnapiIterableType(AnythingType(), Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) ) ) ) @@ -958,10 +958,10 @@ class ExplodeCollectionEntry extends SugarEntryExtension with RecordMerging with optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val ExpArg(_, Rql2IterableType(leftRowType, props)) = mandatoryArgs(0) - val ExpArg(_, FunType(_, _, Rql2IterableType(rightRowType, _), _)) = mandatoryArgs(1) - val outRowType = rql2JoinOutputRowType(leftRowType, rightRowType) - Right(Rql2IterableType(outRowType, props)) + val ExpArg(_, SnapiIterableType(leftRowType, props)) = mandatoryArgs(0) + val ExpArg(_, FunType(_, _, SnapiIterableType(rightRowType, _), _)) = mandatoryArgs(1) + val outRowType = snapiJoinOutputRowType(leftRowType, rightRowType) + Right(SnapiIterableType(outRowType, props)) } override def desugar( @@ -971,8 +971,8 @@ class ExplodeCollectionEntry extends SugarEntryExtension with RecordMerging with optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Exp = { - val ExpArg(in, Rql2IterableType(leftRowType, _)) = mandatoryArgs(0) - val ExpArg(f, FunType(_, _, Rql2IterableType(rightRowType, _), _)) = mandatoryArgs(1) + val ExpArg(in, SnapiIterableType(leftRowType, _)) = mandatoryArgs(0) + val ExpArg(f, FunType(_, _, SnapiIterableType(rightRowType, _), _)) = mandatoryArgs(1) val leftIdn = IdnDef() val unnestedMerge = { val rightIdn = IdnDef() @@ -983,7 +983,7 @@ class ExplodeCollectionEntry extends SugarEntryExtension with RecordMerging with FunProto( Vector(FunParam(rightIdn, None, None)), None, - FunBody(rql2JoinRowsConcatenation(IdnExp(leftIdn), leftRowType, IdnExp(rightIdn), rightRowType)) + FunBody(snapiJoinRowsConcatenation(IdnExp(leftIdn), leftRowType, IdnExp(rightIdn), rightRowType)) ) ) ) @@ -1006,9 +1006,9 @@ class UnnestCollectionEntry extends EntryExtension with CollectionToListHint { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2IterableType(AnythingType()))) + case 0 => Right(ExpParam(SnapiIterableType(AnythingType()))) case 1 => - val ExpArg(_, Rql2IterableType(innerType, props)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(innerType, props)) = prevMandatoryArgs(0) assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right( ExpParam( @@ -1016,10 +1016,10 @@ class UnnestCollectionEntry extends EntryExtension with CollectionToListHint { Vector(innerType), Vector.empty, OneOfType( - Rql2IterableType(AnythingType()), - Rql2IterableType(AnythingType(), Set(Rql2IsNullableTypeProperty())), - Rql2IterableType(AnythingType(), Set(Rql2IsTryableTypeProperty())), - Rql2IterableType(AnythingType(), Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) + SnapiIterableType(AnythingType()), + SnapiIterableType(AnythingType(), Set(SnapiIsNullableTypeProperty())), + SnapiIterableType(AnythingType(), Set(SnapiIsTryableTypeProperty())), + SnapiIterableType(AnythingType(), Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) ) ) ) @@ -1032,10 +1032,10 @@ class UnnestCollectionEntry extends EntryExtension with CollectionToListHint { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val Rql2IterableType(_, props) = mandatoryArgs(0).t + val SnapiIterableType(_, props) = mandatoryArgs(0).t assert(props.isEmpty, "Should have been handled as per arg 1 definition") - val FunType(_, _, Rql2IterableType(outputRowType, _), _) = mandatoryArgs(1).t - Right(Rql2IterableType(outputRowType)) + val FunType(_, _, SnapiIterableType(outputRowType, _), _) = mandatoryArgs(1).t + Right(SnapiIterableType(outputRowType)) } } @@ -1058,7 +1058,7 @@ class FromCollectionEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2ListType(AnythingType()))) + Right(ExpParam(SnapiListType(AnythingType()))) } override def returnType( @@ -1066,8 +1066,8 @@ class FromCollectionEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val ExpArg(_, Rql2ListType(itemType, _)) = mandatoryArgs(0) - Right(Rql2IterableType(itemType)) + val ExpArg(_, SnapiListType(itemType, _)) = mandatoryArgs(0) + Right(SnapiIterableType(itemType)) } } @@ -1100,9 +1100,9 @@ class GroupCollectionEntry extends EntryExtension with CollectionToListHint { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2IterableType(AnythingType()))) + case 0 => Right(ExpParam(SnapiIterableType(AnythingType()))) case 1 => - val ExpArg(_, Rql2IterableType(innerType, props)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(innerType, props)) = prevMandatoryArgs(0) assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right(ExpParam(FunType(Vector(innerType), Vector.empty, AnythingType()))) } @@ -1118,11 +1118,11 @@ class GroupCollectionEntry extends EntryExtension with CollectionToListHint { val ExpArg(keyFunction, FunType(_, _, keyType, props)) = mandatoryArgs(1) assert(props.isEmpty, "Should have been handled as per arg 1 definition") if (isComparable(keyType)) Right( - Rql2IterableType( - Rql2RecordType( + SnapiIterableType( + SnapiRecordType( Vector( - Rql2AttrType("key", keyType), - Rql2AttrType("group", listType) + SnapiAttrType("key", keyType), + SnapiAttrType("group", listType) ) ) ) @@ -1185,11 +1185,11 @@ class JoinCollectionEntry override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 | 1 => Right(ExpParam(Rql2IterableType(AnythingType()))) + case 0 | 1 => Right(ExpParam(SnapiIterableType(AnythingType()))) case 2 => - val ExpArg(_, Rql2IterableType(leftRowType, _)) = prevMandatoryArgs(0) - val ExpArg(_, Rql2IterableType(rightRowType, _)) = prevMandatoryArgs(1) - val outType = rql2JoinOutputRowType(leftRowType, rightRowType) + val ExpArg(_, SnapiIterableType(leftRowType, _)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(rightRowType, _)) = prevMandatoryArgs(1) + val outType = snapiJoinOutputRowType(leftRowType, rightRowType) Right(ExpParam(OneOfType(flexiblePredicateOn(outType), flexiblePredicateOn(Vector(leftRowType, rightRowType))))) } } @@ -1199,10 +1199,10 @@ class JoinCollectionEntry optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val ExpArg(_, Rql2IterableType(leftRowType, _)) = mandatoryArgs(0) - val ExpArg(_, Rql2IterableType(rightRowType, _)) = mandatoryArgs(1) - val outType = rql2JoinOutputRowType(leftRowType, rightRowType) - Right(Rql2IterableType(outType)) + val ExpArg(_, SnapiIterableType(leftRowType, _)) = mandatoryArgs(0) + val ExpArg(_, SnapiIterableType(rightRowType, _)) = mandatoryArgs(1) + val outType = snapiJoinOutputRowType(leftRowType, rightRowType) + Right(SnapiIterableType(outType)) } override def desugar( @@ -1213,11 +1213,11 @@ class JoinCollectionEntry varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Exp = { val remapF = { - val Rql2IterableType(leftRowType, _) = mandatoryArgs(0).t - val Rql2IterableType(rightRowType, _) = mandatoryArgs(1).t + val SnapiIterableType(leftRowType, _) = mandatoryArgs(0).t + val SnapiIterableType(rightRowType, _) = mandatoryArgs(1).t val leftIdn = IdnDef() val rightIdn = IdnDef() - val concatenation = rql2JoinRowsConcatenation(IdnExp(leftIdn), leftRowType, IdnExp(rightIdn), rightRowType) + val concatenation = snapiJoinRowsConcatenation(IdnExp(leftIdn), leftRowType, IdnExp(rightIdn), rightRowType) FunAbs( FunProto( Vector(FunParam(leftIdn, None, None), FunParam(rightIdn, None, None)), @@ -1243,14 +1243,14 @@ class InternalJoinCollectionEntry extends EntryExtension with PredicateNormaliza override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 | 1 => Right(ExpParam(Rql2IterableType(AnythingType()))) + case 0 | 1 => Right(ExpParam(SnapiIterableType(AnythingType()))) case 2 => - val ExpArg(_, Rql2IterableType(leftRowType, _)) = prevMandatoryArgs(0) - val ExpArg(_, Rql2IterableType(rightRowType, _)) = prevMandatoryArgs(1) + val ExpArg(_, SnapiIterableType(leftRowType, _)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(rightRowType, _)) = prevMandatoryArgs(1) Right(ExpParam(FunType(Vector(leftRowType, rightRowType), Vector.empty, AnythingType()))) case 3 => - val ExpArg(_, Rql2IterableType(leftRowType, _)) = prevMandatoryArgs(0) - val ExpArg(_, Rql2IterableType(rightRowType, _)) = prevMandatoryArgs(1) + val ExpArg(_, SnapiIterableType(leftRowType, _)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(rightRowType, _)) = prevMandatoryArgs(1) val ExpArg(_, FunType(_, _, outType, _)) = prevMandatoryArgs(2) Right(ExpParam(OneOfType(flexiblePredicateOn(outType), flexiblePredicateOn(Vector(leftRowType, rightRowType))))) } @@ -1262,7 +1262,7 @@ class InternalJoinCollectionEntry extends EntryExtension with PredicateNormaliza varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { val ExpArg(_, FunType(_, _, outType, _)) = mandatoryArgs(2) - Right(Rql2IterableType(outType)) + Right(SnapiIterableType(outType)) } } @@ -1309,12 +1309,12 @@ class EquiJoinCollectionEntry extends SugarEntryExtension with RecordMerging wit override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 | 1 => Right(ExpParam(Rql2IterableType(AnythingType()))) + case 0 | 1 => Right(ExpParam(SnapiIterableType(AnythingType()))) case 2 => - val ExpArg(_, Rql2IterableType(innerType, _)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(innerType, _)) = prevMandatoryArgs(0) Right(ExpParam(FunType(Vector(innerType), Vector.empty, AnythingType()))) case 3 => - val ExpArg(_, Rql2IterableType(innerType, _)) = prevMandatoryArgs(1) + val ExpArg(_, SnapiIterableType(innerType, _)) = prevMandatoryArgs(1) val ExpArg(_, FunType(_, _, kType, _)) = prevMandatoryArgs(2) Right(ExpParam(FunType(Vector(innerType), Vector.empty, MergeableType(kType)))) } @@ -1326,14 +1326,14 @@ class EquiJoinCollectionEntry extends SugarEntryExtension with RecordMerging wit optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[Seq[ErrorCompilerMessage], Type] = { - val ExpArg(_, Rql2IterableType(leftRowType, _)) = mandatoryArgs(0) - val ExpArg(_, Rql2IterableType(rightRowType, _)) = mandatoryArgs(1) + val ExpArg(_, SnapiIterableType(leftRowType, _)) = mandatoryArgs(0) + val ExpArg(_, SnapiIterableType(rightRowType, _)) = mandatoryArgs(1) val ExpArg(keyFunction1, FunType(_, _, keyType1, _)) = mandatoryArgs(2) val ExpArg(keyFunction2, FunType(_, _, keyType2, _)) = mandatoryArgs(3) if (isComparable(keyType1)) { if (isComparable(keyType2)) { - val mergedRecordType = rql2JoinOutputRowType(leftRowType, rightRowType) - Right(Rql2IterableType(mergedRecordType)) + val mergedRecordType = snapiJoinOutputRowType(leftRowType, rightRowType) + Right(SnapiIterableType(mergedRecordType)) } else Left(Seq(KeyNotComparable(keyFunction2))) } else Left(Seq(KeyNotComparable(keyFunction1))) } @@ -1345,12 +1345,12 @@ class EquiJoinCollectionEntry extends SugarEntryExtension with RecordMerging wit optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Exp = { - val Rql2IterableType(leftRowType, _) = mandatoryArgs(0).t - val Rql2IterableType(rightRowType, _) = mandatoryArgs(1).t + val SnapiIterableType(leftRowType, _) = mandatoryArgs(0).t + val SnapiIterableType(rightRowType, _) = mandatoryArgs(1).t val remapF = { val leftIdn = IdnDef() val rightIdn = IdnDef() - val concatenation = rql2JoinRowsConcatenation(IdnExp(leftIdn), leftRowType, IdnExp(rightIdn), rightRowType) + val concatenation = snapiJoinRowsConcatenation(IdnExp(leftIdn), leftRowType, IdnExp(rightIdn), rightRowType) FunAbs( FunProto( Vector(FunParam(leftIdn, None, None), FunParam(rightIdn, None, None)), @@ -1400,20 +1400,20 @@ class InternalEquiJoinCollectionEntry extends EntryExtension with RecordMerging idx match { case 0 | 1 => // input datasets - Right(ExpParam(Rql2IterableType(AnythingType()))) + Right(ExpParam(SnapiIterableType(AnythingType()))) case 2 => // left key function - val ExpArg(_, Rql2IterableType(innerType, props)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(innerType, props)) = prevMandatoryArgs(0) Right(ExpParam(FunType(Vector(innerType), Vector.empty, AnythingType()))) case 3 => // right key function (output type = left key function output type) - val ExpArg(_, Rql2IterableType(innerType, props)) = prevMandatoryArgs(1) + val ExpArg(_, SnapiIterableType(innerType, props)) = prevMandatoryArgs(1) val ExpArg(_, FunType(_, _, kType, _)) = prevMandatoryArgs(2) Right(ExpParam(FunType(Vector(innerType), Vector.empty, kType))) case 4 => // remap function (in general concatenation of the two rows) - val ExpArg(_, Rql2IterableType(leftRowType, _)) = prevMandatoryArgs(0) - val ExpArg(_, Rql2IterableType(rightRowType, _)) = prevMandatoryArgs(1) + val ExpArg(_, SnapiIterableType(leftRowType, _)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(rightRowType, _)) = prevMandatoryArgs(1) Right(ExpParam(FunType(Vector(leftRowType, rightRowType), Vector.empty, AnythingType()))) } @@ -1425,7 +1425,7 @@ class InternalEquiJoinCollectionEntry extends EntryExtension with RecordMerging varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { val ExpArg(_, FunType(_, _, remapType, _)) = mandatoryArgs(4) - Right(Rql2IterableType(remapType)) + Right(SnapiIterableType(remapType)) } } @@ -1453,10 +1453,10 @@ class UnionCollectionEntry extends EntryExtension with CollectionToListHint { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2IterableType(AnythingType()))) + case 0 => Right(ExpParam(SnapiIterableType(AnythingType()))) case 1 => - val ExpArg(_, Rql2IterableType(rowType, _)) = prevMandatoryArgs(0) - Right(ExpParam(Rql2IterableType(MergeableType(rowType)))) + val ExpArg(_, SnapiIterableType(rowType, _)) = prevMandatoryArgs(0) + Right(ExpParam(SnapiIterableType(MergeableType(rowType)))) } } @@ -1465,8 +1465,8 @@ class UnionCollectionEntry extends EntryExtension with CollectionToListHint { prevVarArgs: Seq[Arg], idx: Int ): Either[String, Param] = { - val ExpArg(_, Rql2IterableType(rowType, _)) = prevMandatoryArgs(0) - Right(ExpParam(Rql2IterableType(MergeableType(rowType)))) + val ExpArg(_, SnapiIterableType(rowType, _)) = prevMandatoryArgs(0) + Right(ExpParam(SnapiIterableType(MergeableType(rowType)))) } override def returnType( @@ -1484,19 +1484,19 @@ class UnionCollectionEntry extends EntryExtension with CollectionToListHint { trait RecordMerging { - protected def rql2JoinRowsConcatenation(leftRow: Exp, leftRowType: Type, rightRow: Exp, rightRowType: Type): Exp = { + protected def snapiJoinRowsConcatenation(leftRow: Exp, leftRowType: Type, rightRow: Exp, rightRowType: Type): Exp = { def merge(leftRowType: Type, rightRowType: Type): Exp = (leftRowType, rightRowType) match { - case (_: Rql2RecordType, _: Rql2RecordType) => + case (_: SnapiRecordType, _: SnapiRecordType) => // Two records, concatenate the fields RecordPackageBuilder.Concat(leftRow, rightRow) - case (rec: Rql2RecordType, _) => + case (rec: SnapiRecordType, _) => // right isn't a record. Its value goes as rightmost field. - val Rql2RecordType(atts, _) = rql2JoinOutputRowType(leftRowType, rightRowType) + val SnapiRecordType(atts, _) = snapiJoinOutputRowType(leftRowType, rightRowType) val idn = atts.last.idn RecordPackageBuilder.AddField(leftRow, rightRow, idn) - case (_, rec: Rql2RecordType) => + case (_, rec: SnapiRecordType) => // left isn't a record. Its value goes are leftmost field. - val Rql2RecordType(atts, _) = rql2JoinOutputRowType(leftRowType, rightRowType) + val SnapiRecordType(atts, _) = snapiJoinOutputRowType(leftRowType, rightRowType) val idn = atts.head.idn RecordPackageBuilder.Concat(RecordPackageBuilder.Build(Vector((idn, leftRow))), rightRow) case _ => @@ -1505,21 +1505,21 @@ trait RecordMerging { } merge(leftRowType, rightRowType) } - protected def rql2JoinOutputRowType(leftRowType: Type, rightRowType: Type): Rql2RecordType = + protected def snapiJoinOutputRowType(leftRowType: Type, rightRowType: Type): SnapiRecordType = (leftRowType, rightRowType) match { - case (Rql2RecordType(leftAtts, leftProps), Rql2RecordType(rightAtts, rightProps)) => + case (SnapiRecordType(leftAtts, leftProps), SnapiRecordType(rightAtts, rightProps)) => // both are records, merge attributes and properties (how Record.Concat behaves) - Rql2RecordType(leftAtts ++ rightAtts, leftProps ++ rightProps) - case (Rql2RecordType(atts, props), _) => + SnapiRecordType(leftAtts ++ rightAtts, leftProps ++ rightProps) + case (SnapiRecordType(atts, props), _) => val others = atts.map(_.idn).toSet val idn = (1 to (others.size + 1)).map("_" + _).find(!others.contains(_)).head - Rql2RecordType(atts :+ Rql2AttrType(idn, rightRowType), props) - case (_, Rql2RecordType(atts, props)) => + SnapiRecordType(atts :+ SnapiAttrType(idn, rightRowType), props) + case (_, SnapiRecordType(atts, props)) => // left isn't a record. Add it as a front extra column val others = atts.map(_.idn).toSet val idn = (1 to (others.size + 1)).map("_" + _).find(!others.contains(_)).head - Rql2RecordType(Rql2AttrType(idn, leftRowType) +: atts, props) - case _ => Rql2RecordType(Vector(Rql2AttrType("_1", leftRowType), Rql2AttrType("_2", rightRowType))) + SnapiRecordType(SnapiAttrType(idn, leftRowType) +: atts, props) + case _ => SnapiRecordType(Vector(SnapiAttrType("_1", leftRowType), SnapiAttrType("_2", rightRowType))) } } @@ -1530,10 +1530,10 @@ trait PredicateNormalization { outTypes, Vector.empty, OneOfType( - Rql2BoolType(), - Rql2BoolType(Set(Rql2IsNullableTypeProperty())), - Rql2BoolType(Set(Rql2IsTryableTypeProperty())), - Rql2BoolType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) + SnapiBoolType(), + SnapiBoolType(Set(SnapiIsNullableTypeProperty())), + SnapiBoolType(Set(SnapiIsTryableTypeProperty())), + SnapiBoolType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) ) ) @@ -1578,9 +1578,9 @@ class ExistsCollectionEntry extends EntryExtension with PredicateNormalization w override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2IterableType(AnythingType()))) + case 0 => Right(ExpParam(SnapiIterableType(AnythingType()))) case 1 => - val ExpArg(_, Rql2IterableType(innerType, props)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(innerType, props)) = prevMandatoryArgs(0) assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right( ExpParam( @@ -1588,10 +1588,10 @@ class ExistsCollectionEntry extends EntryExtension with PredicateNormalization w Vector(innerType), Vector.empty, OneOfType( - Rql2BoolType(), - Rql2BoolType(Set(Rql2IsNullableTypeProperty())), - Rql2BoolType(Set(Rql2IsTryableTypeProperty())), - Rql2BoolType(Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) + SnapiBoolType(), + SnapiBoolType(Set(SnapiIsNullableTypeProperty())), + SnapiBoolType(Set(SnapiIsTryableTypeProperty())), + SnapiBoolType(Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) ) ) ) @@ -1604,7 +1604,7 @@ class ExistsCollectionEntry extends EntryExtension with PredicateNormalization w optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2BoolType(Set(Rql2IsTryableTypeProperty()))) + Right(SnapiBoolType(Set(SnapiIsTryableTypeProperty()))) } } @@ -1639,9 +1639,9 @@ class ContainsCollectionEntry extends SugarEntryExtension with CollectionToListH override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2IterableType(AnythingType()))) + case 0 => Right(ExpParam(SnapiIterableType(AnythingType()))) case 1 => - val ExpArg(_, Rql2IterableType(innerType, _)) = prevMandatoryArgs(0) + val ExpArg(_, SnapiIterableType(innerType, _)) = prevMandatoryArgs(0) Right(ExpParam(innerType)) } } @@ -1652,8 +1652,8 @@ class ContainsCollectionEntry extends SugarEntryExtension with CollectionToListH optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[Seq[ErrorCompilerMessage], Type] = { - val ExpArg(items, Rql2IterableType(itemType, _)) = mandatoryArgs(0) - if (isComparable(itemType)) Right(Rql2BoolType(Set(Rql2IsTryableTypeProperty()))) + val ExpArg(items, SnapiIterableType(itemType, _)) = mandatoryArgs(0) + if (isComparable(itemType)) Right(SnapiBoolType(Set(SnapiIsTryableTypeProperty()))) else Left(Seq(ItemsNotComparable(items))) } @@ -1706,7 +1706,7 @@ class ZipCollectionEntry extends EntryExtension with CollectionToListHint { override def nrMandatoryParams: Int = 2 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2IterableType(AnythingType()))) + Right(ExpParam(SnapiIterableType(AnythingType()))) } override def returnType( @@ -1714,9 +1714,9 @@ class ZipCollectionEntry extends EntryExtension with CollectionToListHint { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val Rql2IterableType(itemType1, _) = mandatoryArgs(0).t - val Rql2IterableType(itemType2, _) = mandatoryArgs(1).t - Right(Rql2IterableType(Rql2RecordType(Vector(Rql2AttrType("_1", itemType1), Rql2AttrType("_2", itemType2))))) + val SnapiIterableType(itemType1, _) = mandatoryArgs(0).t + val SnapiIterableType(itemType2, _) = mandatoryArgs(1).t + Right(SnapiIterableType(SnapiRecordType(Vector(SnapiAttrType("_1", itemType1), SnapiAttrType("_2", itemType2))))) } } @@ -1755,14 +1755,14 @@ class MkStringCollectionEntry extends EntryExtension with CollectionToListHint { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - if (idx == 0) Right(ExpParam(Rql2IterableType(Rql2StringType(Set(Rql2IsNullableTypeProperty()))))) - else Right(ExpParam(Rql2StringType())) + if (idx == 0) Right(ExpParam(SnapiIterableType(SnapiStringType(Set(SnapiIsNullableTypeProperty()))))) + else Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some(Set("start", "sep", "end")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { - Right(ExpParam(Rql2StringType())) + Right(ExpParam(SnapiStringType())) } override def returnType( @@ -1770,7 +1770,7 @@ class MkStringCollectionEntry extends EntryExtension with CollectionToListHint { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2StringType(Set(Rql2IsTryableTypeProperty()))) + Right(SnapiStringType(Set(SnapiIsTryableTypeProperty()))) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/CsvPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/CsvPackage.scala similarity index 84% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/CsvPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/CsvPackage.scala index 9c4d3d103..53314e698 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/CsvPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/CsvPackage.scala @@ -10,14 +10,14 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.errors.{ErrorCompilerMessage, UnsupportedType} import com.rawlabs.snapi.frontend.base.source.{AnythingType, BaseNode, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, EntryExtensionHelper, @@ -46,10 +46,10 @@ object CsvPackage extends CsvPackage { def outputWriteSupport(dataType: Type): Boolean = { val innerRecordType = dataType match { - case Rql2IterableType(rType: Rql2RecordType, iProps) => + case SnapiIterableType(rType: SnapiRecordType, iProps) => if (iProps.nonEmpty) return false; rType - case Rql2ListType(rType: Rql2RecordType, iProps) => + case SnapiListType(rType: SnapiRecordType, iProps) => if (iProps.nonEmpty) return false; rType case _ => return false @@ -58,20 +58,20 @@ object CsvPackage extends CsvPackage { def validColumnType(value: Type): Boolean = { value match { - case _: Rql2ByteType => true - case _: Rql2ShortType => true - case _: Rql2IntType => true - case _: Rql2LongType => true - case _: Rql2FloatType => true - case _: Rql2DoubleType => true - case _: Rql2DecimalType => true - case _: Rql2StringType => true - case _: Rql2BoolType => true - case _: Rql2DateType => true - case _: Rql2TimeType => true - case _: Rql2TimestampType => true - case _: Rql2IntervalType => true - case _: Rql2BinaryType => true + case _: SnapiByteType => true + case _: SnapiShortType => true + case _: SnapiIntType => true + case _: SnapiLongType => true + case _: SnapiFloatType => true + case _: SnapiDoubleType => true + case _: SnapiDecimalType => true + case _: SnapiStringType => true + case _: SnapiBoolType => true + case _: SnapiDateType => true + case _: SnapiTimeType => true + case _: SnapiTimestampType => true + case _: SnapiIntervalType => true + case _: SnapiBinaryType => true case _ => false } } @@ -175,7 +175,7 @@ class CsvInferAndReadEntry extends SugarEntryExtension with CsvEntryExtensionHel override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx == 0) - Right(ValueParam(Rql2LocationType())) + Right(ValueParam(SnapiLocationType())) } override def optionalParams: Option[Set[String]] = Some( @@ -195,16 +195,16 @@ class CsvInferAndReadEntry extends SugarEntryExtension with CsvEntryExtensionHel override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "sampleSize" => Right(ValueParam(Rql2IntType())) - case "encoding" => Right(ValueParam(Rql2StringType())) - case "hasHeader" => Right(ValueParam(Rql2BoolType())) - case "delimiters" => Right(ValueParam(Rql2ListType(Rql2StringType()))) - case "nulls" => Right(ValueParam(Rql2ListType(Rql2StringType()))) - case "nans" => Right(ValueParam(Rql2ListType(Rql2StringType()))) - case "skip" => Right(ValueParam(Rql2IntType())) - case "escape" => Right(ValueParam(Rql2StringType())) - case "quotes" => Right(ValueParam(Rql2ListType(Rql2StringType(Set(Rql2IsNullableTypeProperty()))))) - case "preferNulls" => Right(ValueParam(Rql2BoolType())) + case "sampleSize" => Right(ValueParam(SnapiIntType())) + case "encoding" => Right(ValueParam(SnapiStringType())) + case "hasHeader" => Right(ValueParam(SnapiBoolType())) + case "delimiters" => Right(ValueParam(SnapiListType(SnapiStringType()))) + case "nulls" => Right(ValueParam(SnapiListType(SnapiStringType()))) + case "nans" => Right(ValueParam(SnapiListType(SnapiStringType()))) + case "skip" => Right(ValueParam(SnapiIntType())) + case "escape" => Right(ValueParam(SnapiStringType())) + case "quotes" => Right(ValueParam(SnapiListType(SnapiStringType(Set(SnapiIsNullableTypeProperty()))))) + case "preferNulls" => Right(ValueParam(SnapiBoolType())) } } @@ -241,10 +241,10 @@ class CsvInferAndReadEntry extends SugarEntryExtension with CsvEntryExtensionHel val makeNullables = sampled && preferNulls val makeTryables = sampled - val convertedAtts = atts.map(x => Rql2AttrType(x.idn, inferTypeToRql2Type(x.tipe, makeNullables, makeTryables))) + val convertedAtts = atts.map(x => SnapiAttrType(x.idn, inferTypeToSnapiType(x.tipe, makeNullables, makeTryables))) // Here we are making the record not nullable and not tryable. - Rql2IterableType(Rql2RecordType(convertedAtts)) + SnapiIterableType(SnapiRecordType(convertedAtts)) } } @@ -402,7 +402,7 @@ class CsvReadEntry extends EntryExtension with CsvEntryExtensionHelper { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2LocationType())) + case 0 => Right(ExpParam(SnapiLocationType())) case 1 => // We check valid types in return type instead, since it's easier to express there, as we do not // have a specific constraint. @@ -427,16 +427,16 @@ class CsvReadEntry extends EntryExtension with CsvEntryExtensionHelper { override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "encoding" => Right(ExpParam(Rql2StringType())) - case "skip" => Right(ExpParam(Rql2IntType())) - case "delimiter" => Right(ExpParam(Rql2StringType())) - case "escape" => Right(ExpParam(Rql2StringType(Set(Rql2IsNullableTypeProperty())))) - case "quote" => Right(ExpParam(Rql2StringType(Set(Rql2IsNullableTypeProperty())))) - case "nulls" => Right(ExpParam(Rql2ListType(Rql2StringType()))) - case "nans" => Right(ExpParam(Rql2ListType(Rql2StringType()))) - case "timeFormat" => Right(ExpParam(Rql2StringType())) - case "dateFormat" => Right(ExpParam(Rql2StringType())) - case "timestampFormat" => Right(ExpParam(Rql2StringType())) + case "encoding" => Right(ExpParam(SnapiStringType())) + case "skip" => Right(ExpParam(SnapiIntType())) + case "delimiter" => Right(ExpParam(SnapiStringType())) + case "escape" => Right(ExpParam(SnapiStringType(Set(SnapiIsNullableTypeProperty())))) + case "quote" => Right(ExpParam(SnapiStringType(Set(SnapiIsNullableTypeProperty())))) + case "nulls" => Right(ExpParam(SnapiListType(SnapiStringType()))) + case "nans" => Right(ExpParam(SnapiListType(SnapiStringType()))) + case "timeFormat" => Right(ExpParam(SnapiStringType())) + case "dateFormat" => Right(ExpParam(SnapiStringType())) + case "timestampFormat" => Right(ExpParam(SnapiStringType())) } } @@ -546,7 +546,7 @@ class CsvInferAndParseEntry extends SugarEntryExtension with CsvEntryExtensionHe override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx == 0) - Right(ValueParam(Rql2StringType())) + Right(ValueParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some( @@ -566,16 +566,16 @@ class CsvInferAndParseEntry extends SugarEntryExtension with CsvEntryExtensionHe override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "sampleSize" => Right(ValueParam(Rql2IntType())) - case "encoding" => Right(ValueParam(Rql2StringType())) - case "hasHeader" => Right(ValueParam(Rql2BoolType())) - case "delimiters" => Right(ValueParam(Rql2ListType(Rql2StringType()))) - case "nulls" => Right(ValueParam(Rql2ListType(Rql2StringType()))) - case "nans" => Right(ValueParam(Rql2ListType(Rql2StringType()))) - case "skip" => Right(ValueParam(Rql2IntType())) - case "escape" => Right(ValueParam(Rql2StringType())) - case "quotes" => Right(ValueParam(Rql2ListType(Rql2StringType(Set(Rql2IsNullableTypeProperty()))))) - case "preferNulls" => Right(ValueParam(Rql2BoolType())) + case "sampleSize" => Right(ValueParam(SnapiIntType())) + case "encoding" => Right(ValueParam(SnapiStringType())) + case "hasHeader" => Right(ValueParam(SnapiBoolType())) + case "delimiters" => Right(ValueParam(SnapiListType(SnapiStringType()))) + case "nulls" => Right(ValueParam(SnapiListType(SnapiStringType()))) + case "nans" => Right(ValueParam(SnapiListType(SnapiStringType()))) + case "skip" => Right(ValueParam(SnapiIntType())) + case "escape" => Right(ValueParam(SnapiStringType())) + case "quotes" => Right(ValueParam(SnapiListType(SnapiStringType(Set(SnapiIsNullableTypeProperty()))))) + case "preferNulls" => Right(ValueParam(SnapiBoolType())) } } @@ -587,7 +587,7 @@ class CsvInferAndParseEntry extends SugarEntryExtension with CsvEntryExtensionHe val codeData = getStringValue(mandatoryArgs.head) for ( inferrerProperties <- getCsvInferrerProperties( - Seq(ValueArg(Rql2LocationValue(new InMemoryByteStreamLocation(codeData), ""), Rql2LocationType())), + Seq(ValueArg(SnapiLocationValue(new InMemoryByteStreamLocation(codeData), ""), SnapiLocationType())), optionalArgs ); inputFormatDescriptor <- programContext.infer(inferrerProperties); @@ -615,10 +615,10 @@ class CsvInferAndParseEntry extends SugarEntryExtension with CsvEntryExtensionHe val makeNullables = sampled && preferNulls val makeTryables = sampled - val convertedAtts = atts.map(x => Rql2AttrType(x.idn, inferTypeToRql2Type(x.tipe, makeNullables, makeTryables))) + val convertedAtts = atts.map(x => SnapiAttrType(x.idn, inferTypeToSnapiType(x.tipe, makeNullables, makeTryables))) // Here we are making the record not nullable and not tryable. - Rql2IterableType(Rql2RecordType(convertedAtts)) + SnapiIterableType(SnapiRecordType(convertedAtts)) } } @@ -634,7 +634,7 @@ class CsvInferAndParseEntry extends SugarEntryExtension with CsvEntryExtensionHe val r = for ( inferrerProperties <- getCsvInferrerProperties( - Seq(ValueArg(Rql2LocationValue(new InMemoryByteStreamLocation(codeData), ""), Rql2LocationType())), + Seq(ValueArg(SnapiLocationValue(new InMemoryByteStreamLocation(codeData), ""), SnapiLocationType())), optionalArgs ); inputFormatDescriptor <- programContext.infer(inferrerProperties) @@ -781,7 +781,7 @@ class CsvParseEntry extends EntryExtension with CsvEntryExtensionHelper { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2StringType())) + case 0 => Right(ExpParam(SnapiStringType())) case 1 => // We check valid types in return type instead, since it's easier to express there, as we do not // have a specific constraint. @@ -805,15 +805,15 @@ class CsvParseEntry extends EntryExtension with CsvEntryExtensionHelper { override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "skip" => Right(ExpParam(Rql2IntType())) - case "delimiter" => Right(ExpParam(Rql2StringType())) - case "escape" => Right(ExpParam(Rql2StringType(Set(Rql2IsNullableTypeProperty())))) - case "quote" => Right(ExpParam(Rql2StringType(Set(Rql2IsNullableTypeProperty())))) - case "nulls" => Right(ExpParam(Rql2ListType(Rql2StringType()))) - case "nans" => Right(ExpParam(Rql2ListType(Rql2StringType()))) - case "timeFormat" => Right(ExpParam(Rql2StringType())) - case "dateFormat" => Right(ExpParam(Rql2StringType())) - case "timestampFormat" => Right(ExpParam(Rql2StringType())) + case "skip" => Right(ExpParam(SnapiIntType())) + case "delimiter" => Right(ExpParam(SnapiStringType())) + case "escape" => Right(ExpParam(SnapiStringType(Set(SnapiIsNullableTypeProperty())))) + case "quote" => Right(ExpParam(SnapiStringType(Set(SnapiIsNullableTypeProperty())))) + case "nulls" => Right(ExpParam(SnapiListType(SnapiStringType()))) + case "nans" => Right(ExpParam(SnapiListType(SnapiStringType()))) + case "timeFormat" => Right(ExpParam(SnapiStringType())) + case "dateFormat" => Right(ExpParam(SnapiStringType())) + case "timestampFormat" => Right(ExpParam(SnapiStringType())) } } @@ -857,16 +857,16 @@ trait CsvEntryExtensionHelper extends EntryExtensionHelper { } } - protected def validateCsvType(t: Type): Either[Seq[UnsupportedType], Rql2IterableType] = { + protected def validateCsvType(t: Type): Either[Seq[UnsupportedType], SnapiIterableType] = { t match { - case Rql2IterableType(Rql2RecordType(atts, _), _) => + case SnapiIterableType(SnapiRecordType(atts, _), _) => val validated = atts.map { x => x.tipe match { - case _: Rql2StringType => Right(x) - case _: Rql2NumberType => Right(x) - case _: Rql2BoolType => Right(x) - case _: Rql2TemporalType => Right(x) - case _: Rql2UndefinedType => Right(x) + case _: SnapiStringType => Right(x) + case _: SnapiNumberType => Right(x) + case _: SnapiBoolType => Right(x) + case _: SnapiTemporalType => Right(x) + case _: SnapiUndefinedType => Right(x) case _ => Left(Seq(UnsupportedType(x.tipe, x.tipe, None))) } } @@ -874,7 +874,7 @@ trait CsvEntryExtensionHelper extends EntryExtensionHelper { val errors = validated.collect { case Left(error) => error } if (errors.nonEmpty) Left(errors.flatten) - else Right(Rql2IterableType(Rql2RecordType(atts))) + else Right(SnapiIterableType(SnapiRecordType(atts))) case _ => Left(Seq(UnsupportedType(t, t, None))) } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/DatePackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/DatePackage.scala similarity index 89% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/DatePackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/DatePackage.scala index 5fb2dd1ef..002699a1f 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/DatePackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/DatePackage.scala @@ -10,11 +10,11 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} -import com.rawlabs.snapi.frontend.rql2.extensions.{PackageExtension, ShortEntryExtension} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.{PackageExtension, ShortEntryExtension} +import com.rawlabs.snapi.frontend.snapi.source._ import java.time.LocalDate @@ -60,8 +60,8 @@ class DateBuildEntry extends ShortEntryExtension( "Date", "Build", - Vector(Rql2IntType(), Rql2IntType(), Rql2IntType()), - Rql2DateType(Set(Rql2IsTryableTypeProperty())), + Vector(SnapiIntType(), SnapiIntType(), SnapiIntType()), + SnapiDateType(Set(SnapiIsTryableTypeProperty())), docs = EntryDoc( "Builds a date value.", examples = List(ExampleDoc("""Date.Build(2022, 1, 15)""", result = Some("15th January 2022"))), @@ -78,8 +78,8 @@ class DateFromEpochDayEntry extends ShortEntryExtension( "Date", "FromEpochDay", - Vector(Rql2LongType()), - Rql2DateType(), + Vector(SnapiLongType()), + SnapiDateType(), EntryDoc( summary = "Builds a date by adding the number of days from 1970-01-01 (Unix epoch).", examples = List( @@ -98,8 +98,8 @@ class DateFromTimestampEntry extends ShortEntryExtension( "Date", "FromTimestamp", - Vector(Rql2TimestampType()), - Rql2DateType(), + Vector(SnapiTimestampType()), + SnapiDateType(), EntryDoc( summary = "Builds a date from a timestamp.", examples = List( @@ -116,8 +116,8 @@ class DateParseEntry extends ShortEntryExtension( "Date", "Parse", - Vector(Rql2StringType(), Rql2StringType()), - Rql2DateType(Set(Rql2IsTryableTypeProperty())), + Vector(SnapiStringType(), SnapiStringType()), + SnapiDateType(Set(SnapiIsTryableTypeProperty())), EntryDoc( summary = "Parses a date from a string.", description = Some( @@ -140,7 +140,7 @@ class DateNowEntry "Date", "Now", Vector(), - Rql2DateType(), + SnapiDateType(), EntryDoc( summary = "Returns the current date.", ret = Some(ReturnDoc("The current date.", retType = Some(TypeDoc(List("date"))))) @@ -151,8 +151,8 @@ class DateYearEntry extends ShortEntryExtension( "Date", "Year", - Vector(Rql2DateType()), - Rql2IntType(), + Vector(SnapiDateType()), + SnapiIntType(), EntryDoc( summary = "Returns the year component of the date.", examples = List(ExampleDoc("""Date.Year(Date.Build(1975, 6, 23))""", result = Some("1975"))), @@ -167,8 +167,8 @@ class DateMonthEntry extends ShortEntryExtension( "Date", "Month", - Vector(Rql2DateType()), - Rql2IntType(), + Vector(SnapiDateType()), + SnapiIntType(), EntryDoc( summary = "Returns the month component of the date.", examples = List(ExampleDoc("""Date.Month(Date.Build(1975, 6, 23))""", result = Some("6"))), @@ -183,8 +183,8 @@ class DateDayEntry extends ShortEntryExtension( "Date", "Day", - Vector(Rql2DateType()), - Rql2IntType(), + Vector(SnapiDateType()), + SnapiIntType(), EntryDoc( summary = "Returns the day component of the date.", examples = List(ExampleDoc("""Date.Day(Date.Build(1975, 6, 23))""", result = Some("23"))), @@ -199,8 +199,8 @@ class DateSubtractEntry extends ShortEntryExtension( "Date", "Subtract", - Vector(Rql2DateType(), Rql2DateType()), - Rql2IntervalType(), + Vector(SnapiDateType(), SnapiDateType()), + SnapiIntervalType(), EntryDoc( summary = "Subtracts two dates.", examples = List( @@ -225,8 +225,8 @@ class DateAddIntervalEntry extends ShortEntryExtension( "Date", "AddInterval", - mandatoryParams = Vector(Rql2DateType(), Rql2IntervalType()), - returnType = Rql2TimestampType(), + mandatoryParams = Vector(SnapiDateType(), SnapiIntervalType()), + returnType = SnapiTimestampType(), EntryDoc( summary = "Adds an interval to a date.", examples = List( @@ -256,8 +256,8 @@ class DateSubtractIntervalEntry extends ShortEntryExtension( "Date", "SubtractInterval", - mandatoryParams = Vector(Rql2DateType(), Rql2IntervalType()), - returnType = Rql2TimestampType(), + mandatoryParams = Vector(SnapiDateType(), SnapiIntervalType()), + returnType = SnapiTimestampType(), EntryDoc( summary = "Subtracts an interval to a date.", examples = List( diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/DecimalPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/DecimalPackage.scala similarity index 85% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/DecimalPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/DecimalPackage.scala index 8406fc5fa..396056f6b 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/DecimalPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/DecimalPackage.scala @@ -10,12 +10,12 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpParam, @@ -23,7 +23,7 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ Param, ShortEntryExtension } -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ object DecimalPackageBuilder { @@ -83,11 +83,11 @@ class DecimalFromEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { // Type as Try when passed a string in case the content doesn't parse. - val props: Set[Rql2TypeProperty] = mandatoryArgs(0).t match { - case _: Rql2StringType => Set(Rql2IsTryableTypeProperty()) - case _ => Set.empty[Rql2TypeProperty] + val props: Set[SnapiTypeProperty] = mandatoryArgs(0).t match { + case _: SnapiStringType => Set(SnapiIsTryableTypeProperty()) + case _ => Set.empty[SnapiTypeProperty] } - Right(Rql2DecimalType(props)) + Right(SnapiDecimalType(props)) } } @@ -96,8 +96,8 @@ class DecimalRoundEntry extends ShortEntryExtension( "Decimal", "Round", - Vector(Rql2DecimalType(), Rql2IntType()), - Rql2DecimalType(), + Vector(SnapiDecimalType(), SnapiIntType()), + SnapiDecimalType(), EntryDoc( summary = "Rounds a decimal to the specified number of decimal places.", examples = List( diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/DoublePackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/DoublePackage.scala similarity index 81% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/DoublePackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/DoublePackage.scala index bcb780240..3e7af1df9 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/DoublePackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/DoublePackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} +import com.rawlabs.snapi.frontend.snapi.source._ object DoublePackageBuilder { @@ -73,11 +73,11 @@ class DoubleFromEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { // Type as Try when passed a string in case the content doesn't parse. - val props: Set[Rql2TypeProperty] = mandatoryArgs(0).t match { - case _: Rql2StringType => Set(Rql2IsTryableTypeProperty()) - case _ => Set.empty[Rql2TypeProperty] + val props: Set[SnapiTypeProperty] = mandatoryArgs(0).t match { + case _: SnapiStringType => Set(SnapiIsTryableTypeProperty()) + case _ => Set.empty[SnapiTypeProperty] } - Right(Rql2DoubleType(props)) + Right(SnapiDoubleType(props)) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/EnvironmentPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/EnvironmentPackage.scala similarity index 89% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/EnvironmentPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/EnvironmentPackage.scala index 5bf99d93b..a7cf779a8 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/EnvironmentPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/EnvironmentPackage.scala @@ -10,12 +10,12 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpParam, @@ -24,7 +24,7 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ ShortEntryExtension, TypeParam } -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ object EnvironmentPackageBuilder { @@ -51,8 +51,8 @@ class EnvironmentSecretEntry extends ShortEntryExtension( "Environment", "Secret", - Vector(Rql2StringType()), - Rql2StringType(Set(Rql2IsTryableTypeProperty())), + Vector(SnapiStringType()), + SnapiStringType(Set(SnapiIsTryableTypeProperty())), EntryDoc( summary = "Returns the value of a secret registered in the credentials service.", examples = List(ExampleDoc("""Environment.Secret("my-secret-credential")""", result = Some("secret value"))), @@ -68,7 +68,7 @@ class EnvironmentScopesEntry "Environment", "Scopes", Vector(), - Rql2ListType(Rql2StringType()), + SnapiListType(SnapiStringType()), EntryDoc( summary = "Returns the scopes for the current user.", examples = List(ExampleDoc("""Environment.Scopes()""", result = Some("""["sales", "marketing"]"""))), diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/ErrorPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/ErrorPackage.scala similarity index 85% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/ErrorPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/ErrorPackage.scala index e9252ad69..df8084874 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/ErrorPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/ErrorPackage.scala @@ -10,12 +10,12 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpParam, @@ -24,7 +24,7 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ TypeArg, TypeParam } -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ object ErrorPackageBuilder { @@ -66,7 +66,7 @@ class ErrorBuildEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = idx match { - case 0 => Right(ExpParam(Rql2StringType())) + case 0 => Right(ExpParam(SnapiStringType())) } override def returnType( @@ -74,7 +74,7 @@ class ErrorBuildEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2UndefinedType(Set(Rql2IsTryableTypeProperty()))) + Right(SnapiUndefinedType(Set(SnapiIsTryableTypeProperty()))) } } @@ -90,8 +90,8 @@ class ErrorBuildWithTypeEntry extends EntryExtension { override def nrMandatoryParams: Int = 2 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = idx match { - case 0 => Right(TypeParam(DoesNotHaveTypeProperties(Set(Rql2IsTryableTypeProperty())))) - case 1 => Right(ExpParam(Rql2StringType())) + case 0 => Right(TypeParam(DoesNotHaveTypeProperties(Set(SnapiIsTryableTypeProperty())))) + case 1 => Right(ExpParam(SnapiStringType())) } override def returnType( @@ -100,7 +100,7 @@ class ErrorBuildWithTypeEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { val TypeArg(t) = mandatoryArgs(0) - Right(addProp(t, Rql2IsTryableTypeProperty())) + Right(addProp(t, SnapiIsTryableTypeProperty())) } } @@ -124,7 +124,7 @@ class ErrorGetEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2StringType()) + Right(SnapiStringType()) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/FloatPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/FloatPackage.scala similarity index 81% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/FloatPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/FloatPackage.scala index 7cda0ca14..2afea290f 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/FloatPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/FloatPackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} +import com.rawlabs.snapi.frontend.snapi.source._ object FloatPackageBuilder { @@ -77,11 +77,11 @@ class FloatFromEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { // Type as Try when passed a string in case the content doesn't parse. - val props: Set[Rql2TypeProperty] = mandatoryArgs(0).t match { - case _: Rql2StringType => Set(Rql2IsTryableTypeProperty()) - case _ => Set.empty[Rql2TypeProperty] + val props: Set[SnapiTypeProperty] = mandatoryArgs(0).t match { + case _: SnapiStringType => Set(SnapiIsTryableTypeProperty()) + case _ => Set.empty[SnapiTypeProperty] } - Right(Rql2FloatType(props)) + Right(SnapiFloatType(props)) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/FunctionPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/FunctionPackage.scala similarity index 87% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/FunctionPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/FunctionPackage.scala index aa57c3422..449fe815c 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/FunctionPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/FunctionPackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.{AnythingType, Type} -import com.rawlabs.snapi.frontend.rql2.source.FunType -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} +import com.rawlabs.snapi.frontend.snapi.source.FunType +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} class FunctionPackage extends PackageExtension { diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/HttpPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/HttpPackage.scala similarity index 78% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/HttpPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/HttpPackage.scala index 7cfce7f6b..3907c701b 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/HttpPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/HttpPackage.scala @@ -10,12 +10,12 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpParam, @@ -23,7 +23,7 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ Param, ShortEntryExtension } -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ import scala.collection.immutable.ListMap @@ -41,24 +41,24 @@ class HttpReadEntry extends ShortEntryExtension( "Http", "Read", - Vector(Rql2LocationType()), - Rql2RecordType( + Vector(SnapiLocationType()), + SnapiRecordType( Vector( - Rql2AttrType("status", Rql2IntType()), - Rql2AttrType("data", Rql2BinaryType()), - Rql2AttrType( + SnapiAttrType("status", SnapiIntType()), + SnapiAttrType("data", SnapiBinaryType()), + SnapiAttrType( "headers", - Rql2ListType( - Rql2RecordType( + SnapiListType( + SnapiRecordType( Vector( - Rql2AttrType("_1", Rql2StringType()), - Rql2AttrType("_2", Rql2StringType()) + SnapiAttrType("_1", SnapiStringType()), + SnapiAttrType("_2", SnapiStringType()) ) ) ) ) ), - Set(Rql2IsTryableTypeProperty()) + Set(SnapiIsTryableTypeProperty()) ), docs = EntryDoc( summary = "Makes an HTTP call", @@ -90,8 +90,8 @@ class HttpReadEntry ) ), optionalParamsMap = ListMap( - "expectedStatus" -> (Rql2ListType(Rql2IntType(), Set(Rql2IsNullableTypeProperty())), - NullablePackageBuilder.Empty(Rql2ListType(Rql2IntType()))) + "expectedStatus" -> (SnapiListType(SnapiIntType(), Set(SnapiIsNullableTypeProperty())), + NullablePackageBuilder.Empty(SnapiListType(SnapiIntType()))) ) ) @@ -171,7 +171,7 @@ abstract class HttpCallEntry(method: String) extends EntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx == 0) - Right(ExpParam(Rql2StringType())) + Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some( @@ -189,18 +189,18 @@ abstract class HttpCallEntry(method: String) extends EntryExtension { override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "bodyString" => Right(ExpParam(Rql2StringType())) - case "bodyBinary" => Right(ExpParam(Rql2BinaryType())) - case "authCredentialName" => Right(ExpParam(Rql2StringType())) - case "username" => Right(ExpParam(Rql2StringType())) - case "password" => Right(ExpParam(Rql2StringType())) + case "bodyString" => Right(ExpParam(SnapiStringType())) + case "bodyBinary" => Right(ExpParam(SnapiBinaryType())) + case "authCredentialName" => Right(ExpParam(SnapiStringType())) + case "username" => Right(ExpParam(SnapiStringType())) + case "password" => Right(ExpParam(SnapiStringType())) case "args" => Right( ExpParam( - Rql2ListType( - Rql2RecordType( + SnapiListType( + SnapiRecordType( Vector( - Rql2AttrType("_1", Rql2StringType(Set(Rql2IsNullableTypeProperty()))), - Rql2AttrType("_2", Rql2StringType(Set(Rql2IsNullableTypeProperty()))) + SnapiAttrType("_1", SnapiStringType(Set(SnapiIsNullableTypeProperty()))), + SnapiAttrType("_2", SnapiStringType(Set(SnapiIsNullableTypeProperty()))) ) ) ) @@ -208,17 +208,17 @@ abstract class HttpCallEntry(method: String) extends EntryExtension { ) case "headers" => Right( ExpParam( - Rql2ListType( - Rql2RecordType( + SnapiListType( + SnapiRecordType( Vector( - Rql2AttrType("_1", Rql2StringType(Set(Rql2IsNullableTypeProperty()))), - Rql2AttrType("_2", Rql2StringType(Set(Rql2IsNullableTypeProperty()))) + SnapiAttrType("_1", SnapiStringType(Set(SnapiIsNullableTypeProperty()))), + SnapiAttrType("_2", SnapiStringType(Set(SnapiIsNullableTypeProperty()))) ) ) ) ) ) - case "expectedStatus" => Right(ExpParam(Rql2ListType(Rql2IntType()))) + case "expectedStatus" => Right(ExpParam(SnapiListType(SnapiIntType()))) } } @@ -227,7 +227,7 @@ abstract class HttpCallEntry(method: String) extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2LocationType()) + Right(SnapiLocationType()) } } @@ -236,8 +236,8 @@ class HttpUrlEncodeEntry extends ShortEntryExtension( "Http", "UrlEncode", - Vector(Rql2StringType()), - Rql2StringType(), + Vector(SnapiStringType()), + SnapiStringType(), EntryDoc( "Encodes a string as a URL.", params = List(ParamDoc("value", TypeDoc(List("string")), "The string to encode.")), @@ -249,8 +249,8 @@ class HttpUrlDecodeEntry extends ShortEntryExtension( "Http", "UrlDecode", - Vector(Rql2StringType()), - Rql2StringType(), + Vector(SnapiStringType()), + SnapiStringType(), EntryDoc( "Decodes a URL-encoded string.", params = List(ParamDoc("value", TypeDoc(List("string")), "The string to decode.")), diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/IntPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/IntPackage.scala similarity index 85% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/IntPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/IntPackage.scala index 11b878e06..0062cffdb 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/IntPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/IntPackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} +import com.rawlabs.snapi.frontend.snapi.source._ object IntPackageBuilder { @@ -77,11 +77,11 @@ class IntFromEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { // Type as Try when passed a string in case the content doesn't parse. - val props: Set[Rql2TypeProperty] = mandatoryArgs(0).t match { - case _: Rql2StringType => Set(Rql2IsTryableTypeProperty()) - case _ => Set.empty[Rql2TypeProperty] + val props: Set[SnapiTypeProperty] = mandatoryArgs(0).t match { + case _: SnapiStringType => Set(SnapiIsTryableTypeProperty()) + case _ => Set.empty[SnapiTypeProperty] } - Right(Rql2IntType(props)) + Right(SnapiIntType(props)) } override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { @@ -117,12 +117,12 @@ class IntRangeEntry extends EntryExtension { override def optionalParams: Option[Set[String]] = Some(Set("step")) override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2IntType())) + Right(ExpParam(SnapiIntType())) } override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { assert(idn == "step") - Right(ExpParam(Rql2IntType())) + Right(ExpParam(SnapiIntType())) } override def returnType( @@ -130,7 +130,7 @@ class IntRangeEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2IterableType(Rql2IntType())) + Right(SnapiIterableType(SnapiIntType())) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/IntervalPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/IntervalPackage.scala similarity index 90% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/IntervalPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/IntervalPackage.scala index f192f8edd..f132fe33f 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/IntervalPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/IntervalPackage.scala @@ -10,12 +10,12 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpParam, @@ -23,7 +23,7 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ Param, ShortEntryExtension } -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ object IntervalPackageBuilder { @@ -150,7 +150,7 @@ class BuildIntervalEntry extends EntryExtension { ) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { - Right(ExpParam(Rql2IntType())) + Right(ExpParam(SnapiIntType())) } override def returnType( @@ -158,7 +158,7 @@ class BuildIntervalEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2IntervalType()) + Right(SnapiIntervalType()) } } @@ -167,8 +167,8 @@ class IntervalToMillisEntryExtension extends ShortEntryExtension( "Interval", "ToMillis", - mandatoryParams = Vector(Rql2IntervalType()), - returnType = Rql2LongType(), + mandatoryParams = Vector(SnapiIntervalType()), + returnType = SnapiLongType(), EntryDoc( summary = "Converts a interval to the corresponding number of milliseconds", examples = List( @@ -194,8 +194,8 @@ class IntervalFromMillisEntryExtension extends ShortEntryExtension( "Interval", "FromMillis", - mandatoryParams = Vector(Rql2LongType()), - returnType = Rql2IntervalType(), + mandatoryParams = Vector(SnapiLongType()), + returnType = SnapiIntervalType(), EntryDoc( summary = "Converts a number of milliseconds to the corresponding interval", examples = List( @@ -217,8 +217,8 @@ class IntervalParseEntryExtension extends ShortEntryExtension( "Interval", "Parse", - mandatoryParams = Vector(Rql2StringType()), - returnType = Rql2IntervalType(Set(Rql2IsTryableTypeProperty())), + mandatoryParams = Vector(SnapiStringType()), + returnType = SnapiIntervalType(Set(SnapiIsTryableTypeProperty())), EntryDoc( """"Parses an interval from a string.""", info = Some( @@ -254,8 +254,8 @@ class IntervalYearsEntry extends ShortEntryExtension( "Interval", "Years", - mandatoryParams = Vector(Rql2IntervalType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiIntervalType()), + returnType = SnapiIntType(), EntryDoc( summary = """"Gets the years part of an interval.""", examples = List( @@ -277,8 +277,8 @@ class IntervalMonthsEntry extends ShortEntryExtension( "Interval", "Months", - mandatoryParams = Vector(Rql2IntervalType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiIntervalType()), + returnType = SnapiIntType(), EntryDoc( summary = """"Gets the months part of an interval.""", examples = List( @@ -300,8 +300,8 @@ class IntervalWeeksEntry extends ShortEntryExtension( "Interval", "Weeks", - mandatoryParams = Vector(Rql2IntervalType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiIntervalType()), + returnType = SnapiIntType(), EntryDoc( summary = """"Gets the weeks part of an interval.""", examples = List( @@ -323,8 +323,8 @@ class IntervalDaysEntry extends ShortEntryExtension( "Interval", "Days", - mandatoryParams = Vector(Rql2IntervalType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiIntervalType()), + returnType = SnapiIntType(), EntryDoc( summary = """"Gets the days part of an interval.""", examples = List( @@ -346,8 +346,8 @@ class IntervalHoursEntry extends ShortEntryExtension( "Interval", "Hours", - mandatoryParams = Vector(Rql2IntervalType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiIntervalType()), + returnType = SnapiIntType(), EntryDoc( summary = """"Gets the hours part of an interval.""", examples = List( @@ -369,8 +369,8 @@ class IntervalMinutesEntry extends ShortEntryExtension( "Interval", "Minutes", - mandatoryParams = Vector(Rql2IntervalType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiIntervalType()), + returnType = SnapiIntType(), EntryDoc( summary = """"Gets the minutes part of an interval.""", examples = List( @@ -392,8 +392,8 @@ class IntervalSecondsEntry extends ShortEntryExtension( "Interval", "Seconds", - mandatoryParams = Vector(Rql2IntervalType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiIntervalType()), + returnType = SnapiIntType(), EntryDoc( summary = """"Gets the seconds part of an interval.""", examples = List( @@ -415,8 +415,8 @@ class IntervalMillisEntry extends ShortEntryExtension( "Interval", "Millis", - mandatoryParams = Vector(Rql2IntervalType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiIntervalType()), + returnType = SnapiIntType(), EntryDoc( summary = """"Gets the milliseconds part of an interval.""", examples = List( diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/JsonPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/JsonPackage.scala similarity index 85% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/JsonPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/JsonPackage.scala index 10692beed..18d0bd2bc 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/JsonPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/JsonPackage.scala @@ -10,15 +10,15 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import org.bitbucket.inkytonik.kiama.rewriting.Cloner.{everywhere, query} import com.rawlabs.snapi.frontend.base.errors.{ErrorCompilerMessage, InvalidSemantic, UnsupportedType} import com.rawlabs.snapi.frontend.base.source.{AnythingType, BaseNode, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, EntryExtensionHelper, @@ -47,7 +47,7 @@ object JsonPackage extends JsonPackage { def outputWriteSupport(dataType: Type): Boolean = { everywhere(query[Type] { - case _: FunType | _: PackageType | _: PackageEntryType | _: Rql2LocationType => return false; + case _: FunType | _: PackageType | _: PackageEntryType | _: SnapiLocationType => return false; })(dataType) true } @@ -100,7 +100,7 @@ class InferAndReadJsonEntry extends SugarEntryExtension with JsonEntryExtensionH override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx == 0) - Right(ValueParam(Rql2LocationType())) + Right(ValueParam(SnapiLocationType())) } override def optionalParams: Option[Set[String]] = Some( @@ -113,9 +113,9 @@ class InferAndReadJsonEntry extends SugarEntryExtension with JsonEntryExtensionH override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "sampleSize" => Right(ValueParam(Rql2IntType())) - case "encoding" => Right(ValueParam(Rql2StringType())) - case "preferNulls" => Right(ValueParam(Rql2BoolType())) + case "sampleSize" => Right(ValueParam(SnapiIntType())) + case "encoding" => Right(ValueParam(SnapiStringType())) + case "preferNulls" => Right(ValueParam(SnapiBoolType())) } } @@ -138,11 +138,11 @@ class InferAndReadJsonEntry extends SugarEntryExtension with JsonEntryExtensionH _, JsonFormatDescriptor(inferredType, sampled, _, _, _) ) = descriptor; - rql2Type = inferTypeToRql2Type(inferredType, makeNullable = preferNulls && sampled, makeTryable = sampled); - okType <- validateInferredJsonType(rql2Type, node) + snapiType = inferTypeToSnapiType(inferredType, makeNullable = preferNulls && sampled, makeTryable = sampled); + okType <- validateInferredJsonType(snapiType, node) ) yield okType match { - case Rql2IterableType(rowType, _) => Rql2IterableType(rowType) - case other => addProp(other, Rql2IsTryableTypeProperty()) + case SnapiIterableType(rowType, _) => SnapiIterableType(rowType) + case other => addProp(other, SnapiIsTryableTypeProperty()) } } @@ -248,7 +248,7 @@ class ReadJsonEntry extends EntryExtension with JsonEntryExtensionHelper { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2LocationType())) + case 0 => Right(ExpParam(SnapiLocationType())) case 1 => // We check valid types in return type instead, since it's easier to express there, as we do not // have a specific constraint. @@ -267,10 +267,10 @@ class ReadJsonEntry extends EntryExtension with JsonEntryExtensionHelper { override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "encoding" => Right(ExpParam(Rql2StringType())) - case "timeFormat" => Right(ExpParam(Rql2StringType())) - case "dateFormat" => Right(ExpParam(Rql2StringType())) - case "timestampFormat" => Right(ExpParam(Rql2StringType())) + case "encoding" => Right(ExpParam(SnapiStringType())) + case "timeFormat" => Right(ExpParam(SnapiStringType())) + case "dateFormat" => Right(ExpParam(SnapiStringType())) + case "timestampFormat" => Right(ExpParam(SnapiStringType())) } } @@ -282,8 +282,8 @@ class ReadJsonEntry extends EntryExtension with JsonEntryExtensionHelper { )(implicit programContext: ProgramContext): Either[Seq[ErrorCompilerMessage], Type] = { val t = mandatoryArgs(1).t validateUserJsonType(t).right.map { - case Rql2IterableType(rowType, _) => Rql2IterableType(rowType) - case t => addProp(t, Rql2IsTryableTypeProperty()) + case SnapiIterableType(rowType, _) => SnapiIterableType(rowType) + case t => addProp(t, SnapiIsTryableTypeProperty()) } } @@ -335,7 +335,7 @@ class InferAndParseJsonEntry extends SugarEntryExtension with JsonEntryExtension override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx == 0) - Right(ValueParam(Rql2StringType())) + Right(ValueParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some( @@ -348,9 +348,9 @@ class InferAndParseJsonEntry extends SugarEntryExtension with JsonEntryExtension override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "sampleSize" => Right(ValueParam(Rql2IntType())) - case "encoding" => Right(ValueParam(Rql2StringType())) - case "preferNulls" => Right(ValueParam(Rql2BoolType())) + case "sampleSize" => Right(ValueParam(SnapiIntType())) + case "encoding" => Right(ValueParam(SnapiStringType())) + case "preferNulls" => Right(ValueParam(SnapiBoolType())) } } @@ -363,7 +363,7 @@ class InferAndParseJsonEntry extends SugarEntryExtension with JsonEntryExtension val codeData = getStringValue(mandatoryArgs.head) val preferNulls = optionalArgs.collectFirst { case a if a._1 == "preferNulls" => a._2 }.forall(getBoolValue) val inferenceDiagnostic: Either[Seq[ErrorCompilerMessage], InferrerOutput] = getJsonInferrerProperties( - Seq(ValueArg(Rql2LocationValue(new InMemoryByteStreamLocation(codeData), ""), Rql2LocationType())), + Seq(ValueArg(SnapiLocationValue(new InMemoryByteStreamLocation(codeData), ""), SnapiLocationType())), optionalArgs ) .flatMap(programContext.infer) @@ -376,11 +376,11 @@ class InferAndParseJsonEntry extends SugarEntryExtension with JsonEntryExtension _, JsonFormatDescriptor(inferredType, sampled, _, _, _) ) = descriptor; - rql2Type = inferTypeToRql2Type(inferredType, makeNullable = preferNulls && sampled, makeTryable = sampled); - okType <- validateInferredJsonType(rql2Type, node) + snapiType = inferTypeToSnapiType(inferredType, makeNullable = preferNulls && sampled, makeTryable = sampled); + okType <- validateInferredJsonType(snapiType, node) ) yield okType match { - case Rql2IterableType(rowType, _) => Rql2IterableType(rowType) - case other => addProp(other, Rql2IsTryableTypeProperty()) + case SnapiIterableType(rowType, _) => SnapiIterableType(rowType) + case other => addProp(other, SnapiIsTryableTypeProperty()) } } @@ -395,7 +395,7 @@ class InferAndParseJsonEntry extends SugarEntryExtension with JsonEntryExtension val inputFormatDescriptor = for ( inferrerProperties <- getJsonInferrerProperties( - Seq(ValueArg(Rql2LocationValue(new InMemoryByteStreamLocation(codeData), ""), Rql2LocationType())), + Seq(ValueArg(SnapiLocationValue(new InMemoryByteStreamLocation(codeData), ""), SnapiLocationType())), optionalArgs ); inputFormatDescriptor <- programContext.infer(inferrerProperties) @@ -493,7 +493,7 @@ class ParseJsonEntry extends EntryExtension with JsonEntryExtensionHelper { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2StringType())) + case 0 => Right(ExpParam(SnapiStringType())) case 1 => // We check valid types in return type instead, since it's easier to express there, as we do not // have a specific constraint. @@ -511,9 +511,9 @@ class ParseJsonEntry extends EntryExtension with JsonEntryExtensionHelper { override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "timeFormat" => Right(ExpParam(Rql2StringType())) - case "dateFormat" => Right(ExpParam(Rql2StringType())) - case "timestampFormat" => Right(ExpParam(Rql2StringType())) + case "timeFormat" => Right(ExpParam(SnapiStringType())) + case "dateFormat" => Right(ExpParam(SnapiStringType())) + case "timestampFormat" => Right(ExpParam(SnapiStringType())) } } @@ -525,7 +525,7 @@ class ParseJsonEntry extends EntryExtension with JsonEntryExtensionHelper { )(implicit programContext: ProgramContext): Either[Seq[ErrorCompilerMessage], Type] = { val t = mandatoryArgs(1).t validateUserJsonType(t).right.map { - case Rql2IterableType(rowType, _) => Rql2IterableType(rowType) + case SnapiIterableType(rowType, _) => SnapiIterableType(rowType) case other => other } } @@ -563,7 +563,7 @@ class PrintJsonEntry extends EntryExtension with JsonEntryExtensionHelper { )(implicit programContext: ProgramContext): Either[String, Type] = { // Here we validate the type of the argument, and always return a string val data = mandatoryArgs.head - if (JsonPackage.outputWriteSupport(data.t)) Right(Rql2StringType()) + if (JsonPackage.outputWriteSupport(data.t)) Right(SnapiStringType()) else Left(s"unsupported type ${SourcePrettyPrinter.format(data.t)}") } @@ -600,8 +600,8 @@ trait JsonEntryExtensionHelper extends EntryExtensionHelper { ) private def validateJsonType(t: Type): Either[Seq[(Type, Option[String])], Type] = t match { - case _: Rql2LocationType => Left(Seq((t, None))) - case Rql2RecordType(atts, props) => + case _: SnapiLocationType => Left(Seq((t, None))) + case SnapiRecordType(atts, props) => val duplicates = atts.groupBy(_.idn).mapValues(_.size).collect { case (field, n) if n > 1 => field } if (duplicates.nonEmpty) { val explanation = @@ -616,15 +616,15 @@ trait JsonEntryExtensionHelper extends EntryExtensionHelper { if (errors.nonEmpty) Left(errors.flatten) else { val attTypes = validation.collect { case Right(t) => t } - val validAttributes = atts.zip(attTypes).map { case (a, validType) => Rql2AttrType(a.idn, validType) } - Right(Rql2RecordType(validAttributes, props)) + val validAttributes = atts.zip(attTypes).map { case (a, validType) => SnapiAttrType(a.idn, validType) } + Right(SnapiRecordType(validAttributes, props)) } } - case Rql2IterableType(innerType, props) => - validateJsonType(innerType).right.map(validType => Rql2IterableType(validType, props)) - case Rql2ListType(innerType, props) => - validateJsonType(innerType).right.map(validType => Rql2ListType(validType, props)) - case Rql2OrType(options, props) => + case SnapiIterableType(innerType, props) => + validateJsonType(innerType).right.map(validType => SnapiIterableType(validType, props)) + case SnapiListType(innerType, props) => + validateJsonType(innerType).right.map(validType => SnapiListType(validType, props)) + case SnapiOrType(options, props) => // inner types may have 'tryable' or 'nullable' flags: // * tryable is removed because a tryable-whatever option would always successfully parse // as a failed whatever, and other parsers would never be tested. @@ -638,12 +638,12 @@ trait JsonEntryExtensionHelper extends EntryExtensionHelper { else { val validOptions = validation.collect { case Right(t) => t } val nullable = - options.exists { case t: Rql2TypeWithProperties => t.props.contains(Rql2IsNullableTypeProperty()) } - val finalProps = if (nullable) props + Rql2IsNullableTypeProperty() else props - Right(Rql2OrType(validOptions, finalProps)) + options.exists { case t: SnapiTypeWithProperties => t.props.contains(SnapiIsNullableTypeProperty()) } + val finalProps = if (nullable) props + SnapiIsNullableTypeProperty() else props + Right(SnapiOrType(validOptions, finalProps)) } - case t: Rql2PrimitiveType => Right(t) - case t: Rql2UndefinedType => Right(t) + case t: SnapiPrimitiveType => Right(t) + case t: SnapiUndefinedType => Right(t) case t => Left(Seq((t, None))) } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/KryoPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/KryoPackage.scala similarity index 85% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/KryoPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/KryoPackage.scala index 4839f150c..f832891bc 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/KryoPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/KryoPackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, PackageDoc} import com.rawlabs.snapi.frontend.base.source.{AnythingType, Type} -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions._ -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions._ +import com.rawlabs.snapi.frontend.snapi.source._ class KryoPackage extends PackageExtension { @@ -43,7 +43,7 @@ class KryoEncodeEntry extends EntryExtension { mandatoryArgs: Seq[Arg], optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] - )(implicit programContext: ProgramContext): Either[String, Type] = Right(Rql2BinaryType()) + )(implicit programContext: ProgramContext): Either[String, Type] = Right(SnapiBinaryType()) } @@ -58,7 +58,7 @@ class KryoDecodeEntry extends EntryExtension { override def nrMandatoryParams: Int = 2 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - if (idx == 0) Right(ExpParam(Rql2BinaryType())) + if (idx == 0) Right(ExpParam(SnapiBinaryType())) else Right(TypeParam(AnythingType())) } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/LibraryPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/LibraryPackage.scala similarity index 96% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/LibraryPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/LibraryPackage.scala index d25d9786a..adc28d2b2 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/LibraryPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/LibraryPackage.scala @@ -10,7 +10,7 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin /* * Copyright 2023 RAW Labs S.A. @@ -24,7 +24,7 @@ package com.rawlabs.snapi.frontend.rql2.extensions.builtin * licenses/APL.txt. */ -//package com.rawlabs.snapi.frontend.rql2.builtin +//package com.rawlabs.snapi.frontend.snapi.builtin // //import com.typesafe.scalalogging.StrictLogging //import raw.api.RawException @@ -33,10 +33,10 @@ package com.rawlabs.snapi.frontend.rql2.extensions.builtin //import com.rawlabs.snapi.frontend.base.source.Type //import com.rawlabs.snapi.frontend.base.{ExpDecl, ExpDeclParam} //import com.rawlabs.snapi.frontend.common.CommonCompilerProvider -//import com.rawlabs.snapi.frontend.rql2.source.{Exp, VoidType} +//import com.rawlabs.snapi.frontend.snapi.source.{Exp, VoidType} //import raw.runtime.JvmEntrypoint -//import com.rawlabs.snapi.frontend.rql2._ -//import com.rawlabs.snapi.frontend.rql2.source._ +//import com.rawlabs.snapi.frontend.snapi._ +//import com.rawlabs.snapi.frontend.snapi.source._ //import com.rawlabs.utils.sources.LocationDescription //import com.rawlabs.utils.sources.bytestream.ByteStreamLocationProvider // @@ -90,7 +90,7 @@ package com.rawlabs.snapi.frontend.rql2.extensions.builtin // // FIXME (msb): This code does NOT handle cycles!!! // // val location = getStringValue(mandatoryArgs(0)) -// val compiler = CommonCompilerProvider.apply("rql2")(programContext.compilerContext) +// val compiler = CommonCompilerProvider.apply("snapi")(programContext.compilerContext) // findPackage(location) match { // case Right(source) => compiler.buildInputTree(source)(programContext) match { // case Right(tree) => compiler.compile(tree.root)(programContext) match { @@ -132,7 +132,7 @@ package com.rawlabs.snapi.frontend.rql2.extensions.builtin // val code = new String(is.readAllBytes(), StandardCharsets.UTF_8) // Right(code) // } catch { -// case NonFatal(_) => Left("could not read remote package; is it RQL code?") +// case NonFatal(_) => Left("could not read remote package; is it Snapi code?") // } finally { // is.close() // } @@ -250,7 +250,7 @@ package com.rawlabs.snapi.frontend.rql2.extensions.builtin // // override def toL0(t: Type, args: Seq[L0Arg]): Exp = { // val argNodes = args.map(arg => CallPackageArgNode(arg.e, arg.t, arg.idn)) -// L0.source.CallPackage(entrypointName, entryName, argNodes.to, rql2ToCommonType(t)) +// L0.source.CallPackage(entrypointName, entryName, argNodes.to, snapiToCommonType(t)) // } // //} @@ -308,7 +308,7 @@ package com.rawlabs.snapi.frontend.rql2.extensions.builtin // // override def toL0(t: Type, args: Seq[L0Arg]): Exp = { // val argNodes = args.map(arg => CallPackageArgNode(arg.e, arg.t, arg.idn)) -// L0.source.CallPackage(entrypointName, entryName, argNodes.to, rql2ToCommonType(t)) +// L0.source.CallPackage(entrypointName, entryName, argNodes.to, snapiToCommonType(t)) // } // //} diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/ListPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/ListPackage.scala similarity index 87% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/ListPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/ListPackage.scala index 26492e5fe..549383ccf 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/ListPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/ListPackage.scala @@ -10,14 +10,14 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.errors.ErrorCompilerMessage import com.rawlabs.snapi.frontend.base.source.{AnythingType, BaseNode, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpArg, @@ -30,13 +30,13 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ ValueArg, ValueParam } -import com.rawlabs.snapi.frontend.rql2.errors.{ +import com.rawlabs.snapi.frontend.snapi.errors.{ InvalidOrderSpec, ItemsNotComparable, KeyNotComparable, OrderSpecMustFollowOrderingFunction } -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ object ListPackageBuilder { @@ -132,7 +132,7 @@ class EmptyListEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { val TypeArg(itemType) = mandatoryArgs.head - Right(Rql2ListType(itemType)) + Right(SnapiListType(itemType)) } } @@ -173,11 +173,11 @@ class BuildListEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { if (varArgs.isEmpty) { - Right(Rql2ListType(Rql2UndefinedType())) + Right(SnapiListType(SnapiUndefinedType())) } else { val typesMerger = new TypesMerger val t = typesMerger.mergeType(varArgs.map(_.t): _*).get - Right(Rql2ListType(t)) + Right(SnapiListType(t)) } } @@ -209,8 +209,8 @@ class GetListEntry extends EntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2ListType(AnythingType()))) - case 1 => Right(ExpParam(Rql2IntType())) + case 0 => Right(ExpParam(SnapiListType(AnythingType()))) + case 1 => Right(ExpParam(SnapiIntType())) } } @@ -219,8 +219,8 @@ class GetListEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val ExpArg(_, Rql2ListType(itemType, _)) = mandatoryArgs.head - Right(addProp(itemType, Rql2IsTryableTypeProperty())) + val ExpArg(_, SnapiListType(itemType, _)) = mandatoryArgs.head + Right(addProp(itemType, SnapiIsTryableTypeProperty())) } } @@ -235,7 +235,7 @@ trait ListToCollectionHint { this: EntryExtension => ): Option[String] = { idx match { case 0 => actual match { - case _: Rql2IterableType => Some(s"did you mean Collection.$entryName?") + case _: SnapiIterableType => Some(s"did you mean Collection.$entryName?") case _ => None } case _ => None @@ -277,9 +277,9 @@ class FilterListEntry extends EntryExtension with PredicateNormalization with Li override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2ListType(AnythingType()))) + case 0 => Right(ExpParam(SnapiListType(AnythingType()))) case 1 => - val ExpArg(_, Rql2ListType(innerType, props)) = prevMandatoryArgs.head + val ExpArg(_, SnapiListType(innerType, props)) = prevMandatoryArgs.head assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right(ExpParam(flexiblePredicateOn(innerType))) } @@ -327,9 +327,9 @@ class TransformListEntry extends EntryExtension with ListToCollectionHint { override def nrMandatoryParams: Int = 2 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = idx match { - case 0 => Right(ExpParam(Rql2ListType(AnythingType()))) + case 0 => Right(ExpParam(SnapiListType(AnythingType()))) case 1 => - val ExpArg(_, Rql2ListType(innerType, props)) = prevMandatoryArgs.head + val ExpArg(_, SnapiListType(innerType, props)) = prevMandatoryArgs.head assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right(ExpParam(FunType(Vector(innerType), Vector.empty, AnythingType()))) } @@ -341,7 +341,7 @@ class TransformListEntry extends EntryExtension with ListToCollectionHint { )(implicit programContext: ProgramContext): Either[String, Type] = { val FunType(_, _, outType, props) = mandatoryArgs(1).t assert(props.isEmpty, "Should have been handled as per arg 1 definition") - Right(Rql2ListType(outType)) + Right(SnapiListType(outType)) } } @@ -366,8 +366,8 @@ class TakeListEntry extends EntryExtension with ListToCollectionHint { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2ListType(AnythingType()))) - case 1 => Right(ExpParam(Rql2LongType())) + case 0 => Right(ExpParam(SnapiListType(AnythingType()))) + case 1 => Right(ExpParam(SnapiLongType())) } } @@ -386,7 +386,7 @@ abstract class AggregationListEntry(aggregation: Aggregation) extends Aggregatio override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx == 0) - Right(ExpParam(Rql2ListType(aggregation.innerTypeConstraint))) + Right(ExpParam(SnapiListType(aggregation.innerTypeConstraint))) } override def returnType( @@ -394,7 +394,7 @@ abstract class AggregationListEntry(aggregation: Aggregation) extends Aggregatio optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val Rql2ListType(innerType, _) = mandatoryArgs.head.t + val SnapiListType(innerType, _) = mandatoryArgs.head.t aggregation.aggregationType(innerType) } @@ -501,9 +501,9 @@ class FindFirstListEntry extends SugarEntryExtension with PredicateNormalization override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2ListType(AnythingType()))) + case 0 => Right(ExpParam(SnapiListType(AnythingType()))) case 1 => - val ExpArg(_, Rql2ListType(innerType, props)) = prevMandatoryArgs.head + val ExpArg(_, SnapiListType(innerType, props)) = prevMandatoryArgs.head assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right(ExpParam(flexiblePredicateOn(innerType))) } @@ -514,8 +514,8 @@ class FindFirstListEntry extends SugarEntryExtension with PredicateNormalization optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val ExpArg(_, Rql2ListType(itemType, _)) = mandatoryArgs.head - Right(addProp(itemType, Rql2IsNullableTypeProperty())) + val ExpArg(_, SnapiListType(itemType, _)) = mandatoryArgs.head + Right(addProp(itemType, SnapiIsNullableTypeProperty())) } override def desugar( @@ -580,9 +580,9 @@ class FindLastListEntry extends SugarEntryExtension with PredicateNormalization override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2ListType(AnythingType()))) + case 0 => Right(ExpParam(SnapiListType(AnythingType()))) case 1 => - val ExpArg(_, Rql2ListType(innerType, props)) = prevMandatoryArgs.head + val ExpArg(_, SnapiListType(innerType, props)) = prevMandatoryArgs.head assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right(ExpParam(flexiblePredicateOn(innerType))) } @@ -593,8 +593,8 @@ class FindLastListEntry extends SugarEntryExtension with PredicateNormalization optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val ExpArg(_, Rql2ListType(itemType, _)) = mandatoryArgs.head - Right(addProp(itemType, Rql2IsNullableTypeProperty())) + val ExpArg(_, SnapiListType(itemType, _)) = mandatoryArgs.head + Right(addProp(itemType, SnapiIsNullableTypeProperty())) } override def desugar( @@ -693,9 +693,9 @@ class ExplodeListEntry extends SugarEntryExtension with RecordMerging with ListT override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2ListType(AnythingType()))) + case 0 => Right(ExpParam(SnapiListType(AnythingType()))) case 1 => - val ExpArg(_, Rql2ListType(innerType, props)) = prevMandatoryArgs.head + val ExpArg(_, SnapiListType(innerType, props)) = prevMandatoryArgs.head assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right( ExpParam( @@ -703,10 +703,10 @@ class ExplodeListEntry extends SugarEntryExtension with RecordMerging with ListT Vector(innerType), Vector.empty, OneOfType( - Rql2ListType(AnythingType()), - Rql2ListType(AnythingType(), Set(Rql2IsNullableTypeProperty())), - Rql2ListType(AnythingType(), Set(Rql2IsTryableTypeProperty())), - Rql2ListType(AnythingType(), Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) + SnapiListType(AnythingType()), + SnapiListType(AnythingType(), Set(SnapiIsNullableTypeProperty())), + SnapiListType(AnythingType(), Set(SnapiIsTryableTypeProperty())), + SnapiListType(AnythingType(), Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) ) ) ) @@ -719,10 +719,10 @@ class ExplodeListEntry extends SugarEntryExtension with RecordMerging with ListT optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val ExpArg(_, Rql2ListType(leftRowType, props)) = mandatoryArgs.head - val ExpArg(_, FunType(_, _, Rql2ListType(rightRowType, _), _)) = mandatoryArgs(1) - val outRowType = rql2JoinOutputRowType(leftRowType, rightRowType) - Right(Rql2ListType(outRowType, props)) + val ExpArg(_, SnapiListType(leftRowType, props)) = mandatoryArgs.head + val ExpArg(_, FunType(_, _, SnapiListType(rightRowType, _), _)) = mandatoryArgs(1) + val outRowType = snapiJoinOutputRowType(leftRowType, rightRowType) + Right(SnapiListType(outRowType, props)) } override def desugar( @@ -732,7 +732,7 @@ class ExplodeListEntry extends SugarEntryExtension with RecordMerging with ListT optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Exp = { - val Rql2ListType(leftRowType, _) = mandatoryArgs.head.t + val SnapiListType(leftRowType, _) = mandatoryArgs.head.t val left = CollectionPackageBuilder.From(args.head.e) val unnestFunction = { val idn = IdnDef() @@ -761,9 +761,9 @@ class UnnestListEntry extends SugarEntryExtension with ListToCollectionHint { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2ListType(AnythingType()))) + case 0 => Right(ExpParam(SnapiListType(AnythingType()))) case 1 => - val ExpArg(_, Rql2ListType(innerType, props)) = prevMandatoryArgs.head + val ExpArg(_, SnapiListType(innerType, props)) = prevMandatoryArgs.head assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right( ExpParam( @@ -771,10 +771,10 @@ class UnnestListEntry extends SugarEntryExtension with ListToCollectionHint { Vector(innerType), Vector.empty, OneOfType( - Rql2ListType(AnythingType()), - Rql2ListType(AnythingType(), Set(Rql2IsNullableTypeProperty())), - Rql2ListType(AnythingType(), Set(Rql2IsTryableTypeProperty())), - Rql2ListType(AnythingType(), Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty())) + SnapiListType(AnythingType()), + SnapiListType(AnythingType(), Set(SnapiIsNullableTypeProperty())), + SnapiListType(AnythingType(), Set(SnapiIsTryableTypeProperty())), + SnapiListType(AnythingType(), Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty())) ) ) ) @@ -787,10 +787,10 @@ class UnnestListEntry extends SugarEntryExtension with ListToCollectionHint { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val Rql2ListType(_, props) = mandatoryArgs.head.t + val SnapiListType(_, props) = mandatoryArgs.head.t assert(props.isEmpty, "Should have been handled as per arg 1 definition") - val FunType(_, _, Rql2ListType(outputRowType, _), _) = mandatoryArgs(1).t - Right(Rql2ListType(outputRowType)) + val FunType(_, _, SnapiListType(outputRowType, _), _) = mandatoryArgs(1).t + Right(SnapiListType(outputRowType)) } override def desugar( @@ -800,7 +800,7 @@ class UnnestListEntry extends SugarEntryExtension with ListToCollectionHint { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Exp = { - val Rql2ListType(leftRowType, _) = mandatoryArgs.head.t + val SnapiListType(leftRowType, _) = mandatoryArgs.head.t val left = CollectionPackageBuilder.From(args.head.e) val unnestFunction = { val idn = IdnDef() @@ -835,7 +835,7 @@ class FromListEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2IterableType(AnythingType()))) + Right(ExpParam(SnapiIterableType(AnythingType()))) } override def returnType( @@ -843,8 +843,8 @@ class FromListEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val ExpArg(_, Rql2IterableType(itemType, _)) = mandatoryArgs.head - Right(Rql2ListType(itemType, Set(Rql2IsTryableTypeProperty()))) + val ExpArg(_, SnapiIterableType(itemType, _)) = mandatoryArgs.head + Right(SnapiListType(itemType, Set(SnapiIsTryableTypeProperty()))) } } @@ -860,7 +860,7 @@ class UnsafeFromListEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2IterableType(AnythingType()))) + Right(ExpParam(SnapiIterableType(AnythingType()))) } override def returnType( @@ -868,8 +868,8 @@ class UnsafeFromListEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val ExpArg(_, Rql2IterableType(itemType, _)) = mandatoryArgs.head - Right(Rql2ListType(itemType)) + val ExpArg(_, SnapiIterableType(itemType, _)) = mandatoryArgs.head + Right(SnapiListType(itemType)) } } @@ -902,9 +902,9 @@ class GroupListEntry extends EntryExtension with ListToCollectionHint { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2ListType(AnythingType()))) + case 0 => Right(ExpParam(SnapiListType(AnythingType()))) case 1 => - val ExpArg(_, Rql2ListType(innerType, props)) = prevMandatoryArgs.head + val ExpArg(_, SnapiListType(innerType, props)) = prevMandatoryArgs.head assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right(ExpParam(FunType(Vector(innerType), Vector.empty, AnythingType()))) } @@ -920,11 +920,11 @@ class GroupListEntry extends EntryExtension with ListToCollectionHint { val ExpArg(keyFunction, FunType(_, _, keyType, props)) = mandatoryArgs(1) assert(props.isEmpty, "Should have been handled as per arg 1 definition") if (isComparable(keyType)) Right( - Rql2ListType( - Rql2RecordType( + SnapiListType( + SnapiRecordType( Vector( - Rql2AttrType("key", keyType), - Rql2AttrType("group", listType) + SnapiAttrType("key", keyType), + SnapiAttrType("group", listType) ) ) ) @@ -987,11 +987,11 @@ class JoinListEntry override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 | 1 => Right(ExpParam(Rql2ListType(AnythingType()))) + case 0 | 1 => Right(ExpParam(SnapiListType(AnythingType()))) case 2 => - val ExpArg(_, Rql2ListType(leftRowType, _)) = prevMandatoryArgs.head - val ExpArg(_, Rql2ListType(rightRowType, _)) = prevMandatoryArgs(1) - val outType = rql2JoinOutputRowType(leftRowType, rightRowType) + val ExpArg(_, SnapiListType(leftRowType, _)) = prevMandatoryArgs.head + val ExpArg(_, SnapiListType(rightRowType, _)) = prevMandatoryArgs(1) + val outType = snapiJoinOutputRowType(leftRowType, rightRowType) Right(ExpParam(OneOfType(flexiblePredicateOn(outType), flexiblePredicateOn(Vector(leftRowType, rightRowType))))) } } @@ -1001,10 +1001,10 @@ class JoinListEntry optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val ExpArg(_, Rql2ListType(leftRowType, _)) = mandatoryArgs.head - val ExpArg(_, Rql2ListType(rightRowType, _)) = mandatoryArgs(1) - val outType = rql2JoinOutputRowType(leftRowType, rightRowType) - Right(Rql2ListType(outType)) + val ExpArg(_, SnapiListType(leftRowType, _)) = mandatoryArgs.head + val ExpArg(_, SnapiListType(rightRowType, _)) = mandatoryArgs(1) + val outType = snapiJoinOutputRowType(leftRowType, rightRowType) + Right(SnapiListType(outType)) } override def desugar( @@ -1063,12 +1063,12 @@ class EquiJoinListEntry extends SugarEntryExtension with RecordMerging with List override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 | 1 => Right(ExpParam(Rql2ListType(AnythingType()))) + case 0 | 1 => Right(ExpParam(SnapiListType(AnythingType()))) case 2 => - val ExpArg(_, Rql2ListType(innerType, _)) = prevMandatoryArgs.head + val ExpArg(_, SnapiListType(innerType, _)) = prevMandatoryArgs.head Right(ExpParam(FunType(Vector(innerType), Vector.empty, AnythingType()))) case 3 => - val ExpArg(_, Rql2ListType(innerType, _)) = prevMandatoryArgs(1) + val ExpArg(_, SnapiListType(innerType, _)) = prevMandatoryArgs(1) val ExpArg(_, FunType(_, _, kType, _)) = prevMandatoryArgs(2) Right(ExpParam(FunType(Vector(innerType), Vector.empty, MergeableType(kType)))) } @@ -1080,14 +1080,14 @@ class EquiJoinListEntry extends SugarEntryExtension with RecordMerging with List optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[Seq[ErrorCompilerMessage], Type] = { - val ExpArg(_, Rql2ListType(leftRowType, _)) = mandatoryArgs.head - val ExpArg(_, Rql2ListType(rightRowType, _)) = mandatoryArgs(1) + val ExpArg(_, SnapiListType(leftRowType, _)) = mandatoryArgs.head + val ExpArg(_, SnapiListType(rightRowType, _)) = mandatoryArgs(1) val ExpArg(keyFunction1, FunType(_, _, keyType1, _)) = mandatoryArgs(2) val ExpArg(keyFunction2, FunType(_, _, keyType2, _)) = mandatoryArgs(3) if (isComparable(keyType1)) { if (isComparable(keyType2)) { - val mergedRecordType = rql2JoinOutputRowType(leftRowType, rightRowType) - Right(Rql2ListType(mergedRecordType)) + val mergedRecordType = snapiJoinOutputRowType(leftRowType, rightRowType) + Right(SnapiListType(mergedRecordType)) } else Left(Seq(KeyNotComparable(keyFunction2))) } else Left(Seq(KeyNotComparable(keyFunction1))) } @@ -1133,16 +1133,16 @@ class OrderByListEntry extends SugarEntryExtension with ListToCollectionHint { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx == 0) - Right(ExpParam(Rql2ListType(AnythingType()))) + Right(ExpParam(SnapiListType(AnythingType()))) } override def hasVarArgs: Boolean = true override def getVarParam(prevMandatoryArgs: Seq[Arg], prevVarArgs: Seq[Arg], idx: Int): Either[String, Param] = { - val ExpArg(_, Rql2ListType(innerType, props)) = prevMandatoryArgs.head + val ExpArg(_, SnapiListType(innerType, props)) = prevMandatoryArgs.head assert(props.isEmpty, "Should have been handled as per arg 0 definition") if (idx % 2 == 0) Right(ExpParam(FunType(Vector(innerType), Vector.empty, AnythingType()))) - else Right(ValueParam(Rql2StringType())) + else Right(ValueParam(SnapiStringType())) } override def returnTypeErrorList( @@ -1151,14 +1151,14 @@ class OrderByListEntry extends SugarEntryExtension with ListToCollectionHint { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[Seq[ErrorCompilerMessage], Type] = { - val (orders, keyFunctions) = varArgs.partition(_.t.isInstanceOf[Rql2StringType]) + val (orders, keyFunctions) = varArgs.partition(_.t.isInstanceOf[SnapiStringType]) if (orders.size != keyFunctions.size) return Left(Seq(OrderSpecMustFollowOrderingFunction(node))) val keyErrors = for ( ExpArg(arg, FunType(_, _, keyType, _)) <- keyFunctions if !isComparable(keyType) ) yield KeyNotComparable(arg) val orderErrors = for ( - ValueArg(value @ Rql2StringValue(order), _) <- orders + ValueArg(value @ SnapiStringValue(order), _) <- orders if !Set("ASC", "DESC").contains(order.toUpperCase) ) yield InvalidOrderSpec(node, order) val errors = keyErrors ++ orderErrors @@ -1213,7 +1213,7 @@ class DistinctListEntry extends SugarEntryExtension with ListToCollectionHint { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[Seq[ErrorCompilerMessage], Type] = { - val ExpArg(list, Rql2ListType(itemType, _)) = mandatoryArgs.head + val ExpArg(list, SnapiListType(itemType, _)) = mandatoryArgs.head if (isComparable(itemType)) Right(mandatoryArgs.head.t) else Left(Seq(ItemsNotComparable(list))) } @@ -1254,7 +1254,7 @@ class UnionListEntry extends SugarEntryExtension with ListToCollectionHint { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2ListType(AnythingType()))) + case 0 => Right(ExpParam(SnapiListType(AnythingType()))) case 1 => val ExpArg(_, t) = prevMandatoryArgs.head Right(ExpParam(MergeableType(t))) @@ -1317,14 +1317,14 @@ class AvgListEntry extends SugarEntryExtension with ListToCollectionHint { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = - Right(ExpParam(Rql2ListType(AvgAggregation.innerTypeConstraint))) + Right(ExpParam(SnapiListType(AvgAggregation.innerTypeConstraint))) override def returnType( mandatoryArgs: Seq[Arg], optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2DecimalType(Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()))) + Right(SnapiDecimalType(Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty()))) } override def desugar( @@ -1380,9 +1380,9 @@ class ExistsListEntry extends EntryExtension with PredicateNormalization with Li override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2ListType(AnythingType()))) + case 0 => Right(ExpParam(SnapiListType(AnythingType()))) case 1 => - val ExpArg(_, Rql2ListType(innerType, props)) = prevMandatoryArgs.head + val ExpArg(_, SnapiListType(innerType, props)) = prevMandatoryArgs.head assert(props.isEmpty, "Should have been handled as per arg 0 definition") Right(ExpParam(flexiblePredicateOn(innerType))) } @@ -1393,7 +1393,7 @@ class ExistsListEntry extends EntryExtension with PredicateNormalization with Li optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2BoolType()) + Right(SnapiBoolType()) } } @@ -1424,9 +1424,9 @@ class ContainsListEntry extends SugarEntryExtension with ListToCollectionHint { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2ListType(AnythingType()))) + case 0 => Right(ExpParam(SnapiListType(AnythingType()))) case 1 => - val ExpArg(_, Rql2ListType(innerType, _)) = prevMandatoryArgs.head + val ExpArg(_, SnapiListType(innerType, _)) = prevMandatoryArgs.head Right(ExpParam(innerType)) } } @@ -1437,8 +1437,8 @@ class ContainsListEntry extends SugarEntryExtension with ListToCollectionHint { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[Seq[ErrorCompilerMessage], Type] = { - val ExpArg(list, Rql2ListType(itemType, _)) = mandatoryArgs.head - if (isComparable(itemType)) Right(Rql2BoolType()) + val ExpArg(list, SnapiListType(itemType, _)) = mandatoryArgs.head + if (isComparable(itemType)) Right(SnapiBoolType()) else Left(Seq(ItemsNotComparable(list))) } @@ -1499,9 +1499,9 @@ class ZipListEntry extends SugarEntryExtension with CollectionToListHint { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val Rql2ListType(itemType1, _) = mandatoryArgs.head.t - val Rql2ListType(itemType2, _) = mandatoryArgs(1).t - Right(Rql2ListType(Rql2RecordType(Vector(Rql2AttrType("_1", itemType1), Rql2AttrType("_2", itemType2))))) + val SnapiListType(itemType1, _) = mandatoryArgs.head.t + val SnapiListType(itemType2, _) = mandatoryArgs(1).t + Right(SnapiListType(SnapiRecordType(Vector(SnapiAttrType("_1", itemType1), SnapiAttrType("_2", itemType2))))) } override def desugar( @@ -1552,14 +1552,14 @@ class MkStringListEntry extends SugarEntryExtension with ListToCollectionHint { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - if (idx == 0) Right(ExpParam(Rql2ListType(Rql2StringType(Set(Rql2IsNullableTypeProperty()))))) - else Right(ExpParam(Rql2StringType())) + if (idx == 0) Right(ExpParam(SnapiListType(SnapiStringType(Set(SnapiIsNullableTypeProperty()))))) + else Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some(Set("start", "sep", "end")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { - Right(ExpParam(Rql2StringType())) + Right(ExpParam(SnapiStringType())) } override def returnType( @@ -1567,7 +1567,7 @@ class MkStringListEntry extends SugarEntryExtension with ListToCollectionHint { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2StringType(Set(Rql2IsTryableTypeProperty()))) + Right(SnapiStringType(Set(SnapiIsTryableTypeProperty()))) } override def desugar( diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/LocationPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/LocationPackage.scala similarity index 75% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/LocationPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/LocationPackage.scala index 8066e7611..0dd303cbf 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/LocationPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/LocationPackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} +import com.rawlabs.snapi.frontend.snapi.source._ object LocationPackageBuilder { @@ -54,7 +54,7 @@ class LocationFromStringEntry extends EntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx == 0) - Right(ExpParam(Rql2StringType())) + Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = None @@ -64,7 +64,7 @@ class LocationFromStringEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2LocationType()) + Right(SnapiLocationType()) } } @@ -114,52 +114,52 @@ class LocationDescribeEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = - Right(ExpParam(Rql2LocationType())) + Right(ExpParam(SnapiLocationType())) override def returnType( mandatoryArgs: Seq[Arg], optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = Right( - Rql2RecordType( + SnapiRecordType( Vector( - Rql2AttrType("format", Rql2StringType()), - Rql2AttrType("comment", Rql2StringType()), - Rql2AttrType("type", Rql2StringType()), - Rql2AttrType( + SnapiAttrType("format", SnapiStringType()), + SnapiAttrType("comment", SnapiStringType()), + SnapiAttrType("type", SnapiStringType()), + SnapiAttrType( "properties", - Rql2ListType( - Rql2RecordType( + SnapiListType( + SnapiRecordType( Vector( - Rql2AttrType("name", Rql2StringType()), - Rql2AttrType("value", Rql2StringType(Set(Rql2IsNullableTypeProperty()))) + SnapiAttrType("name", SnapiStringType()), + SnapiAttrType("value", SnapiStringType(Set(SnapiIsNullableTypeProperty()))) ) ) ) ), - Rql2AttrType("is_collection", Rql2BoolType()), - Rql2AttrType( + SnapiAttrType("is_collection", SnapiBoolType()), + SnapiAttrType( "columns", - Rql2ListType( - Rql2RecordType( + SnapiListType( + SnapiRecordType( Vector( - Rql2AttrType("col_name", Rql2StringType(Set(Rql2IsNullableTypeProperty()))), - Rql2AttrType("col_type", Rql2StringType()), - Rql2AttrType("nullable", Rql2BoolType()) + SnapiAttrType("col_name", SnapiStringType(Set(SnapiIsNullableTypeProperty()))), + SnapiAttrType("col_type", SnapiStringType()), + SnapiAttrType("nullable", SnapiBoolType()) ) ) ) ), - Rql2AttrType("sampled", Rql2BoolType()) + SnapiAttrType("sampled", SnapiBoolType()) ), - Set(Rql2IsTryableTypeProperty()) + Set(SnapiIsTryableTypeProperty()) ) ) override def optionalParams: Option[Set[String]] = Some(Set("sampleSize")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { - Right(ExpParam(Rql2IntType(Set(Rql2IsNullableTypeProperty())))) + Right(ExpParam(SnapiIntType(Set(SnapiIsNullableTypeProperty())))) } } @@ -183,7 +183,7 @@ class LocationLsEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2LocationType())) + Right(ExpParam(SnapiLocationType())) } override def returnType( @@ -191,7 +191,7 @@ class LocationLsEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = - Right(Rql2ListType(Rql2StringType(), Set(Rql2IsTryableTypeProperty()))) + Right(SnapiListType(SnapiStringType(), Set(SnapiIsTryableTypeProperty()))) } @@ -226,7 +226,7 @@ class LocationLlEntry() extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2LocationType())) + Right(ExpParam(SnapiLocationType())) } override def returnType( @@ -234,24 +234,24 @@ class LocationLlEntry() extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = Right( - Rql2ListType( - Rql2RecordType( + SnapiListType( + SnapiRecordType( Vector( - Rql2AttrType("url", Rql2StringType()), - Rql2AttrType( + SnapiAttrType("url", SnapiStringType()), + SnapiAttrType( "metadata", - Rql2RecordType( + SnapiRecordType( Vector( - Rql2AttrType("modified", Rql2TimestampType(Set(Rql2IsNullableTypeProperty()))), - Rql2AttrType("size", Rql2LongType(Set(Rql2IsNullableTypeProperty()))), - Rql2AttrType( + SnapiAttrType("modified", SnapiTimestampType(Set(SnapiIsNullableTypeProperty()))), + SnapiAttrType("size", SnapiLongType(Set(SnapiIsNullableTypeProperty()))), + SnapiAttrType( "blocks", - Rql2ListType( - Rql2RecordType( + SnapiListType( + SnapiRecordType( Vector( - Rql2AttrType("hosts", Rql2ListType(Rql2StringType())), - Rql2AttrType("offset", Rql2LongType()), - Rql2AttrType("length", Rql2LongType()) + SnapiAttrType("hosts", SnapiListType(SnapiStringType())), + SnapiAttrType("offset", SnapiLongType()), + SnapiAttrType("length", SnapiLongType()) ) ) ) @@ -261,7 +261,7 @@ class LocationLlEntry() extends EntryExtension { ) ) ), - Set(Rql2IsTryableTypeProperty()) + Set(SnapiIsTryableTypeProperty()) ) ) diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/LongPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/LongPackage.scala similarity index 85% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/LongPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/LongPackage.scala index 134572819..8f507e3d8 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/LongPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/LongPackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} +import com.rawlabs.snapi.frontend.snapi.source._ object LongPackageBuilder { @@ -82,11 +82,11 @@ class LongFromEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { // Type as Try when passed a string in case the content doesn't parse. - val props: Set[Rql2TypeProperty] = mandatoryArgs(0).t match { - case _: Rql2StringType => Set(Rql2IsTryableTypeProperty()) - case _ => Set.empty[Rql2TypeProperty] + val props: Set[SnapiTypeProperty] = mandatoryArgs(0).t match { + case _: SnapiStringType => Set(SnapiIsTryableTypeProperty()) + case _ => Set.empty[SnapiTypeProperty] } - Right(Rql2LongType(props)) + Right(SnapiLongType(props)) } } @@ -118,12 +118,12 @@ class LongRangeEntry extends EntryExtension { override def optionalParams: Option[Set[String]] = Some(Set("step")) override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2LongType())) + Right(ExpParam(SnapiLongType())) } override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { assert(idn == "step") - Right(ExpParam(Rql2LongType())) + Right(ExpParam(SnapiLongType())) } override def returnType( @@ -131,7 +131,7 @@ class LongRangeEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2IterableType(Rql2LongType())) + Right(SnapiIterableType(SnapiLongType())) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/MathPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/MathPackage.scala similarity index 89% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/MathPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/MathPackage.scala index 75ecd2562..4909d24f3 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/MathPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/MathPackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpParam, @@ -24,7 +24,7 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ Param, ShortEntryExtension } -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ class MathPackage extends PackageExtension { @@ -41,7 +41,7 @@ class MathPiEntry "Math", "Pi", Vector.empty, - Rql2DoubleType(), + SnapiDoubleType(), EntryDoc( summary = "Pi mathematical constant (3.14159...)", ret = Some(ReturnDoc("The value of pi.", Some(TypeDoc(List("double"))))) @@ -53,7 +53,7 @@ class MathRandomEntry "Math", "Random", Vector.empty, - Rql2DoubleType(), + SnapiDoubleType(), EntryDoc( summary = "Pseudo random number generator, returns a double between 0.0 and 1.0.", ret = Some(ReturnDoc("A random number.", Some(TypeDoc(List("double"))))) @@ -64,8 +64,8 @@ class MathPowerEntry extends ShortEntryExtension( "Math", "Power", - Vector(Rql2DoubleType(), Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType(), SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Returns the first value to the power of the second value.", examples = List( @@ -84,8 +84,8 @@ class MathAtn2Entry extends ShortEntryExtension( "Math", "Atn2", - Vector(Rql2DoubleType(), Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType(), SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Returns the angle in radians of the vector (x, y).", examples = List( @@ -125,7 +125,7 @@ class MathAbsEntry extends EntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx == 0) - Right(ExpParam(OneOfType(Rql2IntType(), Rql2LongType(), Rql2FloatType(), Rql2DoubleType()))) + Right(ExpParam(OneOfType(SnapiIntType(), SnapiLongType(), SnapiFloatType(), SnapiDoubleType()))) } override def nrMandatoryParams: Int = 1 @@ -136,7 +136,7 @@ class MathAbsEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { mandatoryArgs(0).t match { - case number: Rql2NumberType if !number.isInstanceOf[Rql2DecimalType] => Right(number) + case number: SnapiNumberType if !number.isInstanceOf[SnapiDecimalType] => Right(number) case _ => Left("unsupported type") } } @@ -147,8 +147,8 @@ class MathAcosEntry extends ShortEntryExtension( "Math", "Acos", - Vector(Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Arcosine, returns the angle in radians which cosine is specified by the value.", examples = List( @@ -165,8 +165,8 @@ class MathAsinEntry extends ShortEntryExtension( "Math", "Asin", - Vector(Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Arcsine, returns the angle in radians which sine is specified by the value.", examples = List( @@ -183,8 +183,8 @@ class MathAtanEntry extends ShortEntryExtension( "Math", "Atan", - Vector(Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Arctangent, returns the angle in radians which tangent is specified by the value.", examples = List( @@ -201,8 +201,8 @@ class MathCeilingEntry extends ShortEntryExtension( "Math", "Ceiling", - Vector(Rql2DecimalType()), - Rql2LongType(), + Vector(SnapiDecimalType()), + SnapiLongType(), EntryDoc( summary = "Returns the smallest integer greater or equal to the specified value.", examples = List( @@ -220,8 +220,8 @@ class MathCosEntry extends ShortEntryExtension( "Math", "Cos", - Vector(Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Returns the cosine specified by the value in radians.", examples = List( @@ -237,8 +237,8 @@ class MathCotEntry extends ShortEntryExtension( "Math", "Cot", - Vector(Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Returns the cotangent specified by the value in radians.", examples = List( @@ -254,8 +254,8 @@ class MathDegreesEntry extends ShortEntryExtension( "Math", "Degrees", - Vector(Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Converts an angle from radians to degrees.", examples = List( @@ -271,8 +271,8 @@ class MathExpEntry extends ShortEntryExtension( "Math", "Exp", - Vector(Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Return the exponential of the specified value.", examples = List( @@ -290,8 +290,8 @@ class MathLogEntry extends ShortEntryExtension( "Math", "Log", - Vector(Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Returns the logarithm base *e* specified by the value.", examples = List( @@ -307,8 +307,8 @@ class MathLog10Entry extends ShortEntryExtension( "Math", "Log10", - Vector(Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Returns the logarithm base 10 specified by the value.", params = @@ -325,8 +325,8 @@ class MathRadiansEntry extends ShortEntryExtension( "Math", "Radians", - Vector(Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Converts an angle from degrees to radians.", params = List(ParamDoc("value", TypeDoc(List("double")), "The angle in degrees to convert to radians.")), @@ -342,8 +342,8 @@ class MathSignEntry extends ShortEntryExtension( "Math", "Sign", - Vector(Rql2DoubleType()), - Rql2IntType(), + Vector(SnapiDoubleType()), + SnapiIntType(), EntryDoc( summary = "Returns the sign, 1, -1 or 0 for the specified value.", params = List(ParamDoc("value", TypeDoc(List("number")), "The value on which the sign is computed.")), @@ -360,8 +360,8 @@ class MathSinEntry extends ShortEntryExtension( "Math", "Sin", - Vector(Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Returns the sine specified by the value in radians.", params = List(ParamDoc("value", TypeDoc(List("double")), "The value on which the sine is computed.")), @@ -377,8 +377,8 @@ class MathSqrtEntry extends ShortEntryExtension( "Math", "Sqrt", - Vector(Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Returns the square root of the specified value.", params = List(ParamDoc("value", TypeDoc(List("double")), "The value on which the square root is computed.")), @@ -394,8 +394,8 @@ class MathTanEntry extends ShortEntryExtension( "Math", "Tan", - Vector(Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Returns the tangent specified by the value in radians.", params = List(ParamDoc("value", TypeDoc(List("double")), "The value on which the tangent is computed.")), @@ -411,8 +411,8 @@ class MathSquareEntry extends ShortEntryExtension( "Math", "Square", - Vector(Rql2DoubleType()), - Rql2DoubleType(), + Vector(SnapiDoubleType()), + SnapiDoubleType(), EntryDoc( summary = "Returns the square value.", examples = List( @@ -428,8 +428,8 @@ class MathFloorEntry extends ShortEntryExtension( "Math", "Floor", - Vector(Rql2DecimalType()), - Rql2LongType(), + Vector(SnapiDecimalType()), + SnapiLongType(), EntryDoc( params = List(ParamDoc("value", TypeDoc(List("decimal")), "The value to be floored.")), summary = "Returns the largest integer not greater than the value.", diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/MySQLPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/MySQLPackage.scala similarity index 91% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/MySQLPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/MySQLPackage.scala index 07b1ed4f8..bb6745aad 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/MySQLPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/MySQLPackage.scala @@ -10,15 +10,15 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.errors.{ErrorCompilerMessage, InvalidSemantic} import com.rawlabs.snapi.frontend.base.source.{AnythingType, BaseNode, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.extensions._ -import com.rawlabs.snapi.frontend.rql2.{ProgramContext, Rql2StringValue} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.extensions._ +import com.rawlabs.snapi.frontend.snapi.{ProgramContext, SnapiStringValue} +import com.rawlabs.snapi.frontend.snapi.source._ import com.rawlabs.snapi.frontend.inferrer.api.{ SqlQueryInferrerInput, SqlQueryInferrerOutput, @@ -95,15 +95,15 @@ class MySQLInferAndReadEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 2) - Right(ValueParam(Rql2StringType())) + Right(ValueParam(SnapiStringType())) } override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ValueParam(Rql2StringType())) - case "port" => Right(ValueParam(Rql2IntType())) - case "username" => Right(ValueParam(Rql2StringType())) - case "password" => Right(ValueParam(Rql2StringType())) + case "host" => Right(ValueParam(SnapiStringType())) + case "port" => Right(ValueParam(SnapiIntType())) + case "username" => Right(ValueParam(SnapiStringType())) + case "password" => Right(ValueParam(SnapiStringType())) } } @@ -118,7 +118,7 @@ class MySQLInferAndReadEntry extends SugarEntryExtension { val table = FunAppArg(StringConst(getStringValue(mandatoryArgs(1))), None) val readType = FunAppArg(TypeExp(t), None) val optArgs = - optionalArgs.map { case (idn, ValueArg(Rql2StringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } + optionalArgs.map { case (idn, ValueArg(SnapiStringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } FunApp( Proj(PackageIdnExp("MySQL"), "Read"), Vector(db, table, readType) ++ optArgs @@ -168,7 +168,7 @@ class MySQLInferAndReadEntry extends SugarEntryExtension { inputFormatDescriptor <- programContext.infer(inferrerProperties); SqlTableInferrerOutput(tipe) = inputFormatDescriptor ) yield { - inferTypeToRql2Type(tipe, false, false) + inferTypeToSnapiType(tipe, false, false) } } } @@ -236,17 +236,17 @@ class MySQLReadEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 3) if (idx == 2) Right(TypeParam(AnythingType())) - else Right(ExpParam(Rql2StringType())) + else Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some(Set("host", "username", "port", "password")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ExpParam(Rql2StringType())) - case "port" => Right(ExpParam(Rql2IntType())) - case "username" => Right(ExpParam(Rql2StringType())) - case "password" => Right(ExpParam(Rql2StringType())) + case "host" => Right(ExpParam(SnapiStringType())) + case "port" => Right(ExpParam(SnapiIntType())) + case "username" => Right(ExpParam(SnapiStringType())) + case "password" => Right(ExpParam(SnapiStringType())) } } @@ -358,15 +358,15 @@ class MySQLInferAndQueryEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 2) - Right(ValueParam(Rql2StringType())) + Right(ValueParam(SnapiStringType())) } override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ValueParam(Rql2StringType())) - case "port" => Right(ValueParam(Rql2IntType())) - case "username" => Right(ValueParam(Rql2StringType())) - case "password" => Right(ValueParam(Rql2StringType())) + case "host" => Right(ValueParam(SnapiStringType())) + case "port" => Right(ValueParam(SnapiIntType())) + case "username" => Right(ValueParam(SnapiStringType())) + case "password" => Right(ValueParam(SnapiStringType())) } } @@ -413,7 +413,7 @@ class MySQLInferAndQueryEntry extends SugarEntryExtension { inputFormatDescriptor <- programContext.infer(inferrerProperties); SqlQueryInferrerOutput(tipe) = inputFormatDescriptor ) yield { - inferTypeToRql2Type(tipe, false, false) + inferTypeToSnapiType(tipe, false, false) } } @@ -428,7 +428,7 @@ class MySQLInferAndQueryEntry extends SugarEntryExtension { val query = FunAppArg(StringConst(getStringValue(mandatoryArgs(1))), None) val readType = FunAppArg(TypeExp(t), None) val optArgs = - optionalArgs.map { case (idn, ValueArg(Rql2StringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } + optionalArgs.map { case (idn, ValueArg(SnapiStringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } FunApp( Proj(PackageIdnExp("MySQL"), "Query"), Vector(db, query, readType) ++ optArgs @@ -501,17 +501,17 @@ class MySQLQueryEntry extends EntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 3) if (idx == 2) Right(TypeParam(AnythingType())) - else Right(ExpParam(Rql2StringType())) + else Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some(Set("host", "username", "port", "password")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ExpParam(Rql2StringType())) - case "port" => Right(ExpParam(Rql2IntType())) - case "username" => Right(ExpParam(Rql2StringType())) - case "password" => Right(ExpParam(Rql2StringType())) + case "host" => Right(ExpParam(SnapiStringType())) + case "port" => Right(ExpParam(SnapiIntType())) + case "username" => Right(ExpParam(SnapiStringType())) + case "password" => Right(ExpParam(SnapiStringType())) } } override def returnTypeErrorList( diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/NullablePackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/NullablePackage.scala similarity index 83% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/NullablePackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/NullablePackage.scala index b10525170..77aa8d9bf 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/NullablePackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/NullablePackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.{AnythingType, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpArg, @@ -77,7 +77,7 @@ class NullableEmptyEntry extends EntryExtension { override def hasVarArgs: Boolean = false override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = idx match { - case 0 => Right(TypeParam(DoesNotHaveTypeProperties(Set(Rql2IsNullableTypeProperty())))) + case 0 => Right(TypeParam(DoesNotHaveTypeProperties(Set(SnapiIsNullableTypeProperty())))) } override def returnType( @@ -86,7 +86,7 @@ class NullableEmptyEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { val TypeArg(t) = mandatoryArgs(0) - Right(addProp(t, Rql2IsNullableTypeProperty())) + Right(addProp(t, SnapiIsNullableTypeProperty())) } } @@ -110,7 +110,7 @@ class NullableBuildEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val t = addProp(mandatoryArgs(0).t, Rql2IsNullableTypeProperty()) + val t = addProp(mandatoryArgs(0).t, SnapiIsNullableTypeProperty()) Right(t) } @@ -143,7 +143,7 @@ class NullableIsNullEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(HasTypeProperties(Set(Rql2IsNullableTypeProperty())))) + Right(ExpParam(HasTypeProperties(Set(SnapiIsNullableTypeProperty())))) } override def returnType( @@ -151,7 +151,7 @@ class NullableIsNullEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2BoolType()) + Right(SnapiBoolType()) } } @@ -167,7 +167,7 @@ class NullableUnsafeGetEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(HasTypeProperties(Set(Rql2IsNullableTypeProperty())))) + Right(ExpParam(HasTypeProperties(Set(SnapiIsNullableTypeProperty())))) } override def returnType( @@ -176,7 +176,7 @@ class NullableUnsafeGetEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { val ExpArg(_, t) = mandatoryArgs(0) - Right(removeProp(t, Rql2IsNullableTypeProperty())) + Right(removeProp(t, SnapiIsNullableTypeProperty())) } } @@ -192,12 +192,14 @@ class NullableTransformEntry extends EntryExtension { override def nrMandatoryParams: Int = 2 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = idx match { - case 0 => Right(ExpParam(HasTypeProperties(Set(Rql2IsNullableTypeProperty())))) + case 0 => Right(ExpParam(HasTypeProperties(Set(SnapiIsNullableTypeProperty())))) case 1 => val ExpArg(_, t) = prevMandatoryArgs(0) - val innerType = removeProp(t, Rql2IsNullableTypeProperty()) + val innerType = removeProp(t, SnapiIsNullableTypeProperty()) Right( - ExpParam(FunType(Vector(innerType), Vector.empty, DoesNotHaveTypeProperties(Set(Rql2IsNullableTypeProperty())))) + ExpParam( + FunType(Vector(innerType), Vector.empty, DoesNotHaveTypeProperties(Set(SnapiIsNullableTypeProperty()))) + ) ) } @@ -207,7 +209,7 @@ class NullableTransformEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { val FunType(_, _, outType, _) = mandatoryArgs(1).t - val t = addProp(outType, Rql2IsNullableTypeProperty()) + val t = addProp(outType, SnapiIsNullableTypeProperty()) Right(t) } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/NullableTryablePackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/NullableTryablePackage.scala similarity index 88% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/NullableTryablePackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/NullableTryablePackage.scala index 2e652eddd..a3fca4d9f 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/NullableTryablePackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/NullableTryablePackage.scala @@ -10,14 +10,14 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, PackageDoc} import com.typesafe.scalalogging.StrictLogging import com.rawlabs.snapi.frontend.base.source.{AnythingType, Type} -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} +import com.rawlabs.snapi.frontend.snapi.source._ object NullableTryablePackageBuilder { diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/OraclePackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/OraclePackage.scala similarity index 92% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/OraclePackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/OraclePackage.scala index 63b8886cd..3980c7de4 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/OraclePackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/OraclePackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.errors.{ErrorCompilerMessage, InvalidSemantic} import com.rawlabs.snapi.frontend.base.source.{AnythingType, BaseNode, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpArg, @@ -29,7 +29,7 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ ValueArg, ValueParam } -import com.rawlabs.snapi.frontend.rql2.{ProgramContext, Rql2StringValue} +import com.rawlabs.snapi.frontend.snapi.{ProgramContext, SnapiStringValue} import com.rawlabs.snapi.frontend.inferrer.api.{ SqlQueryInferrerInput, SqlQueryInferrerOutput, @@ -111,15 +111,15 @@ class OracleInferAndReadEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 3) - Right(ValueParam(Rql2StringType())) + Right(ValueParam(SnapiStringType())) } override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ValueParam(Rql2StringType())) - case "port" => Right(ValueParam(Rql2IntType())) - case "username" => Right(ValueParam(Rql2StringType())) - case "password" => Right(ValueParam(Rql2StringType())) + case "host" => Right(ValueParam(SnapiStringType())) + case "port" => Right(ValueParam(SnapiIntType())) + case "username" => Right(ValueParam(SnapiStringType())) + case "password" => Right(ValueParam(SnapiStringType())) } } @@ -135,7 +135,7 @@ class OracleInferAndReadEntry extends SugarEntryExtension { val table = FunAppArg(StringConst(getStringValue(mandatoryArgs(2))), None) val readType = FunAppArg(TypeExp(t), None) val optArgs = - optionalArgs.map { case (idn, ValueArg(Rql2StringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } + optionalArgs.map { case (idn, ValueArg(SnapiStringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } FunApp( Proj(PackageIdnExp("Oracle"), "Read"), Vector(db, schema, table, readType) ++ optArgs @@ -186,7 +186,7 @@ class OracleInferAndReadEntry extends SugarEntryExtension { inputFormatDescriptor <- programContext.infer(inferrerProperties); SqlTableInferrerOutput(tipe) = inputFormatDescriptor ) yield { - inferTypeToRql2Type(tipe, false, false) + inferTypeToSnapiType(tipe, false, false) } } } @@ -260,17 +260,17 @@ class OracleReadEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 4) if (idx == 3) Right(TypeParam(AnythingType())) - else Right(ExpParam(Rql2StringType())) + else Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some(Set("host", "username", "port", "password")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ExpParam(Rql2StringType())) - case "port" => Right(ExpParam(Rql2IntType())) - case "username" => Right(ExpParam(Rql2StringType())) - case "password" => Right(ExpParam(Rql2StringType())) + case "host" => Right(ExpParam(SnapiStringType())) + case "port" => Right(ExpParam(SnapiIntType())) + case "username" => Right(ExpParam(SnapiStringType())) + case "password" => Right(ExpParam(SnapiStringType())) } } @@ -385,15 +385,15 @@ class OracleInferAndQueryEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 2) - Right(ValueParam(Rql2StringType())) + Right(ValueParam(SnapiStringType())) } override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ValueParam(Rql2StringType())) - case "port" => Right(ValueParam(Rql2IntType())) - case "username" => Right(ValueParam(Rql2StringType())) - case "password" => Right(ValueParam(Rql2StringType())) + case "host" => Right(ValueParam(SnapiStringType())) + case "port" => Right(ValueParam(SnapiIntType())) + case "username" => Right(ValueParam(SnapiStringType())) + case "password" => Right(ValueParam(SnapiStringType())) } } @@ -440,7 +440,7 @@ class OracleInferAndQueryEntry extends SugarEntryExtension { inputFormatDescriptor <- programContext.infer(inferrerProperties); SqlQueryInferrerOutput(tipe) = inputFormatDescriptor ) yield { - inferTypeToRql2Type(tipe, false, false) + inferTypeToSnapiType(tipe, false, false) } } @@ -455,7 +455,7 @@ class OracleInferAndQueryEntry extends SugarEntryExtension { val query = FunAppArg(StringConst(getStringValue(mandatoryArgs(1))), None) val readType = FunAppArg(TypeExp(t), None) val optArgs = - optionalArgs.map { case (idn, ValueArg(Rql2StringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } + optionalArgs.map { case (idn, ValueArg(SnapiStringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } FunApp( Proj(PackageIdnExp("Oracle"), "Query"), Vector(db, query, readType) ++ optArgs @@ -530,17 +530,17 @@ class OracleQueryEntry extends EntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 3) if (idx == 2) Right(TypeParam(AnythingType())) - else Right(ExpParam(Rql2StringType())) + else Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some(Set("host", "username", "port", "password")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ExpParam(Rql2StringType())) - case "port" => Right(ExpParam(Rql2IntType())) - case "username" => Right(ExpParam(Rql2StringType())) - case "password" => Right(ExpParam(Rql2StringType())) + case "host" => Right(ExpParam(SnapiStringType())) + case "port" => Right(ExpParam(SnapiIntType())) + case "username" => Right(ExpParam(SnapiStringType())) + case "password" => Right(ExpParam(SnapiStringType())) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/PostgreSQLPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/PostgreSQLPackage.scala similarity index 92% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/PostgreSQLPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/PostgreSQLPackage.scala index da7608b2c..04bfc9c3b 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/PostgreSQLPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/PostgreSQLPackage.scala @@ -10,14 +10,14 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.errors.{ErrorCompilerMessage, InvalidSemantic} import com.rawlabs.snapi.frontend.base.source.{AnythingType, BaseNode, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpArg, @@ -30,7 +30,7 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ ValueArg, ValueParam } -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ import com.rawlabs.snapi.frontend.inferrer.api.{ SqlQueryInferrerInput, SqlQueryInferrerOutput, @@ -112,15 +112,15 @@ class PostgreSQLInferAndReadEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 3) - Right(ValueParam(Rql2StringType())) + Right(ValueParam(SnapiStringType())) } override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ValueParam(Rql2StringType())) - case "port" => Right(ValueParam(Rql2IntType())) - case "username" => Right(ValueParam(Rql2StringType())) - case "password" => Right(ValueParam(Rql2StringType())) + case "host" => Right(ValueParam(SnapiStringType())) + case "port" => Right(ValueParam(SnapiIntType())) + case "username" => Right(ValueParam(SnapiStringType())) + case "password" => Right(ValueParam(SnapiStringType())) } } @@ -136,7 +136,7 @@ class PostgreSQLInferAndReadEntry extends SugarEntryExtension { val table = FunAppArg(StringConst(getStringValue(mandatoryArgs(2))), None) val readType = FunAppArg(TypeExp(t), None) val optArgs = - optionalArgs.map { case (idn, ValueArg(Rql2StringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } + optionalArgs.map { case (idn, ValueArg(SnapiStringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } FunApp( Proj(PackageIdnExp("PostgreSQL"), "Read"), Vector(db, schema, table, readType) ++ optArgs @@ -195,7 +195,7 @@ class PostgreSQLInferAndReadEntry extends SugarEntryExtension { inputFormatDescriptor <- programContext.infer(inferrerProperties); SqlTableInferrerOutput(tipe) = inputFormatDescriptor ) yield { - inferTypeToRql2Type(tipe, false, false) + inferTypeToSnapiType(tipe, false, false) } } } @@ -272,17 +272,17 @@ class PostgreSQLReadEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 4) if (idx == 3) Right(TypeParam(AnythingType())) - else Right(ExpParam(Rql2StringType())) + else Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some(Set("host", "username", "port", "password")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ExpParam(Rql2StringType())) - case "port" => Right(ExpParam(Rql2IntType())) - case "username" => Right(ExpParam(Rql2StringType())) - case "password" => Right(ExpParam(Rql2StringType())) + case "host" => Right(ExpParam(SnapiStringType())) + case "port" => Right(ExpParam(SnapiIntType())) + case "username" => Right(ExpParam(SnapiStringType())) + case "password" => Right(ExpParam(SnapiStringType())) } } @@ -396,15 +396,15 @@ class PostgreSQLInferAndQueryEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 2) - Right(ValueParam(Rql2StringType())) + Right(ValueParam(SnapiStringType())) } override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ValueParam(Rql2StringType())) - case "port" => Right(ValueParam(Rql2IntType())) - case "username" => Right(ValueParam(Rql2StringType())) - case "password" => Right(ValueParam(Rql2StringType())) + case "host" => Right(ValueParam(SnapiStringType())) + case "port" => Right(ValueParam(SnapiIntType())) + case "username" => Right(ValueParam(SnapiStringType())) + case "password" => Right(ValueParam(SnapiStringType())) } } @@ -451,7 +451,7 @@ class PostgreSQLInferAndQueryEntry extends SugarEntryExtension { inputFormatDescriptor <- programContext.infer(inferrerProperties); SqlQueryInferrerOutput(tipe) = inputFormatDescriptor ) yield { - inferTypeToRql2Type(tipe, false, false) + inferTypeToSnapiType(tipe, false, false) } } @@ -466,7 +466,7 @@ class PostgreSQLInferAndQueryEntry extends SugarEntryExtension { val query = FunAppArg(StringConst(getStringValue(mandatoryArgs(1))), None) val readType = FunAppArg(TypeExp(t), None) val optArgs = - optionalArgs.map { case (idn, ValueArg(Rql2StringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } + optionalArgs.map { case (idn, ValueArg(SnapiStringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } FunApp( Proj(PackageIdnExp("PostgreSQL"), "Query"), Vector(db, query, readType) ++ optArgs @@ -542,17 +542,17 @@ class PostgreSQLQueryEntry extends EntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 3) if (idx == 2) Right(TypeParam(AnythingType())) - else Right(ExpParam(Rql2StringType())) + else Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some(Set("host", "username", "port", "password")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ExpParam(Rql2StringType())) - case "port" => Right(ExpParam(Rql2IntType())) - case "username" => Right(ExpParam(Rql2StringType())) - case "password" => Right(ExpParam(Rql2StringType())) + case "host" => Right(ExpParam(SnapiStringType())) + case "port" => Right(ExpParam(SnapiIntType())) + case "username" => Right(ExpParam(SnapiStringType())) + case "password" => Right(ExpParam(SnapiStringType())) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/RecordPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/RecordPackage.scala similarity index 90% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/RecordPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/RecordPackage.scala index 0c645a2de..77c487e72 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/RecordPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/RecordPackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.{AnythingType, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpArg, @@ -25,8 +25,8 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ Param, ValueParam } -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.source.{Rql2RecordType, _} +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.source.{SnapiRecordType, _} object RecordPackageBuilder { object Build { @@ -111,8 +111,8 @@ class RecordBuildEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { Right( - Rql2RecordType( - optionalArgs.map { case (i, arg: ExpArg) => Rql2AttrType(i, arg.t) }.to + SnapiRecordType( + optionalArgs.map { case (i, arg: ExpArg) => SnapiAttrType(i, arg.t) }.to ) ) } @@ -153,9 +153,9 @@ class RecordConcatEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val Rql2RecordType(atts1, props1) = mandatoryArgs(0).t - val Rql2RecordType(atts2, props2) = mandatoryArgs(1).t - Right(Rql2RecordType(atts1 ++ atts2, props1 ++ props2)) + val SnapiRecordType(atts1, props1) = mandatoryArgs(0).t + val SnapiRecordType(atts2, props2) = mandatoryArgs(1).t + Right(SnapiRecordType(atts1 ++ atts2, props1 ++ props2)) } } @@ -192,7 +192,7 @@ class RecordFieldsEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2ListType(Rql2StringType())) + Right(SnapiListType(SnapiStringType())) } } @@ -230,7 +230,7 @@ class RecordAddFieldEntry extends EntryExtension { override def optionalParams: Option[Set[String]] = Some(Set.empty) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { - val t = prevMandatoryArgs(0).asInstanceOf[ExpArg].t.asInstanceOf[Rql2RecordType] + val t = prevMandatoryArgs(0).asInstanceOf[ExpArg].t.asInstanceOf[SnapiRecordType] if (t.atts.exists(att => att.idn == idn)) { Left("field already exists in record") } else { @@ -244,8 +244,8 @@ class RecordAddFieldEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val Rql2RecordType(atts, _) = mandatoryArgs.head.t - Right(Rql2RecordType(atts ++ optionalArgs.map(a => Rql2AttrType(a._1, a._2.t)))) + val SnapiRecordType(atts, _) = mandatoryArgs.head.t + Right(SnapiRecordType(atts ++ optionalArgs.map(a => SnapiAttrType(a._1, a._2.t)))) } } @@ -278,7 +278,7 @@ class RecordRemoveFieldEntry extends EntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { case 0 => Right(ExpParam(ExpectedRecordType(Set.empty))) - case 1 => Right(ValueParam(Rql2StringType())) + case 1 => Right(ValueParam(SnapiStringType())) } } @@ -287,12 +287,12 @@ class RecordRemoveFieldEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val t = mandatoryArgs(0).asInstanceOf[ExpArg].t.asInstanceOf[Rql2RecordType] + val t = mandatoryArgs(0).asInstanceOf[ExpArg].t.asInstanceOf[SnapiRecordType] val idn = getStringValue(mandatoryArgs(1)) if (!t.atts.exists(att => att.idn == idn)) { Left(s"field $idn not found") } else { - Right(Rql2RecordType(t.atts.filter(att => att.idn != idn))) + Right(SnapiRecordType(t.atts.filter(att => att.idn != idn))) } } @@ -326,7 +326,7 @@ class RecordGetFieldByIndexEntry extends EntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { case 0 => Right(ExpParam(ExpectedRecordType(Set.empty))) - case 1 => Right(ValueParam(Rql2IntType())) + case 1 => Right(ValueParam(SnapiIntType())) } } @@ -335,7 +335,7 @@ class RecordGetFieldByIndexEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - val t = mandatoryArgs(0).asInstanceOf[ExpArg].t.asInstanceOf[Rql2RecordType] + val t = mandatoryArgs(0).asInstanceOf[ExpArg].t.asInstanceOf[SnapiRecordType] val idx = getIntValue(mandatoryArgs(1)) if (idx >= 1 && idx <= t.atts.length) { Right(t.atts(idx - 1).tipe) diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/RegexPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/RegexPackage.scala similarity index 87% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/RegexPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/RegexPackage.scala index e52e3513e..a79373e12 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/RegexPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/RegexPackage.scala @@ -10,18 +10,18 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} -import com.rawlabs.snapi.frontend.rql2.source.{ - Rql2BoolType, - Rql2IsNullableTypeProperty, - Rql2IsTryableTypeProperty, - Rql2ListType, - Rql2StringType +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} +import com.rawlabs.snapi.frontend.snapi.source.{ + SnapiBoolType, + SnapiIsNullableTypeProperty, + SnapiIsTryableTypeProperty, + SnapiListType, + SnapiStringType } class RegexPackage extends PackageExtension { @@ -68,7 +68,7 @@ class RegexReplaceEntry extends EntryExtension { override def nrMandatoryParams: Int = 3 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2StringType())) + Right(ExpParam(SnapiStringType())) } override def returnType( @@ -76,7 +76,7 @@ class RegexReplaceEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2StringType(Set(Rql2IsTryableTypeProperty()))) + Right(SnapiStringType(Set(SnapiIsTryableTypeProperty()))) } } @@ -106,7 +106,7 @@ class RegexMatchesEntry extends EntryExtension { override def nrMandatoryParams: Int = 2 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2StringType())) + Right(ExpParam(SnapiStringType())) } override def returnType( @@ -114,7 +114,7 @@ class RegexMatchesEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2BoolType(Set(Rql2IsTryableTypeProperty()))) + Right(SnapiBoolType(Set(SnapiIsTryableTypeProperty()))) } } @@ -150,7 +150,7 @@ class RegexFirstMatchInEntry extends EntryExtension { override def nrMandatoryParams: Int = 2 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2StringType())) + Right(ExpParam(SnapiStringType())) } override def returnType( @@ -158,7 +158,7 @@ class RegexFirstMatchInEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2StringType(Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()))) + Right(SnapiStringType(Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty()))) } } @@ -193,7 +193,7 @@ class RegexGroupsEntry extends EntryExtension { override def nrMandatoryParams: Int = 2 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2StringType())) + Right(ExpParam(SnapiStringType())) } override def returnType( @@ -201,9 +201,9 @@ class RegexGroupsEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = Right( - Rql2ListType( - Rql2StringType(Set(Rql2IsNullableTypeProperty())), - Set(Rql2IsTryableTypeProperty()) + SnapiListType( + SnapiStringType(Set(SnapiIsNullableTypeProperty())), + Set(SnapiIsTryableTypeProperty()) ) ) diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/S3Package.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/S3Package.scala similarity index 81% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/S3Package.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/S3Package.scala index 3a7ce6e6d..919569f34 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/S3Package.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/S3Package.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2.source.{Rql2LocationType, Rql2StringType} -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} +import com.rawlabs.snapi.frontend.snapi.source.{SnapiLocationType, SnapiStringType} +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} class S3Package extends PackageExtension { @@ -56,15 +56,15 @@ class S3BuildEntry extends EntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx == 0) - Right(ExpParam(Rql2StringType())) + Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some(Set("region", "accessKey", "secretKey")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = idn match { - case "region" => Right(ExpParam(Rql2StringType())) - case "accessKey" => Right(ExpParam(Rql2StringType())) - case "secretKey" => Right(ExpParam(Rql2StringType())) + case "region" => Right(ExpParam(SnapiStringType())) + case "accessKey" => Right(ExpParam(SnapiStringType())) + case "secretKey" => Right(ExpParam(SnapiStringType())) } override def returnType( @@ -72,7 +72,7 @@ class S3BuildEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2LocationType()) + Right(SnapiLocationType()) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/SQLServerPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/SQLServerPackage.scala similarity index 92% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/SQLServerPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/SQLServerPackage.scala index 4661bdc21..45048e4df 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/SQLServerPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/SQLServerPackage.scala @@ -10,14 +10,14 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.errors.{ErrorCompilerMessage, InvalidSemantic} import com.rawlabs.snapi.frontend.base.source.{AnythingType, BaseNode, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpArg, @@ -30,7 +30,7 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ ValueArg, ValueParam } -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ import com.rawlabs.snapi.frontend.inferrer.api.{ SqlQueryInferrerInput, SqlQueryInferrerOutput, @@ -113,15 +113,15 @@ class SQLServerInferAndReadEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 3) - Right(ValueParam(Rql2StringType())) + Right(ValueParam(SnapiStringType())) } override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ValueParam(Rql2StringType())) - case "port" => Right(ValueParam(Rql2IntType())) - case "username" => Right(ValueParam(Rql2StringType())) - case "password" => Right(ValueParam(Rql2StringType())) + case "host" => Right(ValueParam(SnapiStringType())) + case "port" => Right(ValueParam(SnapiIntType())) + case "username" => Right(ValueParam(SnapiStringType())) + case "password" => Right(ValueParam(SnapiStringType())) } } @@ -137,7 +137,7 @@ class SQLServerInferAndReadEntry extends SugarEntryExtension { val table = FunAppArg(StringConst(getStringValue(mandatoryArgs(2))), None) val readType = FunAppArg(TypeExp(t), None) val optArgs = - optionalArgs.map { case (idn, ValueArg(Rql2StringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } + optionalArgs.map { case (idn, ValueArg(SnapiStringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } FunApp( Proj(PackageIdnExp("SQLServer"), "Read"), Vector(db, schema, table, readType) ++ optArgs @@ -196,7 +196,7 @@ class SQLServerInferAndReadEntry extends SugarEntryExtension { inputFormatDescriptor <- programContext.infer(inferrerProperties); SqlTableInferrerOutput(tipe) = inputFormatDescriptor ) yield { - inferTypeToRql2Type(tipe, false, false) + inferTypeToSnapiType(tipe, false, false) } } } @@ -273,17 +273,17 @@ class SQLServerReadEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 4) if (idx == 3) Right(TypeParam(AnythingType())) - else Right(ExpParam(Rql2StringType())) + else Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some(Set("host", "username", "port", "password")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ExpParam(Rql2StringType())) - case "port" => Right(ExpParam(Rql2IntType())) - case "username" => Right(ExpParam(Rql2StringType())) - case "password" => Right(ExpParam(Rql2StringType())) + case "host" => Right(ExpParam(SnapiStringType())) + case "port" => Right(ExpParam(SnapiIntType())) + case "username" => Right(ExpParam(SnapiStringType())) + case "password" => Right(ExpParam(SnapiStringType())) } } @@ -398,15 +398,15 @@ class SQLServerInferAndQueryEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 2) - Right(ValueParam(Rql2StringType())) + Right(ValueParam(SnapiStringType())) } override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ValueParam(Rql2StringType())) - case "port" => Right(ValueParam(Rql2IntType())) - case "username" => Right(ValueParam(Rql2StringType())) - case "password" => Right(ValueParam(Rql2StringType())) + case "host" => Right(ValueParam(SnapiStringType())) + case "port" => Right(ValueParam(SnapiIntType())) + case "username" => Right(ValueParam(SnapiStringType())) + case "password" => Right(ValueParam(SnapiStringType())) } } @@ -453,7 +453,7 @@ class SQLServerInferAndQueryEntry extends SugarEntryExtension { inputFormatDescriptor <- programContext.infer(inferrerProperties); SqlQueryInferrerOutput(tipe) = inputFormatDescriptor ) yield { - inferTypeToRql2Type(tipe, false, false) + inferTypeToSnapiType(tipe, false, false) } } @@ -468,7 +468,7 @@ class SQLServerInferAndQueryEntry extends SugarEntryExtension { val query = FunAppArg(StringConst(getStringValue(mandatoryArgs(1))), None) val readType = FunAppArg(TypeExp(t), None) val optArgs = - optionalArgs.map { case (idn, ValueArg(Rql2StringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } + optionalArgs.map { case (idn, ValueArg(SnapiStringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) } FunApp( Proj(PackageIdnExp("SQLServer"), "Query"), Vector(db, query, readType) ++ optArgs @@ -543,17 +543,17 @@ class SQLServerQueryEntry extends EntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 3) if (idx == 2) Right(TypeParam(AnythingType())) - else Right(ExpParam(Rql2StringType())) + else Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some(Set("host", "username", "port", "password")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "host" => Right(ExpParam(Rql2StringType())) - case "port" => Right(ExpParam(Rql2IntType())) - case "username" => Right(ExpParam(Rql2StringType())) - case "password" => Right(ExpParam(Rql2StringType())) + case "host" => Right(ExpParam(SnapiStringType())) + case "port" => Right(ExpParam(SnapiIntType())) + case "username" => Right(ExpParam(SnapiStringType())) + case "password" => Right(ExpParam(SnapiStringType())) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/ShortPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/ShortPackage.scala similarity index 81% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/ShortPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/ShortPackage.scala index a911f934c..9fe1fe7b3 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/ShortPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/ShortPackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} +import com.rawlabs.snapi.frontend.snapi.source._ object ShortPackageBuilder { @@ -74,11 +74,11 @@ class ShortFromEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { // Type as Try when passed a string in case the content doesn't parse. - val props: Set[Rql2TypeProperty] = mandatoryArgs(0).t match { - case _: Rql2StringType => Set(Rql2IsTryableTypeProperty()) - case _ => Set.empty[Rql2TypeProperty] + val props: Set[SnapiTypeProperty] = mandatoryArgs(0).t match { + case _: SnapiStringType => Set(SnapiIsTryableTypeProperty()) + case _ => Set.empty[SnapiTypeProperty] } - Right(Rql2ShortType(props)) + Right(SnapiShortType(props)) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/SnowflakePackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/SnowflakePackage.scala similarity index 87% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/SnowflakePackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/SnowflakePackage.scala index a24f18fc3..72c42e4d2 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/SnowflakePackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/SnowflakePackage.scala @@ -10,15 +10,15 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.errors.{ErrorCompilerMessage, InvalidSemantic} import com.rawlabs.snapi.frontend.base.source.{AnythingType, BaseNode, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpArg, @@ -113,21 +113,21 @@ class SnowflakeInferAndReadEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 3) - Right(ValueParam(Rql2StringType())) + Right(ValueParam(SnapiStringType())) } override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "accountID" => Right(ValueParam(Rql2StringType())) - case "username" => Right(ValueParam(Rql2StringType())) - case "password" => Right(ValueParam(Rql2StringType())) + case "accountID" => Right(ValueParam(SnapiStringType())) + case "username" => Right(ValueParam(SnapiStringType())) + case "password" => Right(ValueParam(SnapiStringType())) case "options" => Right( ValueParam( - Rql2ListType( - Rql2RecordType( + SnapiListType( + SnapiRecordType( Vector( - Rql2AttrType("_1", Rql2StringType(Set(Rql2IsNullableTypeProperty()))), - Rql2AttrType("_2", Rql2StringType(Set(Rql2IsNullableTypeProperty()))) + SnapiAttrType("_1", SnapiStringType(Set(SnapiIsNullableTypeProperty()))), + SnapiAttrType("_2", SnapiStringType(Set(SnapiIsNullableTypeProperty()))) ) ) ) @@ -148,13 +148,13 @@ class SnowflakeInferAndReadEntry extends SugarEntryExtension { val table = FunAppArg(StringConst(getStringValue(mandatoryArgs(2))), None) val readType = FunAppArg(TypeExp(t), None) val optArgs = optionalArgs.map { - case (idn, ValueArg(Rql2StringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) - case (idn, ValueArg(Rql2ListValue(v: Seq[Rql2RecordValue]), _)) => + case (idn, ValueArg(SnapiStringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) + case (idn, ValueArg(SnapiListValue(v: Seq[SnapiRecordValue]), _)) => val records = v.map { r => val fields = r.v.zipWithIndex.map { - case (Rql2RecordAttr(_, Rql2OptionValue(Some(Rql2StringValue(v)))), idx) => + case (SnapiRecordAttr(_, SnapiOptionValue(Some(SnapiStringValue(v)))), idx) => s"_${idx + 1}" -> NullablePackageBuilder.Build(StringConst(v)) - case (Rql2RecordAttr(_, Rql2OptionValue(None)), idx) => s"_${idx + 1}" -> NullablePackageBuilder.Empty(t) + case (SnapiRecordAttr(_, SnapiOptionValue(None)), idx) => s"_${idx + 1}" -> NullablePackageBuilder.Empty(t) }.toVector RecordPackageBuilder.Build(fields) } @@ -224,7 +224,7 @@ class SnowflakeInferAndReadEntry extends SugarEntryExtension { inputFormatDescriptor <- programContext.infer(inferrerProperties); SqlTableInferrerOutput(tipe) = inputFormatDescriptor ) yield { - inferTypeToRql2Type(tipe, makeNullable = false, makeTryable = false) + inferTypeToSnapiType(tipe, makeNullable = false, makeTryable = false) } } } @@ -301,23 +301,23 @@ class SnowflakeReadEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 4) if (idx == 3) Right(TypeParam(AnythingType())) - else Right(ExpParam(Rql2StringType())) + else Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some(Set("accountID", "username", "password", "options")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "accountID" => Right(ExpParam(Rql2StringType())) - case "username" => Right(ExpParam(Rql2StringType())) - case "password" => Right(ExpParam(Rql2StringType())) + case "accountID" => Right(ExpParam(SnapiStringType())) + case "username" => Right(ExpParam(SnapiStringType())) + case "password" => Right(ExpParam(SnapiStringType())) case "options" => Right( ExpParam( - Rql2ListType( - Rql2RecordType( + SnapiListType( + SnapiRecordType( Vector( - Rql2AttrType("_1", Rql2StringType(Set(Rql2IsNullableTypeProperty()))), - Rql2AttrType("_2", Rql2StringType(Set(Rql2IsNullableTypeProperty()))) + SnapiAttrType("_1", SnapiStringType(Set(SnapiIsNullableTypeProperty()))), + SnapiAttrType("_2", SnapiStringType(Set(SnapiIsNullableTypeProperty()))) ) ) ) @@ -442,21 +442,21 @@ class SnowflakeInferAndQueryEntry extends SugarEntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 2) - Right(ValueParam(Rql2StringType())) + Right(ValueParam(SnapiStringType())) } override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "accountID" => Right(ValueParam(Rql2StringType())) - case "username" => Right(ValueParam(Rql2StringType())) - case "password" => Right(ValueParam(Rql2StringType())) + case "accountID" => Right(ValueParam(SnapiStringType())) + case "username" => Right(ValueParam(SnapiStringType())) + case "password" => Right(ValueParam(SnapiStringType())) case "options" => Right( ValueParam( - Rql2ListType( - Rql2RecordType( + SnapiListType( + SnapiRecordType( Vector( - Rql2AttrType("_1", Rql2StringType(Set(Rql2IsNullableTypeProperty()))), - Rql2AttrType("_2", Rql2StringType(Set(Rql2IsNullableTypeProperty()))) + SnapiAttrType("_1", SnapiStringType(Set(SnapiIsNullableTypeProperty()))), + SnapiAttrType("_2", SnapiStringType(Set(SnapiIsNullableTypeProperty()))) ) ) ) @@ -515,7 +515,7 @@ class SnowflakeInferAndQueryEntry extends SugarEntryExtension { inputFormatDescriptor <- programContext.infer(inferrerProperties); SqlQueryInferrerOutput(tipe) = inputFormatDescriptor ) yield { - inferTypeToRql2Type(tipe, makeNullable = false, makeTryable = false) + inferTypeToSnapiType(tipe, makeNullable = false, makeTryable = false) } } @@ -530,14 +530,14 @@ class SnowflakeInferAndQueryEntry extends SugarEntryExtension { val query = FunAppArg(StringConst(getStringValue(mandatoryArgs(1))), None) val readType = FunAppArg(TypeExp(t), None) val optArgs = optionalArgs.map { - case (idn, ValueArg(Rql2StringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) - case (idn, ValueArg(Rql2ListValue(v: Seq[Rql2RecordValue]), _)) => + case (idn, ValueArg(SnapiStringValue(s), _)) => FunAppArg(StringConst(s), Some(idn)) + case (idn, ValueArg(SnapiListValue(v: Seq[SnapiRecordValue]), _)) => // building a List of tuples val records = v.map { r => val fields = r.v.zipWithIndex.map { - case (Rql2RecordAttr(_, Rql2OptionValue(Some(Rql2StringValue(v)))), idx) => + case (SnapiRecordAttr(_, SnapiOptionValue(Some(SnapiStringValue(v)))), idx) => s"_${idx + 1}" -> NullablePackageBuilder.Build(StringConst(v)) - case (Rql2RecordAttr(_, Rql2OptionValue(None)), idx) => s"_${idx + 1}" -> NullablePackageBuilder.Empty(t) + case (SnapiRecordAttr(_, SnapiOptionValue(None)), idx) => s"_${idx + 1}" -> NullablePackageBuilder.Empty(t) }.toVector RecordPackageBuilder.Build(fields) @@ -620,23 +620,23 @@ class SnowflakeQueryEntry extends EntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 3) if (idx == 2) Right(TypeParam(AnythingType())) - else Right(ExpParam(Rql2StringType())) + else Right(ExpParam(SnapiStringType())) } override def optionalParams: Option[Set[String]] = Some(Set("accountID", "username", "password", "options")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "accountID" => Right(ExpParam(Rql2StringType())) - case "username" => Right(ExpParam(Rql2StringType())) - case "password" => Right(ExpParam(Rql2StringType())) + case "accountID" => Right(ExpParam(SnapiStringType())) + case "username" => Right(ExpParam(SnapiStringType())) + case "password" => Right(ExpParam(SnapiStringType())) case "options" => Right( ValueParam( - Rql2ListType( - Rql2RecordType( + SnapiListType( + SnapiRecordType( Vector( - Rql2AttrType("_1", Rql2StringType(Set(Rql2IsNullableTypeProperty()))), - Rql2AttrType("_2", Rql2StringType(Set(Rql2IsNullableTypeProperty()))) + SnapiAttrType("_1", SnapiStringType(Set(SnapiIsNullableTypeProperty()))), + SnapiAttrType("_2", SnapiStringType(Set(SnapiIsNullableTypeProperty()))) ) ) ) diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/StringPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/StringPackage.scala similarity index 88% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/StringPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/StringPackage.scala index 72d52e036..1426dc187 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/StringPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/StringPackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpParam, @@ -24,7 +24,7 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ Param, ShortEntryExtension } -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ class StringPackage extends PackageExtension { @@ -39,7 +39,7 @@ class StringPackage extends PackageExtension { object StringPackage extends StringPackage { def outputWriteSupport(dataType: Type): Boolean = { - dataType.isInstanceOf[Rql2StringType] // nullable/tryable or not. All are supported + dataType.isInstanceOf[SnapiStringType] // nullable/tryable or not. All are supported } } @@ -71,19 +71,19 @@ class StringFromEntry extends EntryExtension { Right( ExpParam( OneOfType( - Rql2ByteType(), - Rql2ShortType(), - Rql2IntType(), - Rql2LongType(), - Rql2FloatType(), - Rql2DoubleType(), - Rql2DecimalType(), - Rql2BoolType(), - Rql2DateType(), - Rql2TimeType(), - Rql2TimestampType(), - Rql2IntervalType(), - Rql2LocationType() + SnapiByteType(), + SnapiShortType(), + SnapiIntType(), + SnapiLongType(), + SnapiFloatType(), + SnapiDoubleType(), + SnapiDecimalType(), + SnapiBoolType(), + SnapiDateType(), + SnapiTimeType(), + SnapiTimestampType(), + SnapiIntervalType(), + SnapiLocationType() ) ) ) @@ -93,7 +93,7 @@ class StringFromEntry extends EntryExtension { mandatoryArgs: Seq[Arg], optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] - )(implicit programContext: ProgramContext): Either[String, Type] = Right(Rql2StringType()) + )(implicit programContext: ProgramContext): Either[String, Type] = Right(SnapiStringType()) } @@ -115,13 +115,13 @@ class StringReadEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2LocationType())) + Right(ExpParam(SnapiLocationType())) } override def optionalParams: Option[Set[String]] = Some(Set("encoding")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { - Right(ExpParam(Rql2StringType())) + Right(ExpParam(SnapiStringType())) } override def returnType( @@ -129,7 +129,7 @@ class StringReadEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2StringType(Set(Rql2IsTryableTypeProperty()))) + Right(SnapiStringType(Set(SnapiIsTryableTypeProperty()))) } } @@ -138,8 +138,8 @@ class StringContainsEntry extends ShortEntryExtension( "String", "Contains", - Vector(Rql2StringType(), Rql2StringType()), - Rql2BoolType(), + Vector(SnapiStringType(), SnapiStringType()), + SnapiBoolType(), EntryDoc( summary = "Returns true if a given string contains another given string.", params = List( @@ -158,8 +158,8 @@ class StringTrimEntry extends ShortEntryExtension( "String", "Trim", - Vector(Rql2StringType()), - Rql2StringType(), + Vector(SnapiStringType()), + SnapiStringType(), EntryDoc( summary = "Removes white space characters from the beginning and end of a string.", params = List(ParamDoc("string", TypeDoc(List("string")), "The string to be trimmed.")), @@ -175,8 +175,8 @@ class StringLTrimEntry extends ShortEntryExtension( "String", "LTrim", - Vector(Rql2StringType()), - Rql2StringType(), + Vector(SnapiStringType()), + SnapiStringType(), EntryDoc( summary = "Removes white space characters from the beginning of a string.", params = List(ParamDoc("string", TypeDoc(List("string")), "The string to be trimmed.")), @@ -193,8 +193,8 @@ class StringRTrimEntry extends ShortEntryExtension( "String", "RTrim", - Vector(Rql2StringType()), - Rql2StringType(), + Vector(SnapiStringType()), + SnapiStringType(), EntryDoc( summary = "Removes white space characters from the end of a string.", params = List(ParamDoc("string", TypeDoc(List("string")), "The string to be trimmed.")), @@ -235,9 +235,9 @@ class StringReplaceEntry extends EntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx < 3) idx match { - case 0 => Right(ExpParam(Rql2StringType())) - case 1 => Right(ExpParam(Rql2StringType())) - case 2 => Right(ExpParam(Rql2StringType())) + case 0 => Right(ExpParam(SnapiStringType())) + case 1 => Right(ExpParam(SnapiStringType())) + case 2 => Right(ExpParam(SnapiStringType())) } } @@ -246,7 +246,7 @@ class StringReplaceEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2StringType()) + Right(SnapiStringType()) } } @@ -255,8 +255,8 @@ class StringReverseEntry extends ShortEntryExtension( "String", "Reverse", - Vector(Rql2StringType()), - Rql2StringType(), + Vector(SnapiStringType()), + SnapiStringType(), EntryDoc( summary = "Reverses a string.", params = List(ParamDoc("string", TypeDoc(List("string")), "The string to reverse.")), @@ -269,8 +269,8 @@ class StringReplicateEntry extends ShortEntryExtension( "String", "Replicate", - Vector(Rql2StringType(), Rql2IntType()), - Rql2StringType(), + Vector(SnapiStringType(), SnapiIntType()), + SnapiStringType(), EntryDoc( summary = "Replicates a string by coping the substring for the specific number of repetitions.", params = List( @@ -289,8 +289,8 @@ class StringUpperEntry extends ShortEntryExtension( "String", "Upper", - Vector(Rql2StringType()), - Rql2StringType(), + Vector(SnapiStringType()), + SnapiStringType(), EntryDoc( summary = "Convert a string to uppercase.", params = List(ParamDoc("string", TypeDoc(List("string")), "The string to convert to uppercase.")), @@ -306,8 +306,8 @@ class StringLowerEntry extends ShortEntryExtension( "String", "Lower", - Vector(Rql2StringType()), - Rql2StringType(), + Vector(SnapiStringType()), + SnapiStringType(), EntryDoc( summary = "Convert a string to lowercase.", params = List(ParamDoc("string", TypeDoc(List("string")), "The string to convert to lowercase.")), @@ -323,8 +323,8 @@ class StringSplitEntry extends ShortEntryExtension( "String", "Split", - Vector(Rql2StringType(), Rql2StringType()), - Rql2ListType(Rql2StringType()), + Vector(SnapiStringType(), SnapiStringType()), + SnapiListType(SnapiStringType()), EntryDoc( summary = "Split a string into a list of strings given a separator.", params = List( @@ -349,8 +349,8 @@ class StringLengthEntry extends ShortEntryExtension( "String", "Length", - Vector(Rql2StringType()), - Rql2IntType(), + Vector(SnapiStringType()), + SnapiIntType(), EntryDoc( summary = "Compute the size of a string.", params = List(ParamDoc("string", TypeDoc(List("string")), "The string to compute the size.")), @@ -362,8 +362,8 @@ class StringSubStringEntry extends ShortEntryExtension( "String", "SubString", - Vector(Rql2StringType(), Rql2IntType(), Rql2IntType()), - Rql2StringType(), + Vector(SnapiStringType(), SnapiIntType(), SnapiIntType()), + SnapiStringType(), EntryDoc( summary = """Extract a substring from a string, given the start index and length of extraction.""", info = Some("""The index starts at 1. A negative number as the length means the remainder of the string."""), @@ -384,8 +384,8 @@ class StringCountSubStringEntry extends ShortEntryExtension( "String", "CountSubString", - Vector(Rql2StringType(), Rql2StringType()), - Rql2IntType(), + Vector(SnapiStringType(), SnapiStringType()), + SnapiIntType(), EntryDoc( summary = "Count the number of occurrences of a substring in a string.", params = List( @@ -405,8 +405,8 @@ class StringStartsWithEntry extends ShortEntryExtension( "String", "StartsWith", - Vector(Rql2StringType(), Rql2StringType()), - Rql2BoolType(), + Vector(SnapiStringType(), SnapiStringType()), + SnapiBoolType(), EntryDoc( summary = """Check if a string starts with a given prefix.""", params = List( @@ -430,8 +430,8 @@ class StringEmptyEntry extends ShortEntryExtension( "String", "Empty", - Vector(Rql2StringType()), - Rql2BoolType(), + Vector(SnapiStringType()), + SnapiBoolType(), EntryDoc( summary = """Returns true the string is empty.""", params = List(ParamDoc("string", TypeDoc(List("string")), "The string to check if empty.")), @@ -447,8 +447,8 @@ class Base64EntryExtension extends ShortEntryExtension( "String", "Base64", - Vector(Rql2StringType()), - Rql2StringType(), + Vector(SnapiStringType()), + SnapiStringType(), EntryDoc( summary = "Returns the base64 encoding of a string", params = List(ParamDoc("string", TypeDoc(List("string")), "The string to encode as base64.")), @@ -461,8 +461,8 @@ class StringEncodeEntry extends ShortEntryExtension( "String", "Encode", - Vector(Rql2StringType(), Rql2StringType()), - Rql2BinaryType(Set(Rql2IsTryableTypeProperty())), + Vector(SnapiStringType(), SnapiStringType()), + SnapiBinaryType(Set(SnapiIsTryableTypeProperty())), EntryDoc( summary = "Converts a string to a binary, given an encoding.", params = List( @@ -478,8 +478,8 @@ class StringDecodeEntry extends ShortEntryExtension( "String", "Decode", - Vector(Rql2BinaryType(), Rql2StringType()), - Rql2StringType(Set(Rql2IsTryableTypeProperty())), + Vector(SnapiBinaryType(), SnapiStringType()), + SnapiStringType(Set(SnapiIsTryableTypeProperty())), EntryDoc( summary = "Builds a string from a binary, given an encoding.", params = List( @@ -503,8 +503,8 @@ class StringLevenshteinDistanceEntry extends ShortEntryExtension( "String", "LevenshteinDistance", - Vector(Rql2StringType(), Rql2StringType()), - Rql2IntType(), + Vector(SnapiStringType(), SnapiStringType()), + SnapiIntType(), EntryDoc( summary = """Calculates the Levenshtein distance between two strings.""", info = Some( @@ -555,7 +555,7 @@ class StringReadLinesEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2LocationType())) + Right(ExpParam(SnapiLocationType())) } override def optionalParams: Option[Set[String]] = Some(Set("encoding")) @@ -565,7 +565,7 @@ class StringReadLinesEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2IterableType(Rql2StringType())) + Right(SnapiIterableType(SnapiStringType())) } } @@ -573,8 +573,8 @@ class StringCapitalizeEntry extends ShortEntryExtension( "String", "Capitalize", - Vector(Rql2StringType()), - Rql2StringType(), + Vector(SnapiStringType()), + SnapiStringType(), EntryDoc( summary = "Makes the first character of a string be uppercase and the rest lowercase.", params = List(ParamDoc("string", TypeDoc(List("string")), "The string to be capitalized.")), diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/SuccessPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/SuccessPackage.scala similarity index 76% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/SuccessPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/SuccessPackage.scala index c8a1a7a1f..ea80c5b75 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/SuccessPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/SuccessPackage.scala @@ -10,21 +10,21 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, PackageDoc} import com.rawlabs.snapi.frontend.base.source.{AnythingType, Type} -import com.rawlabs.snapi.frontend.rql2.source.{ +import com.rawlabs.snapi.frontend.snapi.source.{ Exp, FunApp, FunAppArg, PackageIdnExp, Proj, - Rql2IsTryableTypeProperty, - Rql2TypeWithProperties + SnapiIsTryableTypeProperty, + SnapiTypeWithProperties } -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, EntryExtension, ExpParam, PackageExtension, Param} object SuccessPackageBuilder { @@ -63,11 +63,11 @@ class SuccessBuildEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { mandatoryArgs(0).t match { - case x: Rql2TypeWithProperties if x.props.contains(Rql2IsTryableTypeProperty()) => + case x: SnapiTypeWithProperties if x.props.contains(SnapiIsTryableTypeProperty()) => return Left("argument is tryable") case _ => } - val t = addProp(mandatoryArgs(0).t, Rql2IsTryableTypeProperty()) + val t = addProp(mandatoryArgs(0).t, SnapiIsTryableTypeProperty()) Right(t) } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TestPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TestPackage.scala similarity index 79% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TestPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TestPackage.scala index 81ea0abdb..82d087e62 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TestPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TestPackage.scala @@ -10,14 +10,14 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, PackageDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions._ -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.source.Exp +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions._ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.source.Exp class TestPackage extends PackageExtension { @@ -39,7 +39,7 @@ class MandatoryExpArgsEntry extends EntryExtension { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx <= 2) - Right(ExpParam(Rql2IntType())) + Right(ExpParam(SnapiIntType())) } override def returnType( @@ -47,7 +47,7 @@ class MandatoryExpArgsEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2IntType()) + Right(SnapiIntType()) } } @@ -59,7 +59,7 @@ class MandatoryValueArgsEntry extends MandatoryExpArgsEntry { override def entryName: String = "MandatoryValueArgs" override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = - Right(ValueParam(Rql2IntType())) + Right(ValueParam(SnapiIntType())) } class OptionalExpArgsTestEntry extends EntryExtension { @@ -73,19 +73,19 @@ class OptionalExpArgsTestEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = - Right(ExpParam(Rql2IntType())) + Right(ExpParam(SnapiIntType())) override def optionalParams: Option[Set[String]] = Some(Set("x", "y")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = - Right(ExpParam(Rql2IntType())) + Right(ExpParam(SnapiIntType())) override def returnType( mandatoryArgs: Seq[Arg], optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2IntType()) + Right(SnapiIntType()) } } @@ -101,19 +101,19 @@ class OptionalValueArgSugar extends SugarEntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = - Right(ExpParam(Rql2IntType())) + Right(ExpParam(SnapiIntType())) override def optionalParams: Option[Set[String]] = Some(Set("x")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = - Right(ValueParam(Rql2IntType())) + Right(ValueParam(SnapiIntType())) override def returnType( mandatoryArgs: Seq[Arg], optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2IntType()) + Right(SnapiIntType()) } override def desugar( @@ -125,7 +125,7 @@ class OptionalValueArgSugar extends SugarEntryExtension { )(implicit programContext: ProgramContext): Exp = { val mandatory = FunAppArg(mandatoryArgs.head.asInstanceOf[ExpArg].e, None) val optionalX = { - val arg = optionalArgs.find(_._1 == "x").get._2.asInstanceOf[ValueArg].v.asInstanceOf[Rql2IntValue] + val arg = optionalArgs.find(_._1 == "x").get._2.asInstanceOf[ValueArg].v.asInstanceOf[SnapiIntValue] FunAppArg(IntConst(arg.v.toString), Some("x")) } val optionalY = FunAppArg(IntConst("10"), Some("y")) @@ -138,7 +138,7 @@ class OptionalValueArgsTestEntry extends OptionalExpArgsTestEntry { override def entryName: String = "OptionalValueArgs" override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = - Right(ValueParam(Rql2IntType())) + Right(ValueParam(SnapiIntType())) } @@ -155,14 +155,14 @@ class VarExpArgsTestEntry extends EntryExtension { override def hasVarArgs: Boolean = true override def getVarParam(prevMandatoryArgs: Seq[Arg], prevVarArgs: Seq[Arg], idx: Int): Either[String, Param] = - Right(ExpParam(Rql2IntType())) + Right(ExpParam(SnapiIntType())) override def returnType( mandatoryArgs: Seq[Arg], optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2IntType()) + Right(SnapiIntType()) } } @@ -172,7 +172,7 @@ class VarValueArgsTestEntry extends VarExpArgsTestEntry { override def entryName: String = "VarValueArgs" override def getVarParam(prevMandatoryArgs: Seq[Arg], prevVarArgs: Seq[Arg], idx: Int): Either[String, Param] = - Right(ValueParam(Rql2IntType())) + Right(ValueParam(SnapiIntType())) } @@ -189,14 +189,14 @@ class VarValueArgSugarTestEntry extends SugarEntryExtension { override def hasVarArgs: Boolean = true override def getVarParam(prevMandatoryArgs: Seq[Arg], prevVarArgs: Seq[Arg], idx: Int): Either[String, Param] = - Right(ValueParam(Rql2IntType())) + Right(ValueParam(SnapiIntType())) override def returnType( mandatoryArgs: Seq[Arg], optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2IntType()) + Right(SnapiIntType()) } override def desugar( @@ -209,7 +209,7 @@ class VarValueArgSugarTestEntry extends SugarEntryExtension { val varArg1 = FunAppArg(IntConst("1"), None) val varArg2 = FunAppArg(IntConst("2"), None) val valueArgs = - varArgs.map { case ValueArg(v, _) => FunAppArg(IntConst(v.asInstanceOf[Rql2IntValue].v.toString), None) } + varArgs.map { case ValueArg(v, _) => FunAppArg(IntConst(v.asInstanceOf[SnapiIntValue].v.toString), None) } FunApp(Proj(PackageIdnExp("TestPackage"), "VarValueArgs"), Vector(varArg1, varArg2) ++ valueArgs) } @@ -228,14 +228,14 @@ class VarNullableStringValueTestEntry extends EntryExtension { override def hasVarArgs: Boolean = true override def getVarParam(prevMandatoryArgs: Seq[Arg], prevVarArgs: Seq[Arg], idx: Int): Either[String, Param] = - Right(ValueParam(Rql2StringType(Set(Rql2IsNullableTypeProperty())))) + Right(ValueParam(SnapiStringType(Set(SnapiIsNullableTypeProperty())))) override def returnType( mandatoryArgs: Seq[Arg], optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2StringType()) + Right(SnapiStringType()) } } @@ -253,14 +253,14 @@ class VarNullableStringExpTestEntry extends EntryExtension { override def hasVarArgs: Boolean = true override def getVarParam(prevMandatoryArgs: Seq[Arg], prevVarArgs: Seq[Arg], idx: Int): Either[String, Param] = - Right(ExpParam(Rql2StringType(Set(Rql2IsNullableTypeProperty())))) + Right(ExpParam(SnapiStringType(Set(SnapiIsNullableTypeProperty())))) override def returnType( mandatoryArgs: Seq[Arg], optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2StringType(Set(Rql2IsNullableTypeProperty()))) + Right(SnapiStringType(Set(SnapiIsNullableTypeProperty()))) } } @@ -276,21 +276,22 @@ class StrictArgsTestEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = idx match { - case 0 => Right(ExpParam(Rql2ListType(Rql2IntType()))) + case 0 => Right(ExpParam(SnapiListType(SnapiIntType()))) } override def optionalParams: Option[Set[String]] = Some(Set("r")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = idn match { - case "r" => - Right(ExpParam(Rql2RecordType(Vector(Rql2AttrType("a", Rql2LongType()), Rql2AttrType("b", Rql2FloatType()))))) + case "r" => Right( + ExpParam(SnapiRecordType(Vector(SnapiAttrType("a", SnapiLongType()), SnapiAttrType("b", SnapiFloatType())))) + ) } override def returnType( mandatoryArgs: Seq[Arg], optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] - )(implicit programContext: ProgramContext): Either[String, Type] = Right(Rql2FloatType()) + )(implicit programContext: ProgramContext): Either[String, Type] = Right(SnapiFloatType()) } @@ -305,14 +306,14 @@ class StrictArgsColPassThroughTestEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = idx match { - case 0 => Right(ExpParam(Rql2IterableType(Rql2IntType()))) + case 0 => Right(ExpParam(SnapiIterableType(SnapiIntType()))) } override def returnType( mandatoryArgs: Seq[Arg], optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] - )(implicit programContext: ProgramContext): Either[String, Type] = Right(Rql2IterableType(Rql2IntType())) + )(implicit programContext: ProgramContext): Either[String, Type] = Right(SnapiIterableType(SnapiIntType())) } @@ -327,7 +328,7 @@ class StrictArgsColConsumeTestEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = idx match { - case 0 => Right(ExpParam(Rql2IterableType(Rql2IntType()))) + case 0 => Right(ExpParam(SnapiIterableType(SnapiIntType()))) } override def returnType( @@ -335,7 +336,7 @@ class StrictArgsColConsumeTestEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = - Right(Rql2ListType(Rql2IntType(), Set(Rql2IsTryableTypeProperty()))) + Right(SnapiListType(SnapiIntType(), Set(SnapiIsTryableTypeProperty()))) } @@ -355,69 +356,69 @@ abstract class ValueArgTestEntry(t: Type) extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2RecordType(Vector(Rql2AttrType("arg", t)))) + Right(SnapiRecordType(Vector(SnapiAttrType("arg", t)))) } } -class ByteValueArgTestEntry extends ValueArgTestEntry(Rql2ByteType()) { +class ByteValueArgTestEntry extends ValueArgTestEntry(SnapiByteType()) { override def entryName: String = "ByteValueArg" } -class ShortValueArgTestEntry extends ValueArgTestEntry(Rql2ShortType()) { +class ShortValueArgTestEntry extends ValueArgTestEntry(SnapiShortType()) { override def entryName: String = "ShortValueArg" } -class IntValueArgTestEntry extends ValueArgTestEntry(Rql2IntType()) { +class IntValueArgTestEntry extends ValueArgTestEntry(SnapiIntType()) { override def entryName: String = "IntValueArg" } -class LongValueArgTestEntry extends ValueArgTestEntry(Rql2LongType()) { +class LongValueArgTestEntry extends ValueArgTestEntry(SnapiLongType()) { override def entryName: String = "LongValueArg" } -class FloatValueArgTestEntry extends ValueArgTestEntry(Rql2FloatType()) { +class FloatValueArgTestEntry extends ValueArgTestEntry(SnapiFloatType()) { override def entryName: String = "FloatValueArg" } -class DoubleValueArgTestEntry extends ValueArgTestEntry(Rql2DoubleType()) { +class DoubleValueArgTestEntry extends ValueArgTestEntry(SnapiDoubleType()) { override def entryName: String = "DoubleValueArg" } -class StringValueArgTestEntry extends ValueArgTestEntry(Rql2StringType()) { +class StringValueArgTestEntry extends ValueArgTestEntry(SnapiStringType()) { override def entryName: String = "StringValueArg" } -class BoolValueArgTestEntry extends ValueArgTestEntry(Rql2BoolType()) { +class BoolValueArgTestEntry extends ValueArgTestEntry(SnapiBoolType()) { override def entryName: String = "BoolValueArg" } -class DateValueArgTestEntry extends ValueArgTestEntry(Rql2DateType()) { +class DateValueArgTestEntry extends ValueArgTestEntry(SnapiDateType()) { override def entryName: String = "DateValueArg" } -class TimeValueArgTestEntry extends ValueArgTestEntry(Rql2TimeType()) { +class TimeValueArgTestEntry extends ValueArgTestEntry(SnapiTimeType()) { override def entryName: String = "TimeValueArg" } -class TimestampValueArgTestEntry extends ValueArgTestEntry(Rql2TimestampType()) { +class TimestampValueArgTestEntry extends ValueArgTestEntry(SnapiTimestampType()) { override def entryName: String = "TimestampValueArg" } -class IntervalValueArgTestEntry extends ValueArgTestEntry(Rql2IntervalType()) { +class IntervalValueArgTestEntry extends ValueArgTestEntry(SnapiIntervalType()) { override def entryName: String = "IntervalValueArg" } class RecordValueArgTestEntry extends ValueArgTestEntry( - Rql2RecordType(Vector(Rql2AttrType("a", Rql2IntType()), Rql2AttrType("b", Rql2FloatType()))) + SnapiRecordType(Vector(SnapiAttrType("a", SnapiIntType()), SnapiAttrType("b", SnapiFloatType()))) ) { override def entryName: String = "RecordValueArg" } class ListValueArgTestEntry extends ValueArgTestEntry( - Rql2ListType(Rql2IntType()) + SnapiListType(SnapiIntType()) ) { override def entryName: String = "ListValueArg" } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TimePackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TimePackage.scala similarity index 87% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TimePackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TimePackage.scala index d9818a655..403112740 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TimePackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TimePackage.scala @@ -10,11 +10,11 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} -import com.rawlabs.snapi.frontend.rql2.extensions.{PackageExtension, ShortEntryExtension} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.{PackageExtension, ShortEntryExtension} +import com.rawlabs.snapi.frontend.snapi.source._ import java.time.{LocalDate, LocalTime} import scala.collection.immutable.ListMap @@ -69,8 +69,8 @@ class TimeBuildEntry extends ShortEntryExtension( "Time", "Build", - mandatoryParams = Vector(Rql2IntType(), Rql2IntType()), - returnType = Rql2TimeType(Set(Rql2IsTryableTypeProperty())), + mandatoryParams = Vector(SnapiIntType(), SnapiIntType()), + returnType = SnapiTimeType(Set(SnapiIsTryableTypeProperty())), docs = EntryDoc( "Builds a time value.", params = List( @@ -92,8 +92,8 @@ class TimeBuildEntry ret = Some(ReturnDoc("The time built from the given components.", retType = Some(TypeDoc(List("time"))))) ), optionalParamsMap = ListMap( - "seconds" -> ((Rql2IntType(), IntConst("0"))), - "millis" -> ((Rql2IntType(), IntConst("0"))) + "seconds" -> ((SnapiIntType(), IntConst("0"))), + "millis" -> ((SnapiIntType(), IntConst("0"))) ) ) @@ -101,8 +101,8 @@ class TimeParseEntry extends ShortEntryExtension( "Time", "Parse", - mandatoryParams = Vector(Rql2StringType(), Rql2StringType()), - returnType = Rql2TimeType(Set(Rql2IsTryableTypeProperty())), + mandatoryParams = Vector(SnapiStringType(), SnapiStringType()), + returnType = SnapiTimeType(Set(SnapiIsTryableTypeProperty())), EntryDoc( summary = "Parses a time from a string.", description = Some( @@ -125,7 +125,7 @@ class TimeNowEntry "Time", "Now", mandatoryParams = Vector(), - returnType = Rql2TimeType(), + returnType = SnapiTimeType(), EntryDoc( summary = "Returns the current time.", examples = List(ExampleDoc("""Time.Now()""")), @@ -137,8 +137,8 @@ class TimeHourEntry extends ShortEntryExtension( "Time", "Hour", - mandatoryParams = Vector(Rql2TimeType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiTimeType()), + returnType = SnapiIntType(), EntryDoc( summary = "Returns the hours component of a time.", params = List( @@ -153,8 +153,8 @@ class TimeMinuteEntry extends ShortEntryExtension( "Time", "Minute", - mandatoryParams = Vector(Rql2TimeType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiTimeType()), + returnType = SnapiIntType(), EntryDoc( summary = "Returns the minutes component of a time.", params = List( @@ -169,8 +169,8 @@ class TimeSecondEntry extends ShortEntryExtension( "Time", "Second", - mandatoryParams = Vector(Rql2TimeType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiTimeType()), + returnType = SnapiIntType(), EntryDoc( summary = "Returns the seconds component of a time.", params = List( @@ -185,8 +185,8 @@ class TimeMillisEntry extends ShortEntryExtension( "Time", "Millis", - mandatoryParams = Vector(Rql2TimeType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiTimeType()), + returnType = SnapiIntType(), EntryDoc( summary = "Returns the milliseconds component of a time.", params = List( @@ -201,8 +201,8 @@ class TimeSubtractEntry extends ShortEntryExtension( "Time", "Subtract", - mandatoryParams = Vector(Rql2TimeType(), Rql2TimeType()), - returnType = Rql2IntervalType(), + mandatoryParams = Vector(SnapiTimeType(), SnapiTimeType()), + returnType = SnapiIntervalType(), EntryDoc( summary = "Subtracts two times.", params = List( @@ -227,8 +227,8 @@ class TimeAddIntervalEntry extends ShortEntryExtension( "Time", "AddInterval", - mandatoryParams = Vector(Rql2TimeType(), Rql2IntervalType()), - returnType = Rql2TimeType(), + mandatoryParams = Vector(SnapiTimeType(), SnapiIntervalType()), + returnType = SnapiTimeType(), EntryDoc( summary = """Adds an interval to a time.""", warning = Some("Note that years, months, weeks and days of interval will be ignored."), @@ -259,8 +259,8 @@ class TimeSubtractIntervalEntry extends ShortEntryExtension( "Time", "SubtractInterval", - mandatoryParams = Vector(Rql2TimeType(), Rql2IntervalType()), - returnType = Rql2TimeType(), + mandatoryParams = Vector(SnapiTimeType(), SnapiIntervalType()), + returnType = SnapiTimeType(), EntryDoc( summary = """Subtracts an interval to a time.""", warning = Some("""Note that years, months, weeks and days of interval will be ignored."""), diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TimestampPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TimestampPackage.scala similarity index 88% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TimestampPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TimestampPackage.scala index 0681b465b..11d8faeff 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TimestampPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TimestampPackage.scala @@ -10,14 +10,14 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpParam, @@ -76,8 +76,8 @@ class TimestampBuildEntry extends ShortEntryExtension( "Timestamp", "Build", - mandatoryParams = Vector(Rql2IntType(), Rql2IntType(), Rql2IntType(), Rql2IntType(), Rql2IntType()), - returnType = Rql2TimestampType(Set(Rql2IsTryableTypeProperty())), + mandatoryParams = Vector(SnapiIntType(), SnapiIntType(), SnapiIntType(), SnapiIntType(), SnapiIntType()), + returnType = SnapiTimestampType(Set(SnapiIsTryableTypeProperty())), docs = EntryDoc( "Builds a timestamp value", params = List( @@ -104,8 +104,8 @@ class TimestampBuildEntry ) ), optionalParamsMap = ListMap( - "seconds" -> ((Rql2IntType(), IntConst("0"))), - "millis" -> ((Rql2IntType(), IntConst("0"))) + "seconds" -> ((SnapiIntType(), IntConst("0"))), + "millis" -> ((SnapiIntType(), IntConst("0"))) ) ) @@ -113,8 +113,8 @@ class TimestampFromDateEntry extends ShortEntryExtension( "Timestamp", "FromDate", - Vector(Rql2DateType()), - Rql2TimestampType(), + Vector(SnapiDateType()), + SnapiTimestampType(), EntryDoc( summary = "Builds a timestamp from a date.", params = List( @@ -130,8 +130,8 @@ class TimestampParseEntry extends ShortEntryExtension( "Timestamp", "Parse", - mandatoryParams = Vector(Rql2StringType(), Rql2StringType()), - returnType = Rql2TimestampType(Set(Rql2IsTryableTypeProperty())), + mandatoryParams = Vector(SnapiStringType(), SnapiStringType()), + returnType = SnapiTimestampType(Set(SnapiIsTryableTypeProperty())), EntryDoc( summary = "Parses a timestamp from a string.", description = Some( @@ -160,7 +160,7 @@ class TimestampNowEntry "Timestamp", "Now", mandatoryParams = Vector(), - returnType = Rql2TimestampType(), + returnType = SnapiTimestampType(), EntryDoc( summary = "Returns the current timestamp.", examples = List(ExampleDoc("""Timestamp.Now()""")), @@ -197,14 +197,14 @@ class TimestampRangeEntry extends EntryExtension { override def nrMandatoryParams: Int = 2 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2TimestampType())) + Right(ExpParam(SnapiTimestampType())) } override def optionalParams: Option[Set[String]] = Some(Set("step")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { assert(idn == "step") - Right(ExpParam(Rql2IntervalType())) + Right(ExpParam(SnapiIntervalType())) } override def returnType( @@ -212,7 +212,7 @@ class TimestampRangeEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2IterableType(Rql2TimestampType())) + Right(SnapiIterableType(SnapiTimestampType())) } } @@ -221,8 +221,8 @@ class TimestampYearEntry extends ShortEntryExtension( "Timestamp", "Year", - mandatoryParams = Vector(Rql2TimestampType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiTimestampType()), + returnType = SnapiIntType(), EntryDoc( summary = "Returns the year component of the timestamp.", params = List( @@ -237,8 +237,8 @@ class TimestampMonthEntry extends ShortEntryExtension( "Timestamp", "Month", - mandatoryParams = Vector(Rql2TimestampType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiTimestampType()), + returnType = SnapiIntType(), EntryDoc( summary = "Returns the month component of the timestamp.", params = List( @@ -257,8 +257,8 @@ class TimestampDayEntry extends ShortEntryExtension( "Timestamp", "Day", - mandatoryParams = Vector(Rql2TimestampType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiTimestampType()), + returnType = SnapiIntType(), EntryDoc( summary = "Returns the day component of the timestamp.", params = List( @@ -273,8 +273,8 @@ class TimestampHourEntry extends ShortEntryExtension( "Timestamp", "Hour", - mandatoryParams = Vector(Rql2TimestampType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiTimestampType()), + returnType = SnapiIntType(), EntryDoc( summary = "Returns the hours component of the timestamp.", params = List( @@ -293,8 +293,8 @@ class TimestampMinuteEntry extends ShortEntryExtension( "Timestamp", "Minute", - mandatoryParams = Vector(Rql2TimestampType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiTimestampType()), + returnType = SnapiIntType(), EntryDoc( summary = "Returns minutes part of the timestamp as an integer.", params = List( @@ -313,8 +313,8 @@ class TimestampSecondEntry extends ShortEntryExtension( "Timestamp", "Second", - mandatoryParams = Vector(Rql2TimestampType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiTimestampType()), + returnType = SnapiIntType(), EntryDoc( summary = "Returns the seconds component of the timestamp.", params = List( @@ -335,8 +335,8 @@ class TimestampMillisEntry extends ShortEntryExtension( "Timestamp", "Millis", - mandatoryParams = Vector(Rql2TimestampType()), - returnType = Rql2IntType(), + mandatoryParams = Vector(SnapiTimestampType()), + returnType = SnapiIntType(), EntryDoc( summary = "Returns the milliseconds component of the timestamp.", params = List( @@ -360,8 +360,8 @@ class TimestampFromUnixTimestampEntry extends ShortEntryExtension( "Timestamp", "FromUnixTimestamp", - mandatoryParams = Vector(Rql2LongType()), - returnType = Rql2TimestampType(), + mandatoryParams = Vector(SnapiLongType()), + returnType = SnapiTimestampType(), EntryDoc( summary = "Builds a timestamp from a Unix epoch (number of seconds since 01-01-1970).", params = List( @@ -381,8 +381,8 @@ class TimestampToUnixTimestampEntry extends ShortEntryExtension( "Timestamp", "ToUnixTimestamp", - mandatoryParams = Vector(Rql2TimestampType()), - returnType = Rql2LongType(), + mandatoryParams = Vector(SnapiTimestampType()), + returnType = SnapiLongType(), EntryDoc( summary = "Converts a timestamp into the corresponding Unix epoch (number of seconds since 01-01-1970).", params = List(ParamDoc("timestamp", TypeDoc(List("timestamp")), "Timestamp to convert to Unix epoch.")), @@ -457,8 +457,8 @@ class TimestampTimeBucketEntry extends EntryExtension { override def nrMandatoryParams: Int = 2 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - if (idx == 0) Right(ExpParam(OneOfType(Rql2StringType(), Rql2IntervalType()))) - else Right(ExpParam(Rql2TimestampType())) + if (idx == 0) Right(ExpParam(OneOfType(SnapiStringType(), SnapiIntervalType()))) + else Right(ExpParam(SnapiTimestampType())) } override def returnType( @@ -466,7 +466,7 @@ class TimestampTimeBucketEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(Rql2TimestampType()) + Right(SnapiTimestampType()) } } @@ -475,8 +475,8 @@ class TimestampSubtractEntry extends ShortEntryExtension( "Timestamp", "Subtract", - mandatoryParams = Vector(Rql2TimestampType(), Rql2TimestampType()), - returnType = Rql2IntervalType(), + mandatoryParams = Vector(SnapiTimestampType(), SnapiTimestampType()), + returnType = SnapiIntervalType(), EntryDoc( summary = "Subtracts two timestamps.", params = List( @@ -506,8 +506,8 @@ class TimestampAddIntervalEntry extends ShortEntryExtension( "Timestamp", "AddInterval", - mandatoryParams = Vector(Rql2TimestampType(), Rql2IntervalType()), - returnType = Rql2TimestampType(), + mandatoryParams = Vector(SnapiTimestampType(), SnapiIntervalType()), + returnType = SnapiTimestampType(), EntryDoc( summary = "Adds an interval to a timestamp.", params = List( @@ -537,8 +537,8 @@ class TimestampSubtractIntervalEntry extends ShortEntryExtension( "Timestamp", "SubtractInterval", - mandatoryParams = Vector(Rql2TimestampType(), Rql2IntervalType()), - returnType = Rql2TimestampType(), + mandatoryParams = Vector(SnapiTimestampType(), SnapiIntervalType()), + returnType = SnapiTimestampType(), EntryDoc( summary = "Subtracts an interval to a timestamp.", params = List( diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TryPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TryPackage.scala similarity index 87% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TryPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TryPackage.scala index f9479288c..28eeeeb76 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TryPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TryPackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.{AnythingType, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, EntryExtension, ExpArg, ExpParam, PackageExtension, Param} +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, EntryExtension, ExpArg, ExpParam, PackageExtension, Param} object TryPackageBuilder { @@ -62,9 +62,9 @@ class TryTransformEntry extends EntryExtension { case 0 => Right(ExpParam(IsTryable())) case 1 => val ExpArg(_, t) = prevMandatoryArgs(0) - val innerType = removeProp(t, Rql2IsTryableTypeProperty()) + val innerType = removeProp(t, SnapiIsTryableTypeProperty()) Right( - ExpParam(FunType(Vector(innerType), Vector.empty, DoesNotHaveTypeProperties(Set(Rql2IsTryableTypeProperty())))) + ExpParam(FunType(Vector(innerType), Vector.empty, DoesNotHaveTypeProperties(Set(SnapiIsTryableTypeProperty())))) ) } @@ -74,7 +74,7 @@ class TryTransformEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { val FunType(_, _, outType, _) = mandatoryArgs(1).t - val t = addProp(outType, Rql2IsTryableTypeProperty()) + val t = addProp(outType, SnapiIsTryableTypeProperty()) Right(t) } @@ -109,8 +109,8 @@ class TryIsErrorEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = mandatoryArgs(0).t match { - case _: Rql2IterableType => Left("cannot be applied to a collection") - case _ => Right(Rql2BoolType()) + case _: SnapiIterableType => Left("cannot be applied to a collection") + case _ => Right(SnapiBoolType()) } } @@ -144,8 +144,8 @@ class TryIsSuccessEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = mandatoryArgs(0).t match { - case _: Rql2IterableType => Left("cannot be applied to a collection") - case _ => Right(Rql2BoolType()) + case _: SnapiIterableType => Left("cannot be applied to a collection") + case _ => Right(SnapiBoolType()) } } @@ -171,7 +171,7 @@ class TryFlatMapEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { val FunType(_, _, outType, _) = mandatoryArgs(1).t - assert(getProps(outType).contains(Rql2IsTryableTypeProperty())) + assert(getProps(outType).contains(SnapiIsTryableTypeProperty())) Right(outType) } @@ -198,7 +198,7 @@ class TryUnsafeGetEntry extends EntryExtension { optionalArgs: Seq[(String, Arg)], varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { - Right(removeProp(mandatoryArgs(0).t, Rql2IsTryableTypeProperty())) + Right(removeProp(mandatoryArgs(0).t, SnapiIsTryableTypeProperty())) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TypePackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TypePackage.scala similarity index 88% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TypePackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TypePackage.scala index 02cf3d9ec..04e91d469 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/TypePackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/TypePackage.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.source.{AnythingType, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, ExpParam, @@ -25,7 +25,7 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ TypeArg, TypeParam } -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ object TypePackageBuilder { @@ -118,29 +118,30 @@ class TypeProtectCastEntry extends EntryExtension { val TypeArg(source) = mandatoryArgs(0) val TypeArg(target) = mandatoryArgs(1) // run a comparison of source and target. The 'source' type has nullables and tryables in place 'target' doesn't. - // * when nullables are found, output type gets Rql2IsNullableProperty - // * when tryables are found, output type gets Rql2IsTryableProperty + // * when nullables are found, output type gets SnapiIsNullableProperty + // * when tryables are found, output type gets SnapiIsTryableProperty // // Possibly both are found. Flags are added to the top of target (the one without the unexpected nested nullables/tryables) Right(addProps(target, extraProps(target, source))) } - // cloned from rql2.SemanticAnalyzer + // cloned from snapi.SemanticAnalyzer // TODO (bgaidioz) share the code somewhere? private def extraProps(target: Type, source: Type) = { - def recurse(target: Type, source: Type): Set[Rql2TypeProperty] = (target, source) match { - case (Rql2ListType(inner1, props1), Rql2ListType(inner2, props2)) => recurse(inner1, inner2) ++ (props2 &~ props1) - case (Rql2IterableType(_, props1), Rql2IterableType(_, props2)) => + def recurse(target: Type, source: Type): Set[SnapiTypeProperty] = (target, source) match { + case (SnapiListType(inner1, props1), SnapiListType(inner2, props2)) => + recurse(inner1, inner2) ++ (props2 &~ props1) + case (SnapiIterableType(_, props1), SnapiIterableType(_, props2)) => // inner types aren't checked because iterables aren't consumed in the moment they're passed to // the function. No exception will be raised under ProtectCast regarding an iterable's items. props2 &~ props1 - case (Rql2RecordType(atts1, props1), Rql2RecordType(atts2, props2)) => + case (SnapiRecordType(atts1, props1), SnapiRecordType(atts2, props2)) => val tipes1 = atts1.map(_.tipe) val tipes2 = atts2.map(_.tipe) assert(tipes1.size == tipes2.size) tipes1.zip(tipes2).flatMap { case (t1, t2) => recurse(t1, t2) }.toSet ++ (props2 &~ props1) - case (t1: Rql2TypeWithProperties, t2: Rql2TypeWithProperties) => t2.props &~ t1.props + case (t1: SnapiTypeWithProperties, t2: SnapiTypeWithProperties) => t2.props &~ t1.props } recurse(target, source) } @@ -204,12 +205,12 @@ class TypeMatchEntry extends EntryExtension { override def nrMandatoryParams: Int = 1 override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { - Right(ExpParam(Rql2OrType(Vector(AnythingType())))) + Right(ExpParam(SnapiOrType(Vector(AnythingType())))) } override def hasVarArgs: Boolean = true override def getVarParam(prevMandatoryArgs: Seq[Arg], prevVarArgs: Seq[Arg], idx: Int): Either[String, Param] = { - val Rql2OrType(options, _) = prevMandatoryArgs(0).t + val SnapiOrType(options, _) = prevMandatoryArgs(0).t if (idx == 0) Right(ExpParam(OneOfType(options.map(o => FunType(Vector(o), Vector.empty, AnythingType()))))) else { val FunType(_, _, outputType, _) = prevVarArgs(0).t @@ -223,7 +224,7 @@ class TypeMatchEntry extends EntryExtension { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[String, Type] = { val typesMerger = new TypesMerger - val Rql2OrType(options, _) = mandatoryArgs(0).t + val SnapiOrType(options, _) = mandatoryArgs(0).t val varTypes: Vector[Type] = varArgs.map(_.t).collect { case FunType(Vector(t), _, _, _) => t }.toVector val distincted = varTypes.groupBy(identity).mapValues(v => v.length) if (distincted.exists(_._2 >= 2)) return Left("only one handler function per type is expected") @@ -265,7 +266,7 @@ class TypeMatchEntry extends EntryExtension { // ): Either[String, Type] = { // val TypeArg(t1) = mandatoryArgs(0) // val TypeArg(t2) = mandatoryArgs(1) -// // TODO (msb): Refactor out the mergeType function of the RQL2 SemanticAnalyzer and call it from here to do the +// // TODO (msb): Refactor out the mergeType function of the Snapi SemanticAnalyzer and call it from here to do the // // type merge and return ExpType... // ??? // } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/XmlPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/XmlPackage.scala similarity index 83% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/XmlPackage.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/XmlPackage.scala index 9414fbcbb..0bbd914ce 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/extensions/builtin/XmlPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/XmlPackage.scala @@ -10,14 +10,14 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.extensions.builtin +package com.rawlabs.snapi.frontend.snapi.extensions.builtin import com.rawlabs.compiler.{EntryDoc, ExampleDoc, PackageDoc, ParamDoc, ReturnDoc, TypeDoc} import com.rawlabs.snapi.frontend.base.errors.{ErrorCompilerMessage, InvalidSemantic, UnsupportedType} import com.rawlabs.snapi.frontend.base.source.{AnythingType, BaseNode, Type} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2._ -import com.rawlabs.snapi.frontend.rql2.extensions.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi._ +import com.rawlabs.snapi.frontend.snapi.extensions.{ Arg, EntryExtension, EntryExtensionHelper, @@ -28,7 +28,7 @@ import com.rawlabs.snapi.frontend.rql2.extensions.{ TypeParam, ValueParam } -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source._ import com.rawlabs.snapi.frontend.inferrer.api._ class XmlPackage extends PackageExtension { @@ -87,16 +87,16 @@ class InferAndReadXmlEntry extends SugarEntryExtension with XmlEntryExtensionHel override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { assert(idx == 0) - Right(ValueParam(Rql2LocationType())) + Right(ValueParam(SnapiLocationType())) } override def optionalParams: Option[Set[String]] = Some(Set("sampleSize", "encoding", "preferNulls")) override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "sampleSize" => Right(ValueParam(Rql2IntType())) - case "encoding" => Right(ValueParam(Rql2StringType())) - case "preferNulls" => Right(ValueParam(Rql2BoolType())) + case "sampleSize" => Right(ValueParam(SnapiIntType())) + case "encoding" => Right(ValueParam(SnapiStringType())) + case "preferNulls" => Right(ValueParam(SnapiBoolType())) } } @@ -119,11 +119,11 @@ class InferAndReadXmlEntry extends SugarEntryExtension with XmlEntryExtensionHel _, XmlFormatDescriptor(dataType, sampled, _, _, _) ) = descriptor; - rql2Type = inferTypeToRql2Type(dataType, makeNullable = preferNulls && sampled, makeTryable = sampled); - okType <- validateXmlType(rql2Type) + snapiType = inferTypeToSnapiType(dataType, makeNullable = preferNulls && sampled, makeTryable = sampled); + okType <- validateXmlType(snapiType) ) yield okType match { - case Rql2IterableType(inner, _) => Rql2IterableType(inner) - case t => addProp(t, Rql2IsTryableTypeProperty()) + case SnapiIterableType(inner, _) => SnapiIterableType(inner) + case t => addProp(t, SnapiIsTryableTypeProperty()) } } @@ -189,16 +189,17 @@ trait XmlEntryExtensionHelper extends EntryExtensionHelper { } protected def validateAttributeType(t: Type): Either[Seq[UnsupportedType], Type] = t match { - case _: Rql2PrimitiveType => Right(t) - case Rql2ListType(primitive: Rql2PrimitiveType, _) => Right(Rql2ListType(primitive)) // strip the tryable/nullable - case Rql2IterableType(primitive: Rql2PrimitiveType, _) => - Right(Rql2IterableType(primitive)) // strip the tryable/nullable + case _: SnapiPrimitiveType => Right(t) + case SnapiListType(primitive: SnapiPrimitiveType, _) => + Right(SnapiListType(primitive)) // strip the tryable/nullable + case SnapiIterableType(primitive: SnapiPrimitiveType, _) => + Right(SnapiIterableType(primitive)) // strip the tryable/nullable case _ => Left(Seq(UnsupportedType(t, t, None))) } protected def validateXmlType(t: Type): Either[Seq[UnsupportedType], Type] = t match { - case _: Rql2LocationType => Left(Seq(UnsupportedType(t, t, None))) - case t: Rql2RecordType => + case _: SnapiLocationType => Left(Seq(UnsupportedType(t, t, None))) + case t: SnapiRecordType => val duplicates = t.atts.groupBy(_.idn).mapValues(_.size).collect { case (field, n) if n > 1 => field } @@ -215,12 +216,12 @@ trait XmlEntryExtensionHelper extends EntryExtensionHelper { } val errors = atts.collect { case (_, Left(error)) => error } if (errors.nonEmpty) Left(errors.flatten) - else Right(Rql2RecordType(atts.map(x => Rql2AttrType(x._1, x._2.right.get)), t.props)) + else Right(SnapiRecordType(atts.map(x => SnapiAttrType(x._1, x._2.right.get)), t.props)) } // on list and iterables we are removing the nullability/tryability - case t: Rql2IterableType => validateXmlType(t.innerType).right.map(inner => Rql2IterableType(inner)) - case t: Rql2ListType => validateXmlType(t.innerType).right.map(inner => Rql2ListType(inner)) - case Rql2OrType(options, props) => + case t: SnapiIterableType => validateXmlType(t.innerType).right.map(inner => SnapiIterableType(inner)) + case t: SnapiListType => validateXmlType(t.innerType).right.map(inner => SnapiListType(inner)) + case SnapiOrType(options, props) => // inner types may have 'tryable' or 'nullable' flags: // * tryable is removed because a tryable-whatever option would always successfully parse // as a failed whatever, and other parsers would never be tested. @@ -234,12 +235,12 @@ trait XmlEntryExtensionHelper extends EntryExtensionHelper { else { val validOptions = validation.collect { case Right(t) => t } val nullable = - options.exists { case t: Rql2TypeWithProperties => t.props.contains(Rql2IsNullableTypeProperty()) } - val finalProps = if (nullable) props + Rql2IsNullableTypeProperty() else props - Right(Rql2OrType(validOptions, finalProps)) + options.exists { case t: SnapiTypeWithProperties => t.props.contains(SnapiIsNullableTypeProperty()) } + val finalProps = if (nullable) props + SnapiIsNullableTypeProperty() else props + Right(SnapiOrType(validOptions, finalProps)) } - case t: Rql2PrimitiveType => Right(t) - case t: Rql2UndefinedType => Right(t) + case t: SnapiPrimitiveType => Right(t) + case t: SnapiUndefinedType => Right(t) case t => Left(Seq(UnsupportedType(t, t, None))) } @@ -302,7 +303,7 @@ class ReadXmlEntry extends EntryExtension with XmlEntryExtensionHelper { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2LocationType())) + case 0 => Right(ExpParam(SnapiLocationType())) case 1 => // We check valid types in return type instead, since it's easier to express there, as we do not // have a specific constraint. @@ -321,10 +322,10 @@ class ReadXmlEntry extends EntryExtension with XmlEntryExtensionHelper { override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "encoding" => Right(ExpParam(Rql2StringType())) - case "timeFormat" => Right(ExpParam(Rql2StringType())) - case "dateFormat" => Right(ExpParam(Rql2StringType())) - case "timestampFormat" => Right(ExpParam(Rql2StringType())) + case "encoding" => Right(ExpParam(SnapiStringType())) + case "timeFormat" => Right(ExpParam(SnapiStringType())) + case "dateFormat" => Right(ExpParam(SnapiStringType())) + case "timestampFormat" => Right(ExpParam(SnapiStringType())) } } @@ -335,8 +336,8 @@ class ReadXmlEntry extends EntryExtension with XmlEntryExtensionHelper { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[Seq[ErrorCompilerMessage], Type] = { validateXmlType(mandatoryArgs(1).t).right.map { - case Rql2IterableType(inner, _) => Rql2IterableType(inner) - case t => addProp(t, Rql2IsTryableTypeProperty()) + case SnapiIterableType(inner, _) => SnapiIterableType(inner) + case t => addProp(t, SnapiIsTryableTypeProperty()) } } @@ -415,7 +416,7 @@ class ParseXmlEntry extends EntryExtension with XmlEntryExtensionHelper { override def getMandatoryParam(prevMandatoryArgs: Seq[Arg], idx: Int): Either[String, Param] = { idx match { - case 0 => Right(ExpParam(Rql2StringType())) + case 0 => Right(ExpParam(SnapiStringType())) case 1 => // We check valid types in return type instead, since it's easier to express there, as we do not // have a specific constraint. @@ -433,9 +434,9 @@ class ParseXmlEntry extends EntryExtension with XmlEntryExtensionHelper { override def getOptionalParam(prevMandatoryArgs: Seq[Arg], idn: String): Either[String, Param] = { idn match { - case "timeFormat" => Right(ExpParam(Rql2StringType())) - case "dateFormat" => Right(ExpParam(Rql2StringType())) - case "timestampFormat" => Right(ExpParam(Rql2StringType())) + case "timeFormat" => Right(ExpParam(SnapiStringType())) + case "dateFormat" => Right(ExpParam(SnapiStringType())) + case "timestampFormat" => Right(ExpParam(SnapiStringType())) } } @@ -446,8 +447,8 @@ class ParseXmlEntry extends EntryExtension with XmlEntryExtensionHelper { varArgs: Seq[Arg] )(implicit programContext: ProgramContext): Either[Seq[ErrorCompilerMessage], Type] = { validateXmlType(mandatoryArgs(1).t).right.map { - case Rql2IterableType(inner, _) => Rql2IterableType(inner) - case t => addProp(t, Rql2IsTryableTypeProperty()) + case SnapiIterableType(inner, _) => SnapiIterableType(inner) + case t => addProp(t, SnapiIsTryableTypeProperty()) } } diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/package.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/package.scala similarity index 94% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/package.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/package.scala index 83b4c8cf3..156b36c85 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/package.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/package.scala @@ -14,10 +14,10 @@ package com.rawlabs.snapi.frontend import java.nio.file.Path -package object rql2 { +package object snapi { /** - * An interpolator for RQL code. + * An interpolator for Snapi code. */ implicit class SnapiInterpolator(val sc: StringContext) extends AnyVal { diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/phases/ImplicitCastsPhase.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/phases/ImplicitCastsPhase.scala similarity index 79% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/phases/ImplicitCastsPhase.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/phases/ImplicitCastsPhase.scala index a37b15d31..8c2eaa426 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/phases/ImplicitCastsPhase.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/phases/ImplicitCastsPhase.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.phases +package com.rawlabs.snapi.frontend.snapi.phases import com.rawlabs.snapi.frontend.base.Phase import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.extensions.builtin._ -import com.rawlabs.snapi.frontend.rql2.{PipelinedPhase, Rql2TypeUtils, Tree} +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.builtin._ +import com.rawlabs.snapi.frontend.snapi.{PipelinedPhase, SnapiTypeUtils, Tree} import org.bitbucket.inkytonik.kiama.rewriting.Rewriter._ import org.bitbucket.inkytonik.kiama.rewriting.Strategy @@ -26,7 +26,7 @@ import org.bitbucket.inkytonik.kiama.rewriting.Strategy class ImplicitCastsPhase(protected val parent: Phase[SourceProgram], protected val phaseName: String)( protected val baseProgramContext: com.rawlabs.snapi.frontend.base.ProgramContext ) extends PipelinedPhase - with Rql2TypeUtils { + with SnapiTypeUtils { override protected def execute(program: SourceProgram): SourceProgram = { implicitCast(program) @@ -39,17 +39,17 @@ class ImplicitCastsPhase(protected val parent: Phase[SourceProgram], protected v // Cast "e" from "actual" type to "expected". def cast(e: Exp, actual: Type, expected: Type): Option[Exp] = { if (actual == expected) None - else if (actual == Rql2UndefinedType()) Some(TypePackageBuilder.Empty(expected)) + else if (actual == SnapiUndefinedType()) Some(TypePackageBuilder.Empty(expected)) else expected match { - case r: Rql2TypeWithProperties => + case r: SnapiTypeWithProperties => val expectedProps = r.props val actualProps = getProps(actual) - if (expectedProps.contains(Rql2IsTryableTypeProperty())) { - if (actualProps.contains(Rql2IsTryableTypeProperty())) { + if (expectedProps.contains(SnapiIsTryableTypeProperty())) { + if (actualProps.contains(SnapiIsTryableTypeProperty())) { // both are tryables, cast in TryPackage.Transform val arg = IdnDef() - val a = removeProp(actual, Rql2IsTryableTypeProperty()) - val t = removeProp(expected, Rql2IsTryableTypeProperty()) + val a = removeProp(actual, SnapiIsTryableTypeProperty()) + val t = removeProp(expected, SnapiIsTryableTypeProperty()) cast(IdnExp(arg.idn), a, t).map { xCode => val mapFun = FunAbs( FunProto(Vector(FunParam(arg, Some(a), None)), Some(t), FunBody(xCode)) @@ -58,24 +58,24 @@ class ImplicitCastsPhase(protected val parent: Phase[SourceProgram], protected v } } else { // expected is tryable, not actual. This case is casting, say, Int to Success(Float) - cast(e, actual, removeProp(expected, Rql2IsTryableTypeProperty())) match { + cast(e, actual, removeProp(expected, SnapiIsTryableTypeProperty())) match { case Some(ne) => Some(SuccessPackageBuilder.Build(ne)) case None => Some(SuccessPackageBuilder.Build(e)) } } - } else if (actualProps.contains(Rql2IsTryableTypeProperty())) { + } else if (actualProps.contains(SnapiIsTryableTypeProperty())) { // expected isn't tryable, but actual is. We use a .get - val inner = cast(e, actual, addProp(expected, Rql2IsTryableTypeProperty())) + val inner = cast(e, actual, addProp(expected, SnapiIsTryableTypeProperty())) val inner2 = inner.getOrElse(e) Some(TryPackageBuilder.UnsafeGet(inner2)) } else { // expected isn't tryable - if (expectedProps.contains(Rql2IsNullableTypeProperty())) { - if (actualProps.contains(Rql2IsNullableTypeProperty())) { + if (expectedProps.contains(SnapiIsNullableTypeProperty())) { + if (actualProps.contains(SnapiIsNullableTypeProperty())) { // both are nullables, use Null.Transform val arg = IdnDef() - val a = removeProp(actual, Rql2IsNullableTypeProperty()) - val t = removeProp(expected, Rql2IsNullableTypeProperty()) + val a = removeProp(actual, SnapiIsNullableTypeProperty()) + val t = removeProp(expected, SnapiIsNullableTypeProperty()) cast(IdnExp(arg.idn), a, t).map { xCode => val mapFun = FunAbs( FunProto(Vector(FunParam(arg, Some(a), None)), Some(t), FunBody(xCode)) @@ -85,72 +85,72 @@ class ImplicitCastsPhase(protected val parent: Phase[SourceProgram], protected v } else { // expected is nullable, not actual // This case is casting, say, Int to Option(Float) - cast(e, actual, removeProp(expected, Rql2IsNullableTypeProperty())) match { + cast(e, actual, removeProp(expected, SnapiIsNullableTypeProperty())) match { case Some(ne) => Some(NullablePackageBuilder.Build(ne)) case None => Some(NullablePackageBuilder.Build(e)) } } } else { // expected isn't nullable - if (actualProps.contains(Rql2IsNullableTypeProperty())) { + if (actualProps.contains(SnapiIsNullableTypeProperty())) { // expected isn't nullable, but actual is. We stack .get on actual - val inner = cast(e, actual, addProp(expected, Rql2IsNullableTypeProperty())) + val inner = cast(e, actual, addProp(expected, SnapiIsNullableTypeProperty())) val inner2 = inner.getOrElse(e) Some(NullablePackageBuilder.UnsafeGet(inner2)) } else { // regular cast expected match { - case _: Rql2ShortType => actual match { - case _: Rql2ByteType => Some(ShortPackageBuilder.From(e)) + case _: SnapiShortType => actual match { + case _: SnapiByteType => Some(ShortPackageBuilder.From(e)) case _ => None } - case _: Rql2IntType => actual match { - case _: Rql2ByteType => Some(IntPackageBuilder.From(e)) - case _: Rql2ShortType => Some(IntPackageBuilder.From(e)) + case _: SnapiIntType => actual match { + case _: SnapiByteType => Some(IntPackageBuilder.From(e)) + case _: SnapiShortType => Some(IntPackageBuilder.From(e)) case _ => None } - case _: Rql2LongType => actual match { - case _: Rql2ByteType => Some(LongPackageBuilder.From(e)) - case _: Rql2ShortType => Some(LongPackageBuilder.From(e)) - case _: Rql2IntType => Some(LongPackageBuilder.From(e)) + case _: SnapiLongType => actual match { + case _: SnapiByteType => Some(LongPackageBuilder.From(e)) + case _: SnapiShortType => Some(LongPackageBuilder.From(e)) + case _: SnapiIntType => Some(LongPackageBuilder.From(e)) case _ => None } - case _: Rql2FloatType => actual match { - case _: Rql2ByteType => Some(FloatPackageBuilder.From(e)) - case _: Rql2ShortType => Some(FloatPackageBuilder.From(e)) - case _: Rql2IntType => Some(FloatPackageBuilder.From(e)) - case _: Rql2LongType => Some(FloatPackageBuilder.From(e)) + case _: SnapiFloatType => actual match { + case _: SnapiByteType => Some(FloatPackageBuilder.From(e)) + case _: SnapiShortType => Some(FloatPackageBuilder.From(e)) + case _: SnapiIntType => Some(FloatPackageBuilder.From(e)) + case _: SnapiLongType => Some(FloatPackageBuilder.From(e)) case _ => None } - case _: Rql2DoubleType => actual match { - case _: Rql2ByteType => Some(DoublePackageBuilder.From(e)) - case _: Rql2ShortType => Some(DoublePackageBuilder.From(e)) - case _: Rql2IntType => Some(DoublePackageBuilder.From(e)) - case _: Rql2LongType => Some(DoublePackageBuilder.From(e)) - case _: Rql2FloatType => Some(DoublePackageBuilder.From(e)) + case _: SnapiDoubleType => actual match { + case _: SnapiByteType => Some(DoublePackageBuilder.From(e)) + case _: SnapiShortType => Some(DoublePackageBuilder.From(e)) + case _: SnapiIntType => Some(DoublePackageBuilder.From(e)) + case _: SnapiLongType => Some(DoublePackageBuilder.From(e)) + case _: SnapiFloatType => Some(DoublePackageBuilder.From(e)) case _ => None } - case _: Rql2DecimalType => actual match { - case _: Rql2ByteType => Some(DecimalPackageBuilder.From(e)) - case _: Rql2ShortType => Some(DecimalPackageBuilder.From(e)) - case _: Rql2IntType => Some(DecimalPackageBuilder.From(e)) - case _: Rql2LongType => Some(DecimalPackageBuilder.From(e)) - case _: Rql2FloatType => Some(DecimalPackageBuilder.From(e)) - case _: Rql2DoubleType => Some(DecimalPackageBuilder.From(e)) + case _: SnapiDecimalType => actual match { + case _: SnapiByteType => Some(DecimalPackageBuilder.From(e)) + case _: SnapiShortType => Some(DecimalPackageBuilder.From(e)) + case _: SnapiIntType => Some(DecimalPackageBuilder.From(e)) + case _: SnapiLongType => Some(DecimalPackageBuilder.From(e)) + case _: SnapiFloatType => Some(DecimalPackageBuilder.From(e)) + case _: SnapiDoubleType => Some(DecimalPackageBuilder.From(e)) case _ => None } - case _: Rql2TimestampType => actual match { - case _: Rql2DateType => Some(TimestampPackageBuilder.FromDate(e)) + case _: SnapiTimestampType => actual match { + case _: SnapiDateType => Some(TimestampPackageBuilder.FromDate(e)) case _ => None } - case _: Rql2LocationType => actual match { - case _: Rql2StringType => Some(LocationPackageBuilder.FromString(e)) + case _: SnapiLocationType => actual match { + case _: SnapiStringType => Some(LocationPackageBuilder.FromString(e)) case _ => None } - case Rql2IterableType(t, _) => actual match { - case Rql2IterableType(Rql2UndefinedType(props), _) if props.isEmpty => + case SnapiIterableType(t, _) => actual match { + case SnapiIterableType(SnapiUndefinedType(props), _) if props.isEmpty => Some(CollectionPackageBuilder.Empty(t)) - case Rql2IterableType(a, _) => + case SnapiIterableType(a, _) => val arg = IdnDef() cast(IdnExp(arg.idn), a, t).map { xCode => val mapFun = FunAbs( @@ -159,10 +159,10 @@ class ImplicitCastsPhase(protected val parent: Phase[SourceProgram], protected v CollectionPackageBuilder.Transform(e, mapFun) } } - case Rql2ListType(t, _) => actual match { - case Rql2ListType(Rql2UndefinedType(props), _) if props.isEmpty => + case SnapiListType(t, _) => actual match { + case SnapiListType(SnapiUndefinedType(props), _) if props.isEmpty => Some(ListPackageBuilder.Empty(t)) - case Rql2ListType(a, _) => + case SnapiListType(a, _) => val arg = IdnDef() cast(IdnExp(arg.idn), a, t).map { xCode => val mapFun = FunAbs( @@ -171,8 +171,8 @@ class ImplicitCastsPhase(protected val parent: Phase[SourceProgram], protected v ListPackageBuilder.Transform(e, mapFun) } } - case Rql2RecordType(expectedFields, _) => actual match { - case Rql2RecordType(actualFields, _) => + case SnapiRecordType(expectedFields, _) => actual match { + case SnapiRecordType(actualFields, _) => assert(expectedFields.size == actualFields.size) // We'll copy the record in that variable so that its value // isn't duplicated (RD-5502) @@ -292,11 +292,11 @@ class ImplicitCastsPhase(protected val parent: Phase[SourceProgram], protected v val ExpType(t) = analyzer.tipe(args(1).e) t case ("List", "Build") => - val Rql2ListType(itemType, props) = analyzer.tipe(fa) + val SnapiListType(itemType, props) = analyzer.tipe(fa) assert(props.isEmpty) itemType case ("Collection", "Build") => - val Rql2IterableType(itemType, props) = analyzer.tipe(fa) + val SnapiIterableType(itemType, props) = analyzer.tipe(fa) assert(props.isEmpty) itemType case ("Collection", "Union") => analyzer.tipe(fa) @@ -362,9 +362,9 @@ class ImplicitCastsPhase(protected val parent: Phase[SourceProgram], protected v case LetFunRec(idn, p) => val FunType(_, _, rType, _) = analyzer.idnType(idn) handleProto(p, rType) <* rule[Any] { case nProto: FunProto => LetFunRec(idn, nProto) } - case Rql2Method(p, idn) => + case SnapiMethod(p, idn) => val FunType(_, _, rType, _) = analyzer.idnType(idn) - handleProto(p, rType) <* rule[Any] { case nProto: FunProto => Rql2Method(nProto, idn) } + handleProto(p, rType) <* rule[Any] { case nProto: FunProto => SnapiMethod(nProto, idn) } case unaryExp @ UnaryExp(op, e) => congruence(id, s) <* rule[Any] { case UnaryExp(_, re) => val t = analyzer.tipe(unaryExp) @@ -376,7 +376,7 @@ class ImplicitCastsPhase(protected val parent: Phase[SourceProgram], protected v case BinaryExp(_, re1, re2) => val te1 = analyzer.tipe(e1) val te2 = analyzer.tipe(e2) - val tm = Rql2BoolType(Set(Rql2IsNullableTypeProperty())) + val tm = SnapiBoolType(Set(SnapiIsNullableTypeProperty())) val ne1 = cast(re1, te1, tm).getOrElse(re1) val ne2 = cast(e2, te2, tm).getOrElse(re2) BinaryExp(op, ne1, ne2) @@ -410,7 +410,7 @@ class ImplicitCastsPhase(protected val parent: Phase[SourceProgram], protected v congruence(s, s, s) <* rule[Any] { case r @ IfThenElse(re1, re2, re3) => analyzer.mergeType(te2, te3) match { case Some(tm) => - val ne1 = cast(re1, te1, Rql2BoolType()).getOrElse(re1) + val ne1 = cast(re1, te1, SnapiBoolType()).getOrElse(re1) val ne2 = cast(re2, te2, tm).getOrElse(re2) val ne3 = cast(re3, te3, tm).getOrElse(re3) IfThenElse(ne1, ne2, ne3) diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/phases/ListProjDesugarerPhase.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/phases/ListProjDesugarerPhase.scala similarity index 78% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/phases/ListProjDesugarerPhase.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/phases/ListProjDesugarerPhase.scala index 7e4b8fa39..99425fa66 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/phases/ListProjDesugarerPhase.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/phases/ListProjDesugarerPhase.scala @@ -10,13 +10,13 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.phases +package com.rawlabs.snapi.frontend.snapi.phases import com.rawlabs.snapi.frontend.base.Phase -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.{CollectionPackageBuilder, ListPackageBuilder} -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.{PipelinedPhase, Tree} +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.{CollectionPackageBuilder, ListPackageBuilder} +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.{PipelinedPhase, Tree} import org.bitbucket.inkytonik.kiama.rewriting.Cloner.attempt import org.bitbucket.inkytonik.kiama.rewriting.Rewriter._ import org.bitbucket.inkytonik.kiama.rewriting.Strategy @@ -38,7 +38,7 @@ class ListProjDesugarerPhase(protected val parent: Phase[SourceProgram], protect case Proj(collection, i) if analyzer .tipe(collection) - .isInstanceOf[Rql2IterableType] || analyzer.tipe(collection).isInstanceOf[Rql2ListType] => + .isInstanceOf[SnapiIterableType] || analyzer.tipe(collection).isInstanceOf[SnapiListType] => congruence(s, id) <* rule[Any] { case Proj(nCollection, _) => val arg = IdnDef() @@ -46,7 +46,7 @@ class ListProjDesugarerPhase(protected val parent: Phase[SourceProgram], protect FunProto(Vector(FunParam(arg, None, None)), None, FunBody(Proj(IdnExp(arg), i))) ) - if (analyzer.tipe(collection).isInstanceOf[Rql2IterableType]) { + if (analyzer.tipe(collection).isInstanceOf[SnapiIterableType]) { CollectionPackageBuilder.Transform(nCollection, projectFun) } else { ListPackageBuilder.Transform(nCollection, projectFun) diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/phases/PropagationPhase.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/phases/PropagationPhase.scala similarity index 89% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/phases/PropagationPhase.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/phases/PropagationPhase.scala index b38ce3f68..3752b56ad 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/phases/PropagationPhase.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/phases/PropagationPhase.scala @@ -10,20 +10,20 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.phases +package com.rawlabs.snapi.frontend.snapi.phases import com.rawlabs.snapi.frontend.base.Phase import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.extensions.{Arg, ValueArg} -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.{ +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.{Arg, ValueArg} +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.{ NullablePackageBuilder, NullableTryablePackageBuilder, SuccessPackageBuilder, TryPackageBuilder, TypePackageBuilder } -import com.rawlabs.snapi.frontend.rql2.{FunAppPackageEntryArguments, PipelinedPhase, Rql2TypeUtils, Rql2Value, Tree} +import com.rawlabs.snapi.frontend.snapi.{FunAppPackageEntryArguments, PipelinedPhase, SnapiTypeUtils, SnapiValue, Tree} import org.bitbucket.inkytonik.kiama.rewriting.Rewriter._ import org.bitbucket.inkytonik.kiama.rewriting.Strategy @@ -33,7 +33,7 @@ import org.bitbucket.inkytonik.kiama.rewriting.Strategy class PropagationPhase(protected val parent: Phase[SourceProgram], protected val phaseName: String)( protected val baseProgramContext: com.rawlabs.snapi.frontend.base.ProgramContext ) extends PipelinedPhase - with Rql2TypeUtils { + with SnapiTypeUtils { override protected def execute(program: SourceProgram): SourceProgram = { propagate(program) @@ -49,7 +49,7 @@ class PropagationPhase(protected val parent: Phase[SourceProgram], protected val entryArguments: FunAppPackageEntryArguments, args: Seq[FunAppArg], idx: Int - ): Option[Rql2Value] = { + ): Option[SnapiValue] = { val arg: Arg = args(idx).idn match { case Some(i) => entryArguments.optionalArgs.collectFirst { case a if a._1 == i => a._2 }.get case None => @@ -68,23 +68,23 @@ class PropagationPhase(protected val parent: Phase[SourceProgram], protected val val expType = analyzer.tipe(binExp) op match { case _: BooleanOp => - val plainType = Rql2BoolType(Set(Rql2IsNullableTypeProperty())) + val plainType = SnapiBoolType(Set(SnapiIsNullableTypeProperty())) val arguments = Vector((e1, ne1), (e2, ne2)) val argExpProps = arguments.map { case (e, ne) => val t = analyzer.tipe(e) - val extraProps = getProps(t) - Rql2IsNullableTypeProperty() + val extraProps = getProps(t) - SnapiIsNullableTypeProperty() ExpProps(ne, t, castNeeded = false, extraProps) } coreFix( plainType, argExpProps, (idns => BinaryExp(op, idns(0), idns(1))), - getProps(expType) - Rql2IsNullableTypeProperty() + getProps(expType) - SnapiIsNullableTypeProperty() ) case _ => - val operationProps: Set[Rql2TypeProperty] = op match { - case _: Div => Set(Rql2IsTryableTypeProperty()) + val operationProps: Set[SnapiTypeProperty] = op match { + case _: Div => Set(SnapiIsTryableTypeProperty()) case _ => Set.empty } // expType possibly got more flags because of the parameters. We remove @@ -102,7 +102,7 @@ class PropagationPhase(protected val parent: Phase[SourceProgram], protected val case unaryExp @ UnaryExp(op, e) => congruence(id, s) <* rule[Any] { case UnaryExp(_, ne) => trivialFix(unaryExp, Vector((e, ne)), idns => UnaryExp(op, idns(0)), Set.empty) } - case proj @ Proj(record, fieldName) if analyzer.tipe(record).isInstanceOf[Rql2RecordType] => + case proj @ Proj(record, fieldName) if analyzer.tipe(record).isInstanceOf[SnapiRecordType] => congruence(s, id) <* rule[Any] { case Proj(nRecord, _) => trivialFix(proj, Vector((record, nRecord)), idns => Proj(idns(0), fieldName), Set.empty) @@ -214,7 +214,7 @@ class PropagationPhase(protected val parent: Phase[SourceProgram], protected val originalExp: Exp, arguments: Vector[(Exp, Exp)], apply: Vector[IdnExp] => Exp, - effectiveOutputProps: Set[Rql2TypeProperty] + effectiveOutputProps: Set[SnapiTypeProperty] ): Exp = { val argExpProps = arguments.map { case (e, ne) => @@ -229,7 +229,7 @@ class PropagationPhase(protected val parent: Phase[SourceProgram], protected val plainType: Type, arguments: Vector[(Exp, Exp)], apply: Vector[IdnExp] => Exp, - extraProps: Set[Rql2TypeProperty] + extraProps: Set[SnapiTypeProperty] ): Exp = { val argExpProps = arguments.map { case (e, ne) => @@ -244,7 +244,7 @@ class PropagationPhase(protected val parent: Phase[SourceProgram], protected val rootType: Type, argExpProps: Vector[ExpProps], apply: Vector[IdnExp] => Exp, - extraProps: Set[Rql2TypeProperty] + extraProps: Set[SnapiTypeProperty] ): Exp = { val idns = argExpProps.map(_ => IdnDef()) val boxedBody = { @@ -258,22 +258,22 @@ class PropagationPhase(protected val parent: Phase[SourceProgram], protected val if (outProps.isEmpty) { // the operation isn't nullable/tryable. Wrap it with the needed nodes to match. val withNullWrapping = - if (effectiveOutputProps.contains(Rql2IsNullableTypeProperty())) NullablePackageBuilder.Build(root) + if (effectiveOutputProps.contains(SnapiIsNullableTypeProperty())) NullablePackageBuilder.Build(root) else root val withTryWrapping = - if (effectiveOutputProps.contains(Rql2IsTryableTypeProperty())) + if (effectiveOutputProps.contains(SnapiIsTryableTypeProperty())) SuccessPackageBuilder.Build(withNullWrapping) else withNullWrapping withTryWrapping - } else if (outProps == Set(Rql2IsNullableTypeProperty())) { + } else if (outProps == Set(SnapiIsNullableTypeProperty())) { // e.g. nullable and/or called with errors assert( - effectiveOutputProps.contains(Rql2IsTryableTypeProperty()) + effectiveOutputProps.contains(SnapiIsTryableTypeProperty()) ) // otherwise it should have been equal above SuccessPackageBuilder.Build(root) - } else if (outProps == Set(Rql2IsTryableTypeProperty())) { + } else if (outProps == Set(SnapiIsTryableTypeProperty())) { // e.g. division. - if (outProps.contains(Rql2IsNullableTypeProperty())) { + if (outProps.contains(SnapiIsNullableTypeProperty())) { // special case: the operation is a plain tryable one, but needs to be computed as a nullable too. // We cannot box it in a nullable.build since it would be a null(try) instead of try(null). We // compute the operation (as a try) and box its results as a nullable with Transform. @@ -302,7 +302,7 @@ class PropagationPhase(protected val parent: Phase[SourceProgram], protected val val funParam = FunParam(idn, Some(innerType), None) // if the map/flatmap is applied to a 'undefined', the function won't be executed. We replace the // body by an unspecified zero of the body type. - val nextBody = if (innerType == Rql2UndefinedType()) TypePackageBuilder.Empty(outputType) else body + val nextBody = if (innerType == SnapiUndefinedType()) TypePackageBuilder.Empty(outputType) else body val fun = FunAbs( FunProto( Vector(funParam), @@ -336,12 +336,12 @@ class PropagationPhase(protected val parent: Phase[SourceProgram], protected val } -private case class TypeAndValue(t: Type, value: Option[Rql2Value]) +private case class TypeAndValue(t: Type, value: Option[SnapiValue]) private case class ExpProps( ne: Exp, t: Type, castNeeded: Boolean, - props: Set[Rql2TypeProperty], - value: Option[Rql2Value] = None + props: Set[SnapiTypeProperty], + value: Option[SnapiValue] = None ) diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/phases/SugarExtensionDesugarerPhase.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/phases/SugarExtensionDesugarerPhase.scala similarity index 91% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/phases/SugarExtensionDesugarerPhase.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/phases/SugarExtensionDesugarerPhase.scala index b4292840f..0430ddb86 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/phases/SugarExtensionDesugarerPhase.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/phases/SugarExtensionDesugarerPhase.scala @@ -10,14 +10,14 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.phases +package com.rawlabs.snapi.frontend.snapi.phases import com.rawlabs.snapi.frontend.base.Phase import com.rawlabs.snapi.frontend.base.errors.ErrorCompilerMessage import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2.source._ -import com.rawlabs.snapi.frontend.rql2.extensions.SugarEntryExtension -import com.rawlabs.snapi.frontend.rql2.{FunAppPackageEntryArguments, PipelinedPhase, Tree} +import com.rawlabs.snapi.frontend.snapi.source._ +import com.rawlabs.snapi.frontend.snapi.extensions.SugarEntryExtension +import com.rawlabs.snapi.frontend.snapi.{FunAppPackageEntryArguments, PipelinedPhase, Tree} import org.bitbucket.inkytonik.kiama.rewriting.Rewriter._ import org.bitbucket.inkytonik.kiama.rewriting.Strategy diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/source/SourceCommentsPrettyPrinter.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/source/SourceCommentsPrettyPrinter.scala similarity index 91% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/source/SourceCommentsPrettyPrinter.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/source/SourceCommentsPrettyPrinter.scala index a5d5e2c38..136b484b2 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/source/SourceCommentsPrettyPrinter.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/source/SourceCommentsPrettyPrinter.scala @@ -10,14 +10,14 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.source +package com.rawlabs.snapi.frontend.snapi.source import org.bitbucket.inkytonik.kiama.output.{LeftAssoc, NonAssoc, PrettyExpression, RightAssoc} import org.bitbucket.inkytonik.kiama.util.Trampolines.Done import org.bitbucket.inkytonik.kiama.util.{Position, Positions, StringSource} import com.rawlabs.snapi.frontend.base.source.BaseNode -import com.rawlabs.snapi.frontend.rql2.antlr4.{CommentsAntlrSyntaxAnalyzer, NodeComments} -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.{ListPackageBuilder, RecordPackageBuilder} +import com.rawlabs.snapi.frontend.snapi.antlr4.{CommentsAntlrSyntaxAnalyzer, NodeComments} +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.{ListPackageBuilder, RecordPackageBuilder} import java.util import scala.collection.JavaConverters._ @@ -110,24 +110,24 @@ class SourceCommentsPrettyPrinter(maybeIndent: Option[Int] = None, maybeWidth: O s } - override def rql2Node(n: Rql2Node): Doc = n match { - case Rql2Program(methods, me) => + override def snapiNode(n: SnapiNode): Doc = n match { + case SnapiProgram(methods, me) => // adding double line break between methods - val methodsDoc = methods.map { case m @ Rql2Method(p, idn) => withComments(m, idn <> funProto(p)) <> linebreak } + val methodsDoc = methods.map { case m @ SnapiMethod(p, idn) => withComments(m, idn <> funProto(p)) <> linebreak } ssep(methodsDoc ++ me.toSeq.map(toDoc), line) - case _ => super.rql2Node(n) + case _ => super.snapiNode(n) } - override def rql2TypeWithProperties(t: Rql2TypeWithProperties): Doc = t match { + override def snapiTypeWithProperties(t: SnapiTypeWithProperties): Doc = t match { case FunType(ms, os, r, props) => val args = ms.map(x => (x, super.toDoc(x))) ++ os.map(o => (o, o.i <> ":" <+> super.toDoc(o.t))) val d = parens(listWComments(args)) <+> "->" <+> r d - case _ => super.rql2TypeWithProperties(t) + case _ => super.snapiTypeWithProperties(t) } - override def rql2Exp(e: Rql2Exp): Doc = e match { + override def snapiExp(e: SnapiExp): Doc = e match { case Let(stmts, e) => val stmtDoc = lFoldWComment(stmts.map(x => (x, super.toDoc(x))), comma) "let" <> nest(line <> stmtDoc) <> line <> "in" <> nest(line <> e) @@ -151,7 +151,7 @@ class SourceCommentsPrettyPrinter(maybeIndent: Option[Int] = None, maybeWidth: O } case f: FunAbs => funProtoWComments(f.p, "->") - case _ => super.rql2Exp(e) + case _ => super.snapiExp(e) } override def funAppArg(a: FunAppArg): Doc = withComments(a, super.funAppArg(a)) diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/source/SourcePrettyPrinter.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/source/SourcePrettyPrinter.scala similarity index 77% rename from snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/source/SourcePrettyPrinter.scala rename to snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/source/SourcePrettyPrinter.scala index 8cfc05695..a08ed0628 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/rql2/source/SourcePrettyPrinter.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/source/SourcePrettyPrinter.scala @@ -10,21 +10,21 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2.source +package com.rawlabs.snapi.frontend.snapi.source import com.rawlabs.utils.core.RawUtils import org.bitbucket.inkytonik.kiama.output._ import com.rawlabs.snapi.frontend.base import com.rawlabs.snapi.frontend.base.source.{AnythingType, BaseNode, Type} -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.{ListPackageBuilder, RecordPackageBuilder} -import com.rawlabs.snapi.frontend.rql2.{Keywords, Rql2TypeUtils} +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.{ListPackageBuilder, RecordPackageBuilder} +import com.rawlabs.snapi.frontend.snapi.{Keywords, SnapiTypeUtils} import scala.collection.mutable trait SourcePrettyPrinter extends base.source.SourcePrettyPrinter with Keywords - with Rql2TypeUtils + with SnapiTypeUtils with ParenPrettyPrinter { protected def args(n: Vector[SourceNode]): Doc = sepArgs(comma, n.map(toDoc): _*) @@ -36,18 +36,18 @@ trait SourcePrettyPrinter protected def internal: Boolean = false - protected def rql2Type(t: Rql2Type): Doc = t match { - case t: Rql2TypeConstraint => rql2TypeConstraints(t) - case t: Rql2TypeWithProperties => rql2TypeWithProperties(t) + protected def snapiType(t: SnapiType): Doc = t match { + case t: SnapiTypeConstraint => snapiTypeConstraints(t) + case t: SnapiTypeWithProperties => snapiTypeWithProperties(t) case TypeAliasType(idn) => idn case ExpType(t) => "type" <+> t case PackageType(name) => method("package", s""""$name"""") case PackageEntryType(pkgName, entName) => method("package", s""""$pkgName"""", s""""$entName"""") } - protected def rql2TypeWithProperties(t: Rql2TypeWithProperties): Doc = { + protected def snapiTypeWithProperties(t: SnapiTypeWithProperties): Doc = { val d: Doc = t match { - case Rql2OrType(ts, props) => + case SnapiOrType(ts, props) => val d = folddoc(ts.map(toDoc), _ <+> "or" <+> _) if (internal) { // Wrap in parenthesis to disambiguate the type property annotations. @@ -67,36 +67,36 @@ trait SourcePrettyPrinter d } case other => other match { - case _: Rql2BoolType => "bool" - case _: Rql2StringType => "string" - case _: Rql2LocationType => "location" - case _: Rql2BinaryType => "binary" - case _: Rql2ByteType => "byte" - case _: Rql2ShortType => "short" - case _: Rql2IntType => "int" - case _: Rql2LongType => "long" - case _: Rql2FloatType => "float" - case _: Rql2DoubleType => "double" - case _: Rql2DecimalType => "decimal" - case _: Rql2DateType => "date" - case _: Rql2TimeType => "time" - case _: Rql2IntervalType => "interval" - case _: Rql2TimestampType => "timestamp" - case Rql2RecordType(atts, _) => method("record", atts.map(att => ident(att.idn) <> ":" <+> att.tipe): _*) - case Rql2IterableType(innerType, _) => innerType match { + case _: SnapiBoolType => "bool" + case _: SnapiStringType => "string" + case _: SnapiLocationType => "location" + case _: SnapiBinaryType => "binary" + case _: SnapiByteType => "byte" + case _: SnapiShortType => "short" + case _: SnapiIntType => "int" + case _: SnapiLongType => "long" + case _: SnapiFloatType => "float" + case _: SnapiDoubleType => "double" + case _: SnapiDecimalType => "decimal" + case _: SnapiDateType => "date" + case _: SnapiTimeType => "time" + case _: SnapiIntervalType => "interval" + case _: SnapiTimestampType => "timestamp" + case SnapiRecordType(atts, _) => method("record", atts.map(att => ident(att.idn) <> ":" <+> att.tipe): _*) + case SnapiIterableType(innerType, _) => innerType match { case _: AnythingType => "collection" case _ => method("collection", innerType) } - case Rql2ListType(innerType, _) => innerType match { + case SnapiListType(innerType, _) => innerType match { case _: AnythingType => "list" case _ => method("list", innerType) } - case _: Rql2UndefinedType => "undefined" + case _: SnapiUndefinedType => "undefined" } } if (internal) { - val isNullable = t.props.contains(Rql2IsNullableTypeProperty()) - val isTryable = t.props.contains(Rql2IsTryableTypeProperty()) + val isNullable = t.props.contains(SnapiIsNullableTypeProperty()) + val isTryable = t.props.contains(SnapiIsTryableTypeProperty()) if (!isTryable && !isNullable) d else { val props: Doc = @@ -111,15 +111,15 @@ trait SourcePrettyPrinter } - private def rql2TypeConstraints(t: Rql2TypeConstraint): Doc = t match { + private def snapiTypeConstraints(t: SnapiTypeConstraint): Doc = t match { case MergeableType(t) => "compatible" <+> "with" <+> t case ExpectedProjType(i) => "package" <> "," <+> "record" <> "," <+> "collection" <+> "or" <+> "list" <+> "with" <+> "field" <+> i case IsNullable() => "type nullable" case IsTryable() => "type tryable" case HasTypeProperties(props) => - val isNullable = props.contains(Rql2IsNullableTypeProperty()) - val isTryable = props.contains(Rql2IsTryableTypeProperty()) + val isNullable = props.contains(SnapiIsNullableTypeProperty()) + val isTryable = props.contains(SnapiIsTryableTypeProperty()) if (isNullable && isTryable) { "type nullable and tryable" } else if (isNullable) { @@ -131,8 +131,8 @@ trait SourcePrettyPrinter } case DoesNotHaveTypeProperties(props) => // We are doing the "DoesNotHave" type constraints. - val isNotNullable = props.contains(Rql2IsNullableTypeProperty()) - val isNotTryable = props.contains(Rql2IsTryableTypeProperty()) + val isNotNullable = props.contains(SnapiIsNullableTypeProperty()) + val isNotTryable = props.contains(SnapiIsTryableTypeProperty()) if (isNotNullable && isNotTryable) { "type not nullable and not tryable" } else if (isNotNullable) { @@ -144,7 +144,7 @@ trait SourcePrettyPrinter } } - protected def rql2Exp(e: Rql2Exp): Doc = e match { + protected def snapiExp(e: SnapiExp): Doc = e match { case Let(stmts, e) => "let" <> nest(line <> ssep(stmts.map(toDoc), comma <> line)) <> line <> "in" <> nest(line <> e) case TypeExp(t) => "type" <+> t @@ -206,7 +206,7 @@ trait SourcePrettyPrinter } } - protected def rql2LetDecl(d: LetDecl): Doc = d match { + protected def snapiLetDecl(d: LetDecl): Doc = d match { case LetBind(e, i, mt) => mt match { case Some(t) => i <> ":" <+> t <+> "=" <+> e case None => i <+> "=" <+> e @@ -224,22 +224,22 @@ trait SourcePrettyPrinter } } - protected def rql2Node(n: Rql2Node): Doc = n match { - case e: Rql2Exp => rql2Exp(e) - case t: Rql2Type => rql2Type(t) - case Rql2Program(methods, me) => - val methodsDoc = methods.map { case Rql2Method(p, idn) => idn <> funProto(p) } + protected def snapiNode(n: SnapiNode): Doc = n match { + case e: SnapiExp => snapiExp(e) + case t: SnapiType => snapiType(t) + case SnapiProgram(methods, me) => + val methodsDoc = methods.map { case SnapiMethod(p, idn) => idn <> funProto(p) } ssep(methodsDoc ++ me.toSeq.map(toDoc), line) - case l: LetDecl => rql2LetDecl(l) + case l: LetDecl => snapiLetDecl(l) } - private val integer: Set[Type] = Set(Rql2ByteType(), Rql2ShortType(), Rql2IntType(), Rql2LongType()) - private val number: Set[Type] = integer ++ Set(Rql2FloatType(), Rql2DoubleType(), Rql2DecimalType()) - private val temporal: Set[Type] = Set(Rql2DateType(), Rql2TimeType(), Rql2TimestampType(), Rql2IntervalType()) + private val integer: Set[Type] = Set(SnapiByteType(), SnapiShortType(), SnapiIntType(), SnapiLongType()) + private val number: Set[Type] = integer ++ Set(SnapiFloatType(), SnapiDoubleType(), SnapiDecimalType()) + private val temporal: Set[Type] = Set(SnapiDateType(), SnapiTimeType(), SnapiTimestampType(), SnapiIntervalType()) override def toDoc(n: BaseNode): Doc = n match { case n: CommonNode => commonNode(n) - case n: Rql2Node => rql2Node(n) + case n: SnapiNode => snapiNode(n) case _ => super.toDoc(n) } @@ -282,7 +282,7 @@ trait SourcePrettyPrinter case OneOfType(ts) => val info = mutable.ArrayBuffer[Doc]() val cleanTs: mutable.HashSet[Type] = - ts.map(t => removeProps(t, Set(Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty()))).to + ts.map(t => removeProps(t, Set(SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty()))).to if (number.subsetOf(cleanTs)) { number.foreach(cleanTs.remove) info += "number" diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/source/SourceTree.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/source/SourceTree.scala new file mode 100644 index 000000000..481a6aa6f --- /dev/null +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/source/SourceTree.scala @@ -0,0 +1,559 @@ +/* + * Copyright 2023 RAW Labs S.A. + * + * Use of this software is governed by the Business Source License + * included in the file licenses/BSL.txt. + * + * As of the Change Date specified in that file, in accordance with + * the Business Source License, use of this software will be governed + * by the Apache License, Version 2.0, included in the file + * licenses/APL.txt. + */ + +package com.rawlabs.snapi.frontend.snapi.source + +import org.bitbucket.inkytonik.kiama.output._ +import org.bitbucket.inkytonik.kiama.output.PrettyExpression +import com.rawlabs.snapi.frontend.base.source.Type +import com.rawlabs.snapi.frontend.base.Counter +import com.rawlabs.snapi.frontend.base.source._ + +trait SourceNode extends BaseNode + +object SourceTree { + import org.bitbucket.inkytonik.kiama.relation.Tree + + type SourceTree = Tree[SourceNode, SourceProgram] +} + +/** + * Top-level source node. + */ +trait SourceProgram extends SourceNode with BaseProgram { + def params: Vector[SourceProgramParam] + def comment: Option[String] = None +} + +final case class SourceProgramParam(idn: CommonIdnNode, t: Type) extends CommonNode + +/** + * Qualifiers + */ +// TODO (msb): These are best called "Statements" because that's (also?) what they are +// Qual is more general than Stmt: a Gen is a Qual but not a Stmt while Bind is +trait Qual extends SourceNode + +/** + * Declarations + */ +trait Decl extends SourceNode with Qual + +/** + * Expressions + */ +trait Exp extends SourceNode with Qual with PrettyExpression + +/** + * * From now on are "common language"-related nodes. ** + */ + +/** + * Parent of all "common language" nodes. + */ +trait CommonNode extends SourceNode + +/** + * Parent of all "common language" types. + */ +trait CommonType extends Type with CommonNode + +/** + * Any Type + * The top type. + */ +final case class AnyType() extends CommonType + +/** + * Nothing Type + * The bottom type. + */ +final case class NothingType() extends CommonType + +/** + * This type is used when the tree has errors. + */ +final case class ErrorType() extends CommonType + +/** + * Parent of all "common language" expressions. + */ +trait CommonExp extends Exp with CommonNode + +/////////////////////////////////////////////////////////////////////////// +// Type Constraints +/////////////////////////////////////////////////////////////////////////// + +trait CommonTypeConstraint extends CommonType + +/** + * One-of Type constraint. + */ +final case class OneOfType(tipes: Vector[Type]) extends CommonTypeConstraint + +object OneOfType { + def apply(tipes: Type*): OneOfType = { + OneOfType(tipes.toVector) + } +} + +final case class ExpectedRecordType(idns: Set[String]) extends CommonTypeConstraint + +/////////////////////////////////////////////////////////////////////////// +// Identifiers +/////////////////////////////////////////////////////////////////////////// + +abstract class CommonIdnNode extends BaseIdnNode with CommonNode + +/** + * Defining occurrence of an identifier + */ +final case class IdnDef(idn: String) extends CommonIdnNode + +object IdnDef { + def apply(): IdnDef = IdnDef(Counter.next("common")) +} + +/** + * Use of an identifier + */ +final case class IdnUse(idn: String) extends CommonIdnNode + +object IdnUse { + def apply(i: IdnDef): IdnUse = IdnUse(i.idn) +} + +/** + * Identifier expression + */ +final case class IdnExp(idn: IdnUse) extends CommonExp + +object IdnExp { + def apply(i: IdnDef): IdnExp = IdnExp(IdnUse(i.idn)) + def apply(i: String): IdnExp = IdnExp(IdnUse(i)) + def apply(p: SourceProgramParam): IdnExp = IdnExp(p.idn.idn) + def apply(p: BaseIdnNode): IdnExp = IdnExp(p.idn) +} + +/////////////////////////////////////////////////////////////////////////// +// Expressions +/////////////////////////////////////////////////////////////////////////// + +final case class ErrorExp() extends CommonExp + +/////////////////////////////////////////////////////////////////////////// +// Snapi +/////////////////////////////////////////////////////////////////////////// + +sealed trait SnapiNode extends SourceNode + +/////////////////////////////////////////////////////////////////////////// +// Program +/////////////////////////////////////////////////////////////////////////// + +final case class SnapiProgram(methods: Vector[SnapiMethod], me: Option[Exp]) extends SnapiNode with SourceProgram { + override val params: Vector[SourceProgramParam] = Vector.empty +} + +object SnapiProgram { + def apply(e: Exp): SnapiProgram = SnapiProgram(Vector.empty, Some(e)) +} + +final case class SnapiMethod(p: FunProto, i: IdnDef) extends SnapiNode + +/////////////////////////////////////////////////////////////////////////// +// Types +/////////////////////////////////////////////////////////////////////////// + +sealed trait SnapiType extends Type with SnapiNode + +sealed trait SnapiTypeProperty extends SnapiNode +final case class SnapiIsNullableTypeProperty() extends SnapiTypeProperty +final case class SnapiIsTryableTypeProperty() extends SnapiTypeProperty + +/** + * A subset of Snapi types have type properties. + */ +sealed trait SnapiTypeWithProperties extends SnapiType { + def props: Set[SnapiTypeProperty] + def cloneAndAddProp(p: SnapiTypeProperty): Type + def cloneAndRemoveProp(p: SnapiTypeProperty): Type +} + +final case class SnapiUndefinedType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiTypeWithProperties { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiUndefinedType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiUndefinedType(props - p) +} + +/** + * Primitive types + */ +sealed trait SnapiPrimitiveType extends SnapiTypeWithProperties + +final case class SnapiBoolType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiPrimitiveType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiBoolType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiBoolType(props - p) +} + +final case class SnapiStringType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiPrimitiveType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiStringType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiStringType(props - p) +} + +final case class SnapiLocationType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiPrimitiveType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiLocationType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiLocationType(props - p) +} + +final case class SnapiBinaryType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiPrimitiveType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiBinaryType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiBinaryType(props - p) +} + +/** + * Number types + * + * These are also primitive types. + */ +sealed trait SnapiNumberType extends SnapiPrimitiveType + +sealed trait SnapiIntegralNumberType extends SnapiNumberType + +final case class SnapiByteType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiIntegralNumberType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiByteType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiByteType(props - p) +} + +final case class SnapiShortType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiIntegralNumberType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiShortType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiShortType(props - p) +} + +final case class SnapiIntType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiIntegralNumberType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiIntType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiIntType(props - p) +} + +final case class SnapiLongType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiIntegralNumberType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiLongType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiLongType(props - p) +} + +final case class SnapiFloatType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiNumberType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiFloatType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiFloatType(props - p) +} + +final case class SnapiDoubleType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiNumberType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiDoubleType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiDoubleType(props - p) +} + +final case class SnapiDecimalType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiNumberType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiDecimalType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiDecimalType(props - p) +} + +/** + * Temporal types + * + * These are also primitive types. + */ +sealed trait SnapiTemporalType extends SnapiPrimitiveType + +final case class SnapiDateType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiTemporalType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiDateType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiDateType(props - p) +} + +final case class SnapiTimeType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiTemporalType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiTimeType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiTimeType(props - p) +} + +final case class SnapiTimestampType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiTemporalType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiTimestampType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiTimestampType(props - p) +} + +final case class SnapiIntervalType(props: Set[SnapiTypeProperty] = Set.empty) extends SnapiTemporalType { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiIntervalType(props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiIntervalType(props - p) +} + +/** + * Record Type + */ +final case class SnapiRecordType(atts: Vector[SnapiAttrType], props: Set[SnapiTypeProperty] = Set.empty) + extends SnapiTypeWithProperties { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiRecordType(atts, props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiRecordType(atts, props - p) +} +final case class SnapiAttrType(idn: String, tipe: Type) extends SnapiNode + +/** + * Iterable Type + */ +final case class SnapiIterableType(innerType: Type, props: Set[SnapiTypeProperty] = Set.empty) + extends SnapiTypeWithProperties { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiIterableType(innerType, props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiIterableType(innerType, props - p) +} + +/** + * List Type + * + * Inherits from IterableType but provides index operations. + */ +final case class SnapiListType(innerType: Type, props: Set[SnapiTypeProperty] = Set.empty) + extends SnapiTypeWithProperties { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiListType(innerType, props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiListType(innerType, props - p) +} + +/** + * Function Type. + */ +final case class FunType( + ms: Vector[Type], + os: Vector[FunOptTypeParam], + r: Type, + props: Set[SnapiTypeProperty] = Set.empty +) extends SnapiTypeWithProperties { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = FunType(ms, os, r, props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = FunType(ms, os, r, props - p) +} +final case class FunOptTypeParam(i: String, t: Type) extends SnapiNode + +/** + * Or Type. + */ +final case class SnapiOrType(tipes: Vector[Type], props: Set[SnapiTypeProperty] = Set.empty) + extends SnapiTypeWithProperties { + override def cloneAndAddProp(p: SnapiTypeProperty): Type = SnapiOrType(tipes, props + p) + override def cloneAndRemoveProp(p: SnapiTypeProperty): Type = SnapiOrType(tipes, props - p) +} + +object SnapiOrType { + def apply(t1: Type, t2: Type, props: Set[SnapiTypeProperty]): SnapiOrType = { + (t1, t2) match { + case (SnapiOrType(tipes1, props1), SnapiOrType(tipes2, props2)) if props == props1 && props == props2 => + SnapiOrType(tipes1 ++ tipes2, props) + case (SnapiOrType(tipes1, props1), _) if props == props1 => SnapiOrType(tipes1 :+ t2, props) + case (_, SnapiOrType(tipes2, props2)) if props == props2 => SnapiOrType(Vector(t1) ++ tipes2, props) + case _ => SnapiOrType(Vector(t1, t2), props) + } + } +} + +/** + * Package Type. + */ +final case class PackageType(name: String) extends SnapiType +final case class PackageEntryType(pkgName: String, entName: String) extends SnapiType + +/** + * Type Alias. + */ +final case class TypeAliasType(idn: IdnUse) extends SnapiType + +/** + * Expression Type. + * + * The type of an expression such as `type int`. + */ +final case class ExpType(t: Type) extends SnapiType + +/////////////////////////////////////////////////////////////////////////// +// Type Constraints +/////////////////////////////////////////////////////////////////////////// + +sealed trait SnapiTypeConstraint extends SnapiType + +final case class ExpectedProjType(i: String) extends SnapiTypeConstraint + +final case class MergeableType(t: Type) extends SnapiTypeConstraint + +final case class HasTypeProperties(props: Set[SnapiTypeProperty]) extends SnapiTypeConstraint + +final case class IsTryable() extends SnapiTypeConstraint + +final case class IsNullable() extends SnapiTypeConstraint + +final case class DoesNotHaveTypeProperties(props: Set[SnapiTypeProperty]) extends SnapiTypeConstraint + +/////////////////////////////////////////////////////////////////////////// +// Expressions +/////////////////////////////////////////////////////////////////////////// + +sealed trait SnapiExp extends Exp with SnapiNode + +/** + * Constants + */ + +trait Const extends SnapiExp + +final case class NullConst() extends Const + +final case class BoolConst(value: Boolean) extends Const + +final case class StringConst(value: String) extends Const + +final case class TripleQuotedStringConst(value: String) extends Const + +final case class BinaryConst(bytes: Array[Byte]) extends Const { + override def equals(obj: Any): Boolean = { + obj match { + case BinaryConst(otherBytes) => bytes.sameElements(otherBytes) + case _ => false + } + } +} + +final case class LocationConst(bytes: Array[Byte], publicDescription: String) extends Const + +/** + * Number Constants + */ +trait NumberConst extends Const + +final case class ByteConst(value: String) extends NumberConst + +final case class ShortConst(value: String) extends NumberConst + +final case class IntConst(value: String) extends NumberConst + +final case class LongConst(value: String) extends NumberConst + +final case class FloatConst(value: String) extends NumberConst + +final case class DoubleConst(value: String) extends NumberConst + +final case class DecimalConst(value: String) extends NumberConst + +/** + * Type Expression + */ +final case class TypeExp(t: Type) extends SnapiExp + +/** + * Let + */ + +final case class Let(decls: Vector[LetDecl], e: Exp) extends SnapiExp + +sealed abstract class LetDecl extends SnapiNode +final case class LetBind(e: Exp, i: IdnDef, t: Option[Type]) extends LetDecl +final case class LetFun(p: FunProto, i: IdnDef) extends LetDecl +final case class LetFunRec(i: IdnDef, p: FunProto) extends LetDecl + +final case class FunProto(ps: Vector[FunParam], r: Option[Type], b: FunBody) extends SnapiNode + +final case class FunParam(i: IdnDef, t: Option[Type], e: Option[Exp]) extends SnapiNode + +// Body of function (defined as a separate node to have a separate scope). +final case class FunBody(e: Exp) extends SnapiNode + +/** + * Function Abstraction + */ + +final case class FunAbs(p: FunProto) extends SnapiExp + +/** + * Function Application + */ + +final case class FunApp(f: Exp, args: Vector[FunAppArg]) extends SnapiExp + +final case class FunAppArg(e: Exp, idn: Option[String]) extends SnapiNode + +/** + * Projection + */ + +final case class Proj(e: Exp, i: String) extends SnapiExp + +/** + * Unary Operators + */ + +final case class UnaryExp(unaryOp: UnaryOp, exp: Exp) extends SnapiExp with PrettyUnaryExpression { + override def op: String = unaryOp.op + override def priority: Int = unaryOp.priority + override def fixity: Fixity = unaryOp.fixity +} + +sealed abstract class UnaryOp(val op: String, val priority: Int) extends SnapiNode { + def fixity = Prefix +} + +final case class Not() extends UnaryOp("not", 2) + +final case class Neg() extends UnaryOp("-", 2) + +/** + * Binary Operators + */ +final case class BinaryExp(binaryOp: BinaryOp, left: Exp, right: Exp) extends SnapiExp with PrettyBinaryExpression { + override def op: String = binaryOp.op + override def priority: Int = binaryOp.priority + override def fixity: Fixity = binaryOp.fixity +} + +sealed abstract class BinaryOp(val op: String, val priority: Int) extends SnapiNode { + def fixity = Infix(LeftAssoc) +} + +final case class Plus() extends BinaryOp("+", 5) + +final case class Sub() extends BinaryOp("-", 5) + +final case class Mult() extends BinaryOp("*", 4) + +final case class Div() extends BinaryOp("/", 4) + +final case class Mod() extends BinaryOp("%", 4) + +sealed abstract class ComparableOp(op: String, priority: Int) extends BinaryOp(op, priority) + +final case class Ge() extends ComparableOp(">=", 7) + +final case class Gt() extends ComparableOp(">", 7) + +final case class Le() extends ComparableOp("<=", 7) + +final case class Lt() extends ComparableOp("<", 7) + +final case class Eq() extends ComparableOp("==", 8) + +final case class Neq() extends ComparableOp("!=", 8) + +sealed abstract class BooleanOp(op: String, priority: Int) extends BinaryOp(op, priority) + +final case class And() extends BooleanOp("and", 12) + +final case class Or() extends BooleanOp("or", 13) + +/** + * Tertiary Operators + */ + +final case class IfThenElse(e1: Exp, e2: Exp, e3: Exp) extends SnapiExp + +/** + * PackageIdnExp + * + * Used to refer to built-in package names. + */ +final case class PackageIdnExp(name: String) extends SnapiExp diff --git a/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/Antlr4LspTests.scala b/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/Antlr4LspTests.scala index 80a894fb5..5b0960196 100644 --- a/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/Antlr4LspTests.scala +++ b/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/Antlr4LspTests.scala @@ -10,11 +10,11 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi -import com.rawlabs.snapi.frontend.rql2.source.{ErrorType, IdnDef, IdnExp, IdnUse} -import com.rawlabs.snapi.frontend.rql2.antlr4.Antlr4SyntaxAnalyzer -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source.{ErrorType, IdnDef, IdnExp, IdnUse} +import com.rawlabs.snapi.frontend.snapi.antlr4.Antlr4SyntaxAnalyzer +import com.rawlabs.snapi.frontend.snapi.source._ import com.rawlabs.utils.core.RawTestSuite class Antlr4LspTests extends RawTestSuite { @@ -88,13 +88,13 @@ class Antlr4LspTests extends RawTestSuite { val result = parseWithAntlr4(prog) assert(result.hasErrors) assert( - result.tree == Rql2Program( + result.tree == SnapiProgram( Vector(), Some( Let( Vector( LetBind( - TypeExp(Rql2IntType(Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()))), + TypeExp(SnapiIntType(Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty()))), IdnDef("b"), None ), @@ -112,13 +112,13 @@ class Antlr4LspTests extends RawTestSuite { val result = parseWithAntlr4(prog) assert(result.hasErrors) assert( - result.tree == Rql2Program( + result.tree == SnapiProgram( Vector(), Some( Let( Vector( LetBind( - TypeExp(Rql2IntType(Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()))), + TypeExp(SnapiIntType(Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty()))), IdnDef("b"), None ), diff --git a/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/Antlr4TypeTests.scala b/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/Antlr4TypeTests.scala index 97fccfae0..d4e3d34f7 100644 --- a/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/Antlr4TypeTests.scala +++ b/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/Antlr4TypeTests.scala @@ -10,16 +10,17 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi import com.rawlabs.snapi.frontend.base.source.Type -import com.rawlabs.snapi.frontend.rql2.antlr4.Antlr4SyntaxAnalyzer -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.antlr4.Antlr4SyntaxAnalyzer +import com.rawlabs.snapi.frontend.snapi.source._ import com.rawlabs.utils.core.RawTestSuite class Antlr4TypeTests extends RawTestSuite { - def props: Set[Rql2TypeProperty] = Set[Rql2TypeProperty](Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty()) + def props: Set[SnapiTypeProperty] = + Set[SnapiTypeProperty](SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty()) def parseType(s: String): Type = { val positions = new org.bitbucket.inkytonik.kiama.util.Positions @@ -28,48 +29,48 @@ class Antlr4TypeTests extends RawTestSuite { } // Single types - test("""int type""")(_ => assert(parseType("int") == Rql2IntType(props))) + test("""int type""")(_ => assert(parseType("int") == SnapiIntType(props))) test("""Record""") { _ => assert( parseType( "record(a: byte, b: short, c: int, e: long, f: float, g: double, h: decimal, i: bool, j: string, k: undefined)" - ) == Rql2RecordType( + ) == SnapiRecordType( Vector( - Rql2AttrType("a", Rql2ByteType(props)), - Rql2AttrType("b", Rql2ShortType(props)), - Rql2AttrType("c", Rql2IntType(props)), - Rql2AttrType("e", Rql2LongType(props)), - Rql2AttrType("f", Rql2FloatType(props)), - Rql2AttrType("g", Rql2DoubleType(props)), - Rql2AttrType("h", Rql2DecimalType(props)), - Rql2AttrType("i", Rql2BoolType(props)), - Rql2AttrType("j", Rql2StringType(props)), - Rql2AttrType("k", Rql2UndefinedType(props)) + SnapiAttrType("a", SnapiByteType(props)), + SnapiAttrType("b", SnapiShortType(props)), + SnapiAttrType("c", SnapiIntType(props)), + SnapiAttrType("e", SnapiLongType(props)), + SnapiAttrType("f", SnapiFloatType(props)), + SnapiAttrType("g", SnapiDoubleType(props)), + SnapiAttrType("h", SnapiDecimalType(props)), + SnapiAttrType("i", SnapiBoolType(props)), + SnapiAttrType("j", SnapiStringType(props)), + SnapiAttrType("k", SnapiUndefinedType(props)) ), props ) ) - assert(parseType("record()") == Rql2RecordType(Vector.empty, props)) + assert(parseType("record()") == SnapiRecordType(Vector.empty, props)) } test("""Collection of records""") { _ => assert( parseType( "collection(record(a: byte, b: short, c: int, e: long, f: float, g: double, h: decimal, i: bool, j: string, k: undefined))" - ) == Rql2IterableType( - Rql2RecordType( + ) == SnapiIterableType( + SnapiRecordType( Vector( - Rql2AttrType("a", Rql2ByteType(props)), - Rql2AttrType("b", Rql2ShortType(props)), - Rql2AttrType("c", Rql2IntType(props)), - Rql2AttrType("e", Rql2LongType(props)), - Rql2AttrType("f", Rql2FloatType(props)), - Rql2AttrType("g", Rql2DoubleType(props)), - Rql2AttrType("h", Rql2DecimalType(props)), - Rql2AttrType("i", Rql2BoolType(props)), - Rql2AttrType("j", Rql2StringType(props)), - Rql2AttrType("k", Rql2UndefinedType(props)) + SnapiAttrType("a", SnapiByteType(props)), + SnapiAttrType("b", SnapiShortType(props)), + SnapiAttrType("c", SnapiIntType(props)), + SnapiAttrType("e", SnapiLongType(props)), + SnapiAttrType("f", SnapiFloatType(props)), + SnapiAttrType("g", SnapiDoubleType(props)), + SnapiAttrType("h", SnapiDecimalType(props)), + SnapiAttrType("i", SnapiBoolType(props)), + SnapiAttrType("j", SnapiStringType(props)), + SnapiAttrType("k", SnapiUndefinedType(props)) ), props ), @@ -82,19 +83,19 @@ class Antlr4TypeTests extends RawTestSuite { assert( parseType( "list(record(a: byte, b: short, c: int, e: long, f: float, g: double, h: decimal, i: bool, j: string, k: undefined))" - ) == Rql2ListType( - Rql2RecordType( + ) == SnapiListType( + SnapiRecordType( Vector( - Rql2AttrType("a", Rql2ByteType(props)), - Rql2AttrType("b", Rql2ShortType(props)), - Rql2AttrType("c", Rql2IntType(props)), - Rql2AttrType("e", Rql2LongType(props)), - Rql2AttrType("f", Rql2FloatType(props)), - Rql2AttrType("g", Rql2DoubleType(props)), - Rql2AttrType("h", Rql2DecimalType(props)), - Rql2AttrType("i", Rql2BoolType(props)), - Rql2AttrType("j", Rql2StringType(props)), - Rql2AttrType("k", Rql2UndefinedType(props)) + SnapiAttrType("a", SnapiByteType(props)), + SnapiAttrType("b", SnapiShortType(props)), + SnapiAttrType("c", SnapiIntType(props)), + SnapiAttrType("e", SnapiLongType(props)), + SnapiAttrType("f", SnapiFloatType(props)), + SnapiAttrType("g", SnapiDoubleType(props)), + SnapiAttrType("h", SnapiDecimalType(props)), + SnapiAttrType("i", SnapiBoolType(props)), + SnapiAttrType("j", SnapiStringType(props)), + SnapiAttrType("k", SnapiUndefinedType(props)) ), props ), @@ -105,13 +106,13 @@ class Antlr4TypeTests extends RawTestSuite { // Or type tests test("""2 types or""") { _ => - assert(parseType("int or string") == Rql2OrType(Vector(Rql2IntType(props), Rql2StringType(props)), props)) + assert(parseType("int or string") == SnapiOrType(Vector(SnapiIntType(props), SnapiStringType(props)), props)) } test("""Not nested 3 types or""") { _ => assert( - parseType("int or string or float") == Rql2OrType( - Vector(Rql2IntType(props), Rql2StringType(props), Rql2FloatType(props)), + parseType("int or string or float") == SnapiOrType( + Vector(SnapiIntType(props), SnapiStringType(props), SnapiFloatType(props)), props ) ) @@ -119,8 +120,8 @@ class Antlr4TypeTests extends RawTestSuite { test("""Left nested 3 type or""") { _ => assert( - parseType("(int or string) or float") == Rql2OrType( - Vector(Rql2OrType(Vector(Rql2IntType(props), Rql2StringType(props)), props), Rql2FloatType(props)), + parseType("(int or string) or float") == SnapiOrType( + Vector(SnapiOrType(Vector(SnapiIntType(props), SnapiStringType(props)), props), SnapiFloatType(props)), props ) ) @@ -128,8 +129,8 @@ class Antlr4TypeTests extends RawTestSuite { test("""Right nested 3 type or""") { _ => assert( - parseType("(int or string) or float") == Rql2OrType( - Vector(Rql2OrType(Vector(Rql2IntType(props), Rql2StringType(props)), props), Rql2FloatType(props)), + parseType("(int or string) or float") == SnapiOrType( + Vector(SnapiOrType(Vector(SnapiIntType(props), SnapiStringType(props)), props), SnapiFloatType(props)), props ) ) @@ -137,7 +138,7 @@ class Antlr4TypeTests extends RawTestSuite { test("""Function type test""") { _ => assert( - parseType("int -> string") == FunType(Vector(Rql2IntType(props)), Vector.empty, Rql2StringType(props), props) + parseType("int -> string") == FunType(Vector(SnapiIntType(props)), Vector.empty, SnapiStringType(props), props) ) } @@ -146,13 +147,13 @@ class Antlr4TypeTests extends RawTestSuite { parseType("int or string -> float") == FunType( Vector( - Rql2OrType( - Vector(Rql2IntType(props), Rql2StringType(props)), + SnapiOrType( + Vector(SnapiIntType(props), SnapiStringType(props)), props ) ), Vector.empty, - Rql2FloatType(props), + SnapiFloatType(props), props ) ) @@ -160,8 +161,11 @@ class Antlr4TypeTests extends RawTestSuite { test("""Or type with function alternative test""") { _ => assert( - parseType("int or (string -> float)") == Rql2OrType( - Vector(Rql2IntType(props), FunType(Vector(Rql2StringType(props)), Vector.empty, Rql2FloatType(props), props)), + parseType("int or (string -> float)") == SnapiOrType( + Vector( + SnapiIntType(props), + FunType(Vector(SnapiStringType(props)), Vector.empty, SnapiFloatType(props), props) + ), props ) ) @@ -172,13 +176,13 @@ class Antlr4TypeTests extends RawTestSuite { parseType("(int or string) -> float") == FunType( Vector( - Rql2OrType( - Vector(Rql2IntType(props), Rql2StringType(props)), + SnapiOrType( + Vector(SnapiIntType(props), SnapiStringType(props)), props ) ), Vector.empty, - Rql2FloatType(props), + SnapiFloatType(props), props ) ) @@ -189,8 +193,8 @@ class Antlr4TypeTests extends RawTestSuite { parseType("(x: int) -> float") == FunType( Vector.empty, - Vector(FunOptTypeParam("x", Rql2IntType(props))), - Rql2FloatType(props), + Vector(FunOptTypeParam("x", SnapiIntType(props))), + SnapiFloatType(props), props ) ) @@ -202,7 +206,7 @@ class Antlr4TypeTests extends RawTestSuite { FunType( Vector.empty, Vector.empty, - Rql2FloatType(props), + SnapiFloatType(props), props ) ) @@ -212,9 +216,9 @@ class Antlr4TypeTests extends RawTestSuite { assert( parseType("(int, b: string) -> float") == FunType( - Vector(Rql2IntType(props)), - Vector(FunOptTypeParam("b", Rql2StringType(props))), - Rql2FloatType(props), + Vector(SnapiIntType(props)), + Vector(FunOptTypeParam("b", SnapiStringType(props))), + SnapiFloatType(props), props ) ) @@ -225,13 +229,13 @@ class Antlr4TypeTests extends RawTestSuite { parseType("(int or string, c: float or bool) -> float") == FunType( Vector( - Rql2OrType( - Vector(Rql2IntType(props), Rql2StringType(props)), + SnapiOrType( + Vector(SnapiIntType(props), SnapiStringType(props)), props ) ), - Vector(FunOptTypeParam("c", Rql2OrType(Vector(Rql2FloatType(props), Rql2BoolType(props)), props))), - Rql2FloatType(props), + Vector(FunOptTypeParam("c", SnapiOrType(Vector(SnapiFloatType(props), SnapiBoolType(props)), props))), + SnapiFloatType(props), props ) ) @@ -242,10 +246,10 @@ class Antlr4TypeTests extends RawTestSuite { parseType("int -> string -> float") == FunType( Vector( - FunType(Vector(Rql2IntType(props)), Vector.empty, Rql2StringType(props), props) + FunType(Vector(SnapiIntType(props)), Vector.empty, SnapiStringType(props), props) ), Vector.empty, - Rql2FloatType(props), + SnapiFloatType(props), props ) ) @@ -256,10 +260,10 @@ class Antlr4TypeTests extends RawTestSuite { parseType("(int -> string) -> float") == FunType( Vector( - FunType(Vector(Rql2IntType(props)), Vector.empty, Rql2StringType(props), props) + FunType(Vector(SnapiIntType(props)), Vector.empty, SnapiStringType(props), props) ), Vector.empty, - Rql2FloatType(props), + SnapiFloatType(props), props ) ) @@ -269,9 +273,9 @@ class Antlr4TypeTests extends RawTestSuite { assert( parseType("int -> (string -> float)") == FunType( - Vector(Rql2IntType(props)), + Vector(SnapiIntType(props)), Vector.empty, - FunType(Vector(Rql2StringType(props)), Vector.empty, Rql2FloatType(props), props), + FunType(Vector(SnapiStringType(props)), Vector.empty, SnapiFloatType(props), props), props ) ) diff --git a/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/FrontendSyntaxAnalyzerCompareTest.scala b/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/FrontendSyntaxAnalyzerCompareTest.scala index 6da83386d..2d38363da 100644 --- a/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/FrontendSyntaxAnalyzerCompareTest.scala +++ b/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/FrontendSyntaxAnalyzerCompareTest.scala @@ -10,11 +10,11 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi -import com.rawlabs.snapi.frontend.rql2.source.{Exp, SourceNode} -import com.rawlabs.snapi.frontend.rql2.antlr4.Antlr4SyntaxAnalyzer -import com.rawlabs.snapi.frontend.rql2.source.TypeExp +import com.rawlabs.snapi.frontend.snapi.source.{Exp, SourceNode} +import com.rawlabs.snapi.frontend.snapi.antlr4.Antlr4SyntaxAnalyzer +import com.rawlabs.snapi.frontend.snapi.source.TypeExp import com.rawlabs.utils.core.RawTestSuite import org.bitbucket.inkytonik.kiama.rewriting.Cloner.{everywhere, query} diff --git a/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/OldFrontendSyntaxAnalyzerTest.scala b/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/OldFrontendSyntaxAnalyzerTest.scala index 3db22b555..f7060578b 100644 --- a/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/OldFrontendSyntaxAnalyzerTest.scala +++ b/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/OldFrontendSyntaxAnalyzerTest.scala @@ -10,11 +10,11 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi import com.rawlabs.snapi.frontend.base.source.{BaseProgram, Type} -import com.rawlabs.snapi.frontend.rql2.source.{IdnDef, IdnExp, IdnUse} -import com.rawlabs.snapi.frontend.rql2.source._ +import com.rawlabs.snapi.frontend.snapi.source.{IdnDef, IdnExp, IdnUse} +import com.rawlabs.snapi.frontend.snapi.source._ import com.rawlabs.utils.core.RawTestSuite class OldFrontendSyntaxAnalyzerTest extends RawTestSuite { @@ -32,46 +32,49 @@ class OldFrontendSyntaxAnalyzerTest extends RawTestSuite { } test("""type priority tests""") { _ => - val props = Set[Rql2TypeProperty](Rql2IsNullableTypeProperty(), Rql2IsTryableTypeProperty()) - assert(parseType("int or string") == Rql2OrType(Vector(Rql2IntType(props), Rql2StringType(props)), props)) + val props = Set[SnapiTypeProperty](SnapiIsNullableTypeProperty(), SnapiIsTryableTypeProperty()) + assert(parseType("int or string") == SnapiOrType(Vector(SnapiIntType(props), SnapiStringType(props)), props)) assert( - parseType("int or string or float") == Rql2OrType( - Vector(Rql2IntType(props), Rql2StringType(props), Rql2FloatType(props)), + parseType("int or string or float") == SnapiOrType( + Vector(SnapiIntType(props), SnapiStringType(props), SnapiFloatType(props)), props ) ) assert( - parseType("(int or string) or float") == Rql2OrType( - Vector(Rql2IntType(props), Rql2StringType(props), Rql2FloatType(props)), + parseType("(int or string) or float") == SnapiOrType( + Vector(SnapiIntType(props), SnapiStringType(props), SnapiFloatType(props)), props ) ) assert( - parseType("int or (string or float)") == Rql2OrType( - Vector(Rql2IntType(props), Rql2StringType(props), Rql2FloatType(props)), + parseType("int or (string or float)") == SnapiOrType( + Vector(SnapiIntType(props), SnapiStringType(props), SnapiFloatType(props)), props ) ) assert( - parseType("int -> string") == FunType(Vector(Rql2IntType(props)), Vector.empty, Rql2StringType(props), props) + parseType("int -> string") == FunType(Vector(SnapiIntType(props)), Vector.empty, SnapiStringType(props), props) ) assert( parseType("int or string -> float") == FunType( Vector( - Rql2OrType( - Vector(Rql2IntType(props), Rql2StringType(props)), + SnapiOrType( + Vector(SnapiIntType(props), SnapiStringType(props)), props ) ), Vector.empty, - Rql2FloatType(props), + SnapiFloatType(props), props ) ) assert( - parseType("int or (string -> float)") == Rql2OrType( - Vector(Rql2IntType(props), FunType(Vector(Rql2StringType(props)), Vector.empty, Rql2FloatType(props), props)), + parseType("int or (string -> float)") == SnapiOrType( + Vector( + SnapiIntType(props), + FunType(Vector(SnapiStringType(props)), Vector.empty, SnapiFloatType(props), props) + ), props ) ) @@ -79,13 +82,13 @@ class OldFrontendSyntaxAnalyzerTest extends RawTestSuite { parseType("(int or string) -> float") == FunType( Vector( - Rql2OrType( - Vector(Rql2IntType(props), Rql2StringType(props)), + SnapiOrType( + Vector(SnapiIntType(props), SnapiStringType(props)), props ) ), Vector.empty, - Rql2FloatType(props), + SnapiFloatType(props), props ) ) @@ -93,17 +96,17 @@ class OldFrontendSyntaxAnalyzerTest extends RawTestSuite { parseType("(x: int) -> float") == FunType( Vector.empty, - Vector(FunOptTypeParam("x", Rql2IntType(props))), - Rql2FloatType(props), + Vector(FunOptTypeParam("x", SnapiIntType(props))), + SnapiFloatType(props), props ) ) assert( parseType("(int, b: string) -> float") == FunType( - Vector(Rql2IntType(props)), - Vector(FunOptTypeParam("b", Rql2StringType(props))), - Rql2FloatType(props), + Vector(SnapiIntType(props)), + Vector(FunOptTypeParam("b", SnapiStringType(props))), + SnapiFloatType(props), props ) ) @@ -111,13 +114,13 @@ class OldFrontendSyntaxAnalyzerTest extends RawTestSuite { parseType("(int or string, c: float or bool) -> float") == FunType( Vector( - Rql2OrType( - Vector(Rql2IntType(props), Rql2StringType(props)), + SnapiOrType( + Vector(SnapiIntType(props), SnapiStringType(props)), props ) ), - Vector(FunOptTypeParam("c", Rql2OrType(Vector(Rql2FloatType(props), Rql2BoolType(props)), props))), - Rql2FloatType(props), + Vector(FunOptTypeParam("c", SnapiOrType(Vector(SnapiFloatType(props), SnapiBoolType(props)), props))), + SnapiFloatType(props), props ) ) @@ -125,10 +128,10 @@ class OldFrontendSyntaxAnalyzerTest extends RawTestSuite { parseType("int -> string -> float") == FunType( Vector( - FunType(Vector(Rql2IntType(props)), Vector.empty, Rql2StringType(props), props) + FunType(Vector(SnapiIntType(props)), Vector.empty, SnapiStringType(props), props) ), Vector.empty, - Rql2FloatType(props), + SnapiFloatType(props), props ) ) @@ -136,26 +139,26 @@ class OldFrontendSyntaxAnalyzerTest extends RawTestSuite { parseType("(int -> string) -> float") == FunType( Vector( - FunType(Vector(Rql2IntType(props)), Vector.empty, Rql2StringType(props), props) + FunType(Vector(SnapiIntType(props)), Vector.empty, SnapiStringType(props), props) ), Vector.empty, - Rql2FloatType(props), + SnapiFloatType(props), props ) ) assert( parseType("int -> (string -> float)") == FunType( - Vector(Rql2IntType(props)), + Vector(SnapiIntType(props)), Vector.empty, - FunType(Vector(Rql2StringType(props)), Vector.empty, Rql2FloatType(props), props), + FunType(Vector(SnapiStringType(props)), Vector.empty, SnapiFloatType(props), props), props ) ) assert( parseType("list(int)") == - Rql2ListType( - Rql2IntType(props), + SnapiListType( + SnapiIntType(props), props ) ) @@ -167,7 +170,7 @@ class OldFrontendSyntaxAnalyzerTest extends RawTestSuite { | let f = (v: int): string -> v | in f (1) | """.stripMargin) == - Rql2Program( + SnapiProgram( Vector(), Some( Let( @@ -178,11 +181,11 @@ class OldFrontendSyntaxAnalyzerTest extends RawTestSuite { Vector( FunParam( IdnDef("v"), - Some(Rql2IntType(Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()))), + Some(SnapiIntType(Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty()))), None ) ), - Some(Rql2StringType(Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()))), + Some(SnapiStringType(Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty()))), FunBody(IdnExp(IdnUse("v"))) ) ), @@ -203,7 +206,7 @@ class OldFrontendSyntaxAnalyzerTest extends RawTestSuite { |let apply(boolFunc: (int -> bool) -> bool) = boolFunc((x: int) -> x > 10) |in apply((f: int -> bool) -> f(14)) |""".stripMargin) == - Rql2Program( + SnapiProgram( Vector(), Some( Let( @@ -217,15 +220,15 @@ class OldFrontendSyntaxAnalyzerTest extends RawTestSuite { FunType( Vector( FunType( - Vector(Rql2IntType(Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()))), + Vector(SnapiIntType(Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty()))), Vector(), - Rql2BoolType(Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty())), - Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()) + SnapiBoolType(Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty())), + Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty()) ) ), Vector(), - Rql2BoolType(Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty())), - Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()) + SnapiBoolType(Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty())), + Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty()) ) ), None @@ -242,7 +245,9 @@ class OldFrontendSyntaxAnalyzerTest extends RawTestSuite { Vector( FunParam( IdnDef("x"), - Some(Rql2IntType(Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()))), + Some( + SnapiIntType(Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty())) + ), None ) ), @@ -270,10 +275,10 @@ class OldFrontendSyntaxAnalyzerTest extends RawTestSuite { IdnDef("f"), Some( FunType( - Vector(Rql2IntType(Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()))), + Vector(SnapiIntType(Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty()))), Vector(), - Rql2BoolType(Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty())), - Set(Rql2IsTryableTypeProperty(), Rql2IsNullableTypeProperty()) + SnapiBoolType(Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty())), + Set(SnapiIsTryableTypeProperty(), SnapiIsNullableTypeProperty()) ) ), None diff --git a/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/PrettyPrintTest.scala b/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/PrettyPrintTest.scala index 6bb98d1f4..d96ff70f9 100644 --- a/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/PrettyPrintTest.scala +++ b/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/PrettyPrintTest.scala @@ -10,9 +10,9 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi -import com.rawlabs.snapi.frontend.rql2.source.SourceCommentsPrettyPrinter +import com.rawlabs.snapi.frontend.snapi.source.SourceCommentsPrettyPrinter import com.rawlabs.utils.core.RawTestSuite import org.scalatest.Assertion diff --git a/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/SyntaxAnalyzerCompareTest.scala b/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/SyntaxAnalyzerCompareTest.scala index fb2a9808e..6a1d07909 100644 --- a/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/SyntaxAnalyzerCompareTest.scala +++ b/snapi-frontend/src/test/scala/com/rawlabs/snapi/frontend/rql2/SyntaxAnalyzerCompareTest.scala @@ -10,11 +10,11 @@ * licenses/APL.txt. */ -package com.rawlabs.snapi.frontend.rql2 +package com.rawlabs.snapi.frontend.snapi -import com.rawlabs.snapi.frontend.rql2.source.{Exp, SourceNode} -import com.rawlabs.snapi.frontend.rql2.antlr4.Antlr4SyntaxAnalyzer -import com.rawlabs.snapi.frontend.rql2.source.TypeExp +import com.rawlabs.snapi.frontend.snapi.source.{Exp, SourceNode} +import com.rawlabs.snapi.frontend.snapi.antlr4.Antlr4SyntaxAnalyzer +import com.rawlabs.snapi.frontend.snapi.source.TypeExp import com.rawlabs.utils.core.RawTestSuite import org.bitbucket.inkytonik.kiama.rewriting.Cloner.{everywhere, query} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2Context.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiContext.java similarity index 91% rename from snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2Context.java rename to snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiContext.java index 3db908a3a..fd628e4e8 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2Context.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiContext.java @@ -29,9 +29,9 @@ import java.util.Set; import scala.collection.JavaConverters; -public final class Rql2Context { +public final class SnapiContext { - private final Rql2Language language; + private final SnapiLanguage language; private final Env env; private final RawSettings rawSettings; private final OutputStream output; @@ -39,12 +39,12 @@ public final class Rql2Context { private final FunctionRegistry functionRegistry; @CompilerDirectives.TruffleBoundary - public Rql2Context(Rql2Language language, Env env) { + public SnapiContext(SnapiLanguage language, Env env) { this.language = language; this.env = env; this.output = env.out(); - String rawSettingsConfigString = env.getOptions().get(Rql2Options.RAW_SETTINGS_KEY); + String rawSettingsConfigString = env.getOptions().get(SnapiOptions.RAW_SETTINGS_KEY); // If settings were passed as Engine options, used those as our settings. // Otherwise, default to the settings from the language, which are obtained from the system. if (rawSettingsConfigString.isEmpty()) { @@ -70,7 +70,7 @@ public FunctionRegistry getFunctionRegistry() { return functionRegistry; } - public Rql2Language getLanguage() { + public SnapiLanguage getLanguage() { return language; } @@ -142,10 +142,10 @@ public String[] getScopes() { return javaScopes.toArray(new String[0]); } - private static final TruffleLanguage.ContextReference REFERENCE = - TruffleLanguage.ContextReference.create(Rql2Language.class); + private static final TruffleLanguage.ContextReference REFERENCE = + TruffleLanguage.ContextReference.create(SnapiLanguage.class); - public static Rql2Context get(Node node) { + public static SnapiContext get(Node node) { return REFERENCE.get(node); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2Language.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiLanguage.java similarity index 84% rename from snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2Language.java rename to snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiLanguage.java index 725140213..b38ba7edd 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2Language.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiLanguage.java @@ -30,15 +30,15 @@ import com.rawlabs.snapi.frontend.base.Phase; import com.rawlabs.snapi.frontend.base.source.Type; import com.rawlabs.snapi.frontend.inferrer.api.InferrerService; -import com.rawlabs.snapi.frontend.rql2.*; -import com.rawlabs.snapi.frontend.rql2.PhaseDescriptor; -import com.rawlabs.snapi.frontend.rql2.phases.ImplicitCastsPhase; -import com.rawlabs.snapi.frontend.rql2.phases.ListProjDesugarerPhase; -import com.rawlabs.snapi.frontend.rql2.phases.PropagationPhase; -import com.rawlabs.snapi.frontend.rql2.phases.SugarExtensionDesugarerPhase; -import com.rawlabs.snapi.frontend.rql2.source.InternalSourcePrettyPrinter; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Program; -import com.rawlabs.snapi.frontend.rql2.source.SourceProgram; +import com.rawlabs.snapi.frontend.snapi.*; +import com.rawlabs.snapi.frontend.snapi.PhaseDescriptor; +import com.rawlabs.snapi.frontend.snapi.phases.ImplicitCastsPhase; +import com.rawlabs.snapi.frontend.snapi.phases.ListProjDesugarerPhase; +import com.rawlabs.snapi.frontend.snapi.phases.PropagationPhase; +import com.rawlabs.snapi.frontend.snapi.phases.SugarExtensionDesugarerPhase; +import com.rawlabs.snapi.frontend.snapi.source.InternalSourcePrettyPrinter; +import com.rawlabs.snapi.frontend.snapi.source.SnapiProgram; +import com.rawlabs.snapi.frontend.snapi.source.SourceProgram; import com.rawlabs.snapi.truffle.emitter.TruffleEmit; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleValidationException; import com.rawlabs.snapi.truffle.runtime.record.DuplicateKeyRecord; @@ -52,11 +52,11 @@ import scala.collection.JavaConverters; @TruffleLanguage.Registration( - id = Rql2Language.ID, - name = "RQL", - version = Rql2Language.VERSION, - defaultMimeType = Rql2Language.MIME_TYPE, - characterMimeTypes = Rql2Language.MIME_TYPE) + id = SnapiLanguage.ID, + name = "Snapi", + version = SnapiLanguage.VERSION, + defaultMimeType = SnapiLanguage.MIME_TYPE, + characterMimeTypes = SnapiLanguage.MIME_TYPE) @ProvidedTags({ StandardTags.CallTag.class, StandardTags.StatementTag.class, @@ -66,13 +66,13 @@ StandardTags.ReadVariableTag.class, StandardTags.WriteVariableTag.class }) -public final class Rql2Language extends TruffleLanguage { +public final class SnapiLanguage extends TruffleLanguage { - public static final String ID = "rql"; + public static final String ID = "snapi"; public static final String VERSION = "0.10"; - public static final String MIME_TYPE = "application/x-rql"; + public static final String MIME_TYPE = "application/x-snapi"; - private static final Rql2LanguageCache languageCache = new Rql2LanguageCache(); + private static final SnapiLanguageCache languageCache = new SnapiLanguageCache(); private static final RawSettings defaultRawSettings = new RawSettings(ConfigFactory.load(), ConfigFactory.empty()); @@ -92,23 +92,23 @@ public DuplicateKeyRecord createDuplicateKeyRecord() { } @Override - protected final Rql2Context createContext(Env env) { - Rql2Context context = new Rql2Context(this, env); + protected final SnapiContext createContext(Env env) { + SnapiContext context = new SnapiContext(this, env); // The language cache keeps track of active contexts, so that it knows when to shutdown itself. languageCache.incrementContext(context); return context; } @Override - protected void finalizeContext(Rql2Context context) { + protected void finalizeContext(SnapiContext context) { // The language cache keeps track of active contexts, so that it knows when to shutdown itself. languageCache.releaseContext(context); } - private static final LanguageReference REFERENCE = - LanguageReference.create(Rql2Language.class); + private static final LanguageReference REFERENCE = + LanguageReference.create(SnapiLanguage.class); - public static Rql2Language get(Node node) { + public static SnapiLanguage get(Node node) { return REFERENCE.get(node); } @@ -116,12 +116,12 @@ public static Rql2Language get(Node node) { @Override protected OptionDescriptors getOptionDescriptors() { - return Rql2Options.OPTION_DESCRIPTORS; + return SnapiOptions.OPTION_DESCRIPTORS; } @Override protected CallTarget parse(ParsingRequest request) throws Exception { - Rql2Context context = Rql2Context.get(null); + SnapiContext context = SnapiContext.get(null); ProgramContext programContext = new ProgramContext( @@ -136,13 +136,13 @@ protected CallTarget parse(ParsingRequest request) throws Exception { if (context .getEnv() .getOptions() - .get(Rql2Options.STAGED_COMPILER_KEY) + .get(SnapiOptions.STAGED_COMPILER_KEY) .equalsIgnoreCase("true")) { frontend = false; } TreeWithPositions tree = new TreeWithPositions(source, false, frontend, programContext); if (tree.valid()) { - Rql2Program inputProgram = (Rql2Program) tree.root(); + SnapiProgram inputProgram = (SnapiProgram) tree.root(); SourceProgram outputProgram = transpile(inputProgram, programContext); Entrypoint entrypoint = TruffleEmit.doEmit(outputProgram, this, programContext); RootNode rootNode = (RootNode) entrypoint.target(); @@ -237,7 +237,7 @@ private Phase buildPipeline( // We return the function registry as a polyglot 'hasMembers' object (members // are the function names, that resolve to the function objects). @Override - protected Object getScope(Rql2Context context) { + protected Object getScope(SnapiContext context) { return context.getFunctionRegistry().asPolyglot(); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2LanguageCache.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiLanguageCache.java similarity index 90% rename from snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2LanguageCache.java rename to snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiLanguageCache.java index 1764ac576..8b3112001 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2LanguageCache.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiLanguageCache.java @@ -24,10 +24,10 @@ import java.util.concurrent.ConcurrentHashMap; import scala.runtime.BoxedUnit; -public class Rql2LanguageCache { +public class SnapiLanguageCache { private final Object activeContextsLock = new Object(); - private final Set activeContexts = new HashSet(); + private final Set activeContexts = new HashSet(); private final ConcurrentHashMap map = new ConcurrentHashMap<>(); @@ -56,7 +56,7 @@ private Value get(RawUid user, RawSettings rawSettings) { k -> { InferrerService inferrer = InferrerServiceProvider.apply(rawSettings); CompilerContext compilerContext = - new CompilerContext("rql2-truffle", user, inferrer, rawSettings); + new CompilerContext("snapi", user, inferrer, rawSettings); return new Value(compilerContext, inferrer); }); } @@ -70,14 +70,14 @@ public InferrerService getInferrer(RawUid user, RawSettings rawSettings) { } @CompilerDirectives.TruffleBoundary - public void incrementContext(Rql2Context context) { + public void incrementContext(SnapiContext context) { synchronized (activeContextsLock) { activeContexts.add(context); } } @CompilerDirectives.TruffleBoundary - public void releaseContext(Rql2Context context) { + public void releaseContext(SnapiContext context) { synchronized (activeContextsLock) { activeContexts.remove(context); if (activeContexts.isEmpty()) { diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2Options.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiOptions.java similarity index 95% rename from snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2Options.java rename to snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiOptions.java index ec4b95a6e..cec34ad83 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2Options.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiOptions.java @@ -16,7 +16,7 @@ import org.graalvm.options.OptionDescriptors; import org.graalvm.options.OptionKey; -public class Rql2Options { +public class SnapiOptions { public static final String STAGED_COMPILER = optionName("staged-compiler"); public static final OptionKey STAGED_COMPILER_KEY = new OptionKey<>(""); @@ -34,6 +34,6 @@ public class Rql2Options { java.util.Arrays.asList(STAGED_COMPILER_DESCRIPTOR, RAW_SETTINGS_DESCRIPTOR)); private static String optionName(String name) { - return Rql2Language.ID + "." + name; + return SnapiLanguage.ID + "." + name; } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2Types.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiTypes.java similarity index 96% rename from snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2Types.java rename to snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiTypes.java index 831a38762..0e758553b 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/Rql2Types.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/SnapiTypes.java @@ -36,4 +36,4 @@ PureRecord.class, DuplicateKeyRecord.class }) -public abstract class Rql2Types {} +public abstract class SnapiTypes {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/ExpressionNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/ExpressionNode.java index 785dc5487..9e2c4c4ed 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/ExpressionNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/ExpressionNode.java @@ -19,13 +19,13 @@ import com.oracle.truffle.api.instrumentation.StandardTags; import com.oracle.truffle.api.instrumentation.Tag; import com.oracle.truffle.api.nodes.UnexpectedResultException; -import com.rawlabs.snapi.truffle.Rql2Types; -import com.rawlabs.snapi.truffle.Rql2TypesGen; +import com.rawlabs.snapi.truffle.SnapiTypes; +import com.rawlabs.snapi.truffle.SnapiTypesGen; import com.rawlabs.snapi.truffle.runtime.primitives.*; import com.rawlabs.snapi.truffle.runtime.record.DuplicateKeyRecord; import com.rawlabs.snapi.truffle.runtime.record.PureRecord; -@TypeSystemReference(Rql2Types.class) +@TypeSystemReference(SnapiTypes.class) @GenerateWrapper public abstract class ExpressionNode extends StatementNode { @@ -38,75 +38,75 @@ public void executeVoid(VirtualFrame virtualFrame) { } public boolean executeBoolean(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectBoolean(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectBoolean(executeGeneric(virtualFrame)); } public byte executeByte(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectByte(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectByte(executeGeneric(virtualFrame)); } public short executeShort(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectShort(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectShort(executeGeneric(virtualFrame)); } public int executeInt(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectInteger(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectInteger(executeGeneric(virtualFrame)); } public long executeLong(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectLong(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectLong(executeGeneric(virtualFrame)); } public float executeFloat(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectFloat(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectFloat(executeGeneric(virtualFrame)); } public double executeDouble(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectDouble(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectDouble(executeGeneric(virtualFrame)); } public BinaryObject executeBinary(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectBinaryObject(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectBinaryObject(executeGeneric(virtualFrame)); } public DecimalObject executeDecimal(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectDecimalObject(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectDecimalObject(executeGeneric(virtualFrame)); } public DateObject executeDate(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectDateObject(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectDateObject(executeGeneric(virtualFrame)); } public IntervalObject executeInterval(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectIntervalObject(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectIntervalObject(executeGeneric(virtualFrame)); } public TimeObject executeTime(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectTimeObject(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectTimeObject(executeGeneric(virtualFrame)); } public TimestampObject executeTimestamp(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectTimestampObject(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectTimestampObject(executeGeneric(virtualFrame)); } public String executeString(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectString(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectString(executeGeneric(virtualFrame)); } public LocationObject executeLocation(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectLocationObject(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectLocationObject(executeGeneric(virtualFrame)); } public PureRecord executePureRecord(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectPureRecord(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectPureRecord(executeGeneric(virtualFrame)); } public DuplicateKeyRecord executeDuplicateKey(VirtualFrame virtualFrame) throws UnexpectedResultException { - return Rql2TypesGen.expectDuplicateKeyRecord(executeGeneric(virtualFrame)); + return SnapiTypesGen.expectDuplicateKeyRecord(executeGeneric(virtualFrame)); } @Override diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/ProgramExpressionNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/ProgramExpressionNode.java index cfb8ceddf..322af83e5 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/ProgramExpressionNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/ProgramExpressionNode.java @@ -17,17 +17,17 @@ import com.oracle.truffle.api.nodes.RootNode; import com.oracle.truffle.api.source.Source; import com.oracle.truffle.api.source.SourceSection; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; public final class ProgramExpressionNode extends RootNode { private static final Source DUMMY_SOURCE = - Source.newBuilder(Rql2Language.ID, "", "dummy").build(); + Source.newBuilder(SnapiLanguage.ID, "", "dummy").build(); @Child private ExpressionNode bodyNode; public ProgramExpressionNode( - Rql2Language language, FrameDescriptor frameDescriptor, ExpressionNode body) { + SnapiLanguage language, FrameDescriptor frameDescriptor, ExpressionNode body) { super(language, frameDescriptor); this.bodyNode = body; this.bodyNode.addRootTag(); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/ProgramStatementNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/ProgramStatementNode.java index 75383d8d7..f7b81c839 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/ProgramStatementNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/ProgramStatementNode.java @@ -15,7 +15,7 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.RootNode; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; public final class ProgramStatementNode extends RootNode { @@ -25,7 +25,7 @@ public final class ProgramStatementNode extends RootNode { @Child protected StatementNode bodyNode; public ProgramStatementNode( - Rql2Language language, FrameDescriptor frameDescriptor, StatementNode body) { + SnapiLanguage language, FrameDescriptor frameDescriptor, StatementNode body) { super(language, frameDescriptor); this.bodyNode = body; this.bodyNode.addRootTag(); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/TypeGuards.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/TypeGuards.java index 2ec69e86b..a4eee09df 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/TypeGuards.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/TypeGuards.java @@ -14,197 +14,197 @@ import com.oracle.truffle.api.CompilerDirectives; import com.oracle.truffle.api.dsl.Idempotent; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.source.*; public class TypeGuards { - public static final Rql2IsTryableTypeProperty tryable = Rql2IsTryableTypeProperty.apply(); - public static final Rql2IsNullableTypeProperty nullable = Rql2IsNullableTypeProperty.apply(); + public static final SnapiIsTryableTypeProperty tryable = SnapiIsTryableTypeProperty.apply(); + public static final SnapiIsNullableTypeProperty nullable = SnapiIsNullableTypeProperty.apply(); @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isTryable(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties.props().contains(tryable); + public static boolean isTryable(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties.props().contains(tryable); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isNullable(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties.props().contains(nullable); + public static boolean isNullable(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties.props().contains(nullable); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isBooleanKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2BoolType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isBooleanKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiBoolType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isByteKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2ByteType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isByteKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiByteType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isShortKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2ShortType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isShortKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiShortType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isIntKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2IntType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isIntKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiIntType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isLongKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2LongType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isLongKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiLongType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isFloatKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2FloatType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isFloatKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiFloatType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isDoubleKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2DoubleType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isDoubleKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiDoubleType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isDecimalKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2DecimalType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isDecimalKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiDecimalType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isStringKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2StringType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isStringKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiStringType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isIntervalKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2IntervalType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isIntervalKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiIntervalType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isDateKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2DateType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isDateKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiDateType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isTimeKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2TimeType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isTimeKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiTimeType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isTimestampKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2TimestampType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isTimestampKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiTimestampType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isRecordKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2RecordType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isRecordKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiRecordType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isListKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2ListType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isListKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiListType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isIterableKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2IterableType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isIterableKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiIterableType + && snapiTypeWithProperties.props().isEmpty(); } return false; } @Idempotent @CompilerDirectives.TruffleBoundary - public static boolean isBinaryKind(Rql2Type rql2Type) { - if (rql2Type instanceof Rql2TypeWithProperties rql2TypeWithProperties) { - return rql2TypeWithProperties instanceof Rql2BinaryType - && rql2TypeWithProperties.props().isEmpty(); + public static boolean isBinaryKind(SnapiType snapiType) { + if (snapiType instanceof SnapiTypeWithProperties snapiTypeWithProperties) { + return snapiTypeWithProperties instanceof SnapiBinaryType + && snapiTypeWithProperties.props().isEmpty(); } return false; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/aws_package/AwsV4SignedRequestNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/aws_package/AwsV4SignedRequestNode.java index c7c999b15..5cc6e961a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/aws_package/AwsV4SignedRequestNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/aws_package/AwsV4SignedRequestNode.java @@ -17,8 +17,8 @@ import com.oracle.truffle.api.dsl.NodeChild; import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Context; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiContext; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleInternalErrorException; import com.rawlabs.snapi.truffle.runtime.list.ListNodes; @@ -197,16 +197,16 @@ protected LocationObject doRequest( allHeaders[i] = getNode.execute(this, headers, i); } - allHeaders[headersSize] = Rql2Language.get(this).createPureRecord(); + allHeaders[headersSize] = SnapiLanguage.get(this).createPureRecord(); addPropNode.execute(this, allHeaders[headersSize], "_1", "host", false); addPropNode.execute(this, allHeaders[headersSize], "_2", host, false); - allHeaders[headersSize + 1] = Rql2Language.get(this).createPureRecord(); + allHeaders[headersSize + 1] = SnapiLanguage.get(this).createPureRecord(); addPropNode.execute(this, allHeaders[headersSize + 1], "_1", "x-amz-date", false); addPropNode.execute(this, allHeaders[headersSize + 1], "_2", amzdate, false); if (!sessionToken.isEmpty()) { - allHeaders[headersSize + 2] = Rql2Language.get(this).createPureRecord(); + allHeaders[headersSize + 2] = SnapiLanguage.get(this).createPureRecord(); addPropNode.execute(this, allHeaders[headersSize + 2], "_1", "x-amz-security-token", false); addPropNode.execute(this, allHeaders[headersSize + 2], "_2", sessionToken, false); } @@ -325,7 +325,7 @@ protected LocationObject doRequest( HttpURLConnection.HTTP_PARTIAL }; - RawSettings rawSettings = Rql2Context.get(this).getSettings(); + RawSettings rawSettings = SnapiContext.get(this).getSettings(); HttpByteStreamLocation location = new HttpByteStreamLocation( diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/environment_package/EnvironmentParameterNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/environment_package/EnvironmentParameterNode.java index 4e8da4540..d33304a60 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/environment_package/EnvironmentParameterNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/environment_package/EnvironmentParameterNode.java @@ -21,8 +21,8 @@ import com.oracle.truffle.api.library.CachedLibrary; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.TypeGuards; import com.rawlabs.snapi.truffle.runtime.generator.collection.StaticInitializers; @@ -31,17 +31,17 @@ @ImportStatic(value = {TypeGuards.class, StaticInitializers.class}) @NodeInfo(shortName = "Environment.Parameter") @NodeChild(value = "key") -@NodeField(name = "paramType", type = Rql2Type.class) +@NodeField(name = "paramType", type = SnapiType.class) public abstract class EnvironmentParameterNode extends ExpressionNode { @Idempotent - protected abstract Rql2Type getParamType(); + protected abstract SnapiType getParamType(); @Specialization(guards = {"isByteKind(getParamType())"}) protected byte getByte( String key, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Context(thisNode)", neverDefault = true) Rql2Context context, + @Cached(value = "getSnapiContext(thisNode)", neverDefault = true) SnapiContext context, @CachedLibrary(limit = "3") @Cached.Shared("interop") InteropLibrary bindings) { TruffleObject polyglotBindings = context.getPolyglotBindings(); assert bindings.hasMembers(polyglotBindings); @@ -56,7 +56,7 @@ protected byte getByte( protected short getShort( String key, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Context(thisNode)", neverDefault = true) Rql2Context context, + @Cached(value = "getSnapiContext(thisNode)", neverDefault = true) SnapiContext context, @CachedLibrary(limit = "3") @Cached.Shared("interop") InteropLibrary bindings) { TruffleObject polyglotBindings = context.getPolyglotBindings(); assert bindings.hasMembers(polyglotBindings); @@ -71,7 +71,7 @@ protected short getShort( protected int getInt( String key, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Context(thisNode)", neverDefault = true) Rql2Context context, + @Cached(value = "getSnapiContext(thisNode)", neverDefault = true) SnapiContext context, @CachedLibrary(limit = "3") @Cached.Shared("interop") InteropLibrary bindings) { TruffleObject polyglotBindings = context.getPolyglotBindings(); assert bindings.hasMembers(polyglotBindings); @@ -86,7 +86,7 @@ protected int getInt( protected long getLong( String key, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Context(thisNode)", neverDefault = true) Rql2Context context, + @Cached(value = "getSnapiContext(thisNode)", neverDefault = true) SnapiContext context, @CachedLibrary(limit = "3") @Cached.Shared("interop") InteropLibrary bindings) { TruffleObject polyglotBindings = context.getPolyglotBindings(); assert bindings.hasMembers(polyglotBindings); @@ -101,7 +101,7 @@ protected long getLong( protected float getFloat( String key, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Context(thisNode)", neverDefault = true) Rql2Context context, + @Cached(value = "getSnapiContext(thisNode)", neverDefault = true) SnapiContext context, @CachedLibrary(limit = "3") @Cached.Shared("interop") InteropLibrary bindings) { TruffleObject polyglotBindings = context.getPolyglotBindings(); assert bindings.hasMembers(polyglotBindings); @@ -116,7 +116,7 @@ protected float getFloat( protected Double getDouble( String key, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Context(thisNode)", neverDefault = true) Rql2Context context, + @Cached(value = "getSnapiContext(thisNode)", neverDefault = true) SnapiContext context, @CachedLibrary(limit = "3") @Cached.Shared("interop") InteropLibrary bindings) { TruffleObject polyglotBindings = context.getPolyglotBindings(); assert bindings.hasMembers(polyglotBindings); @@ -131,7 +131,7 @@ protected Double getDouble( protected DecimalObject getDecimal( String key, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Context(thisNode)", neverDefault = true) Rql2Context context, + @Cached(value = "getSnapiContext(thisNode)", neverDefault = true) SnapiContext context, @CachedLibrary(limit = "3") @Cached.Shared("interop") InteropLibrary bindings) { TruffleObject polyglotBindings = context.getPolyglotBindings(); assert bindings.hasMembers(polyglotBindings); @@ -146,7 +146,7 @@ protected DecimalObject getDecimal( protected boolean getBool( String key, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Context(thisNode)", neverDefault = true) Rql2Context context, + @Cached(value = "getSnapiContext(thisNode)", neverDefault = true) SnapiContext context, @CachedLibrary(limit = "3") @Cached.Shared("interop") InteropLibrary bindings) { TruffleObject polyglotBindings = context.getPolyglotBindings(); assert bindings.hasMembers(polyglotBindings); @@ -161,7 +161,7 @@ protected boolean getBool( protected String getString( String key, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Context(thisNode)", neverDefault = true) Rql2Context context, + @Cached(value = "getSnapiContext(thisNode)", neverDefault = true) SnapiContext context, @CachedLibrary(limit = "3") @Cached.Shared("interop") InteropLibrary bindings) { TruffleObject polyglotBindings = context.getPolyglotBindings(); assert bindings.hasMembers(polyglotBindings); @@ -176,7 +176,7 @@ protected String getString( protected DateObject getDate( String key, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Context(thisNode)", neverDefault = true) Rql2Context context, + @Cached(value = "getSnapiContext(thisNode)", neverDefault = true) SnapiContext context, @CachedLibrary(limit = "3") @Cached.Shared("interop") InteropLibrary bindings) { TruffleObject polyglotBindings = context.getPolyglotBindings(); assert bindings.hasMembers(polyglotBindings); @@ -191,7 +191,7 @@ protected DateObject getDate( protected TimeObject getTime( String key, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Context(thisNode)", neverDefault = true) Rql2Context context, + @Cached(value = "getSnapiContext(thisNode)", neverDefault = true) SnapiContext context, @CachedLibrary(limit = "3") @Cached.Shared("interop") InteropLibrary bindings) { TruffleObject polyglotBindings = context.getPolyglotBindings(); assert bindings.hasMembers(polyglotBindings); @@ -206,7 +206,7 @@ protected TimeObject getTime( protected TimestampObject getTimestamp( String key, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Context(thisNode)", neverDefault = true) Rql2Context context, + @Cached(value = "getSnapiContext(thisNode)", neverDefault = true) SnapiContext context, @CachedLibrary(limit = "3") @Cached.Shared("interop") InteropLibrary bindings) { TruffleObject polyglotBindings = context.getPolyglotBindings(); assert bindings.hasMembers(polyglotBindings); @@ -222,7 +222,7 @@ protected TimestampObject getTimestamp( protected IntervalObject getInterval( String key, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Context(thisNode)", neverDefault = true) Rql2Context context, + @Cached(value = "getSnapiContext(thisNode)", neverDefault = true) SnapiContext context, @CachedLibrary(limit = "3") @Cached.Shared("interop") InteropLibrary bindings) { TruffleObject polyglotBindings = context.getPolyglotBindings(); assert bindings.hasMembers(polyglotBindings); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/environment_package/EnvironmentSecretNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/environment_package/EnvironmentSecretNode.java index f3a806604..161bded72 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/environment_package/EnvironmentSecretNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/environment_package/EnvironmentSecretNode.java @@ -15,7 +15,7 @@ import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; import com.rawlabs.snapi.truffle.runtime.generator.collection.StaticInitializers; @@ -30,7 +30,7 @@ public abstract class EnvironmentSecretNode extends ExpressionNode { protected static Object doSecret( String key, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Context(thisNode)", neverDefault = true) Rql2Context context) { + @Cached(value = "getSnapiContext(thisNode)", neverDefault = true) SnapiContext context) { try { return context.getSecret(key); } catch (TruffleRuntimeException e) { diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/http_package/HttpReadNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/http_package/HttpReadNode.java index 8b73140f9..3cd27550f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/http_package/HttpReadNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/http_package/HttpReadNode.java @@ -16,7 +16,7 @@ import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.tryable_nullable.TryableNullableNodes; import com.rawlabs.snapi.truffle.runtime.generator.collection.StaticInitializers; @@ -54,7 +54,7 @@ protected static Object doRead( try { HttpByteStreamLocation location = locationObject.getHttpByteStreamLocation(); HttpResult result = location.getHttpResult(); - Object record = Rql2Language.get(thisNode).createPureRecord(); + Object record = SnapiLanguage.get(thisNode).createPureRecord(); if (!isNullNode.execute(thisNode, statusListOption)) { int[] statuses = new int[(int) sizeNode.execute(thisNode, statusListOption)]; @@ -83,7 +83,7 @@ protected static Object doRead( Object[] headers = new Object[result.headers().size()]; for (int i = 0; i < result.headers().size(); i++) { - headers[i] = Rql2Language.get(thisNode).createPureRecord(); + headers[i] = SnapiLanguage.get(thisNode).createPureRecord(); addPropNode.execute(thisNode, headers[i], "_1", headerTuples.apply(i)._1(), false); addPropNode.execute(thisNode, headers[i], "_2", headerTuples.apply(i)._2(), false); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/jdbc/JdbcQueryNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/jdbc/JdbcQueryNode.java index 2b82c3426..b59120664 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/jdbc/JdbcQueryNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/jdbc/JdbcQueryNode.java @@ -15,7 +15,7 @@ import com.oracle.truffle.api.RootCallTarget; import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.ProgramExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.rdbms.JdbcExceptionHandler; @@ -44,7 +44,7 @@ public JdbcQueryNode( @Override public Object executeGeneric(VirtualFrame virtualFrame) { - RawSettings rawSettings = Rql2Context.get(this).getSettings(); + RawSettings rawSettings = SnapiContext.get(this).getSettings(); LocationObject dbLocation = (LocationObject) locationExp.executeGeneric(virtualFrame); String query = (String) this.queryExp.executeGeneric(virtualFrame); return new JdbcQueryCollection( diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationDescribeNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationDescribeNode.java index 287011905..61b0dcc49 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationDescribeNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationDescribeNode.java @@ -18,10 +18,10 @@ import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.api.nodes.NodeInfo; import com.rawlabs.snapi.frontend.inferrer.api.*; -import com.rawlabs.snapi.frontend.rql2.Rql2TypeUtils$; -import com.rawlabs.snapi.frontend.rql2.source.*; -import com.rawlabs.snapi.truffle.Rql2Context; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.SnapiTypeUtils$; +import com.rawlabs.snapi.frontend.snapi.source.*; +import com.rawlabs.snapi.truffle.SnapiContext; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.list.ObjectList; import com.rawlabs.snapi.truffle.runtime.primitives.ErrorObject; @@ -48,7 +48,7 @@ protected Object doDescribe( LocationObject locationObject, int sampleSize, @Cached(inline = true) RecordNodes.AddPropNode addPropNode) { - InferrerService inferrer = Rql2Context.get(this).getInferrer(); + InferrerService inferrer = SnapiContext.get(this).getInferrer(); try { // In scala implementation interpreter there is a sample size argument InferrerOutput descriptor = @@ -136,24 +136,24 @@ protected Object doDescribe( } } - Rql2Type rql2Type = - (Rql2Type) Rql2TypeUtils$.MODULE$.inferTypeToRql2Type(tipe, sampled, sampled); - Rql2Type flatten = rql2Type; + SnapiType snapiType = + (SnapiType) SnapiTypeUtils$.MODULE$.inferTypeToSnapiType(tipe, sampled, sampled); + SnapiType flatten = snapiType; boolean isCollection = false; - if (rql2Type instanceof Rql2IterableType) { - Rql2IterableType rql2IterableType = (Rql2IterableType) rql2Type; - flatten = (Rql2Type) rql2IterableType.innerType(); + if (snapiType instanceof SnapiIterableType) { + SnapiIterableType snapiIterableType = (SnapiIterableType) snapiType; + flatten = (SnapiType) snapiIterableType.innerType(); isCollection = true; - } else if (rql2Type instanceof Rql2ListType) { - Rql2ListType rql2IterableType = (Rql2ListType) rql2Type; - flatten = (Rql2Type) rql2IterableType.innerType(); + } else if (snapiType instanceof SnapiListType) { + SnapiListType snapiIterableType = (SnapiListType) snapiType; + flatten = (SnapiType) snapiIterableType.innerType(); isCollection = true; } - String formattedType = SourcePrettyPrinter$.MODULE$.format(rql2Type); + String formattedType = SourcePrettyPrinter$.MODULE$.format(snapiType); - Object record = Rql2Language.get(this).createPureRecord(); + Object record = SnapiLanguage.get(this).createPureRecord(); addPropNode.execute(this, record, "format", format, false); addPropNode.execute(this, record, "comment", comment, false); @@ -163,7 +163,7 @@ protected Object doDescribe( // properties List keyList = new ArrayList<>(properties.keySet()); for (int i = 0; i < keyList.size(); i++) { - Object rec = Rql2Language.get(this).createPureRecord(); + Object rec = SnapiLanguage.get(this).createPureRecord(); addPropNode.execute(this, rec, "name", keyList.get(i), false); if (properties.containsKey(keyList.get(i))) { addPropNode.execute(this, rec, "value", properties.get(keyList.get(i)), false); @@ -178,20 +178,20 @@ protected Object doDescribe( addPropNode.execute(this, record, "is_collection", isCollection, false); // columns - if (flatten instanceof Rql2RecordType) { - Rql2RecordType rql2RecordType = (Rql2RecordType) flatten; - Object[] columnRecords = new Object[rql2RecordType.atts().length()]; - for (int i = 0; i < rql2RecordType.atts().length(); i++) { + if (flatten instanceof SnapiRecordType) { + SnapiRecordType snapiRecordType = (SnapiRecordType) flatten; + Object[] columnRecords = new Object[snapiRecordType.atts().length()]; + for (int i = 0; i < snapiRecordType.atts().length(); i++) { String typeStr; boolean isNullable; - Rql2TypeWithProperties fieldType = - (Rql2TypeWithProperties) rql2RecordType.atts().apply(i).tipe(); + SnapiTypeWithProperties fieldType = + (SnapiTypeWithProperties) snapiRecordType.atts().apply(i).tipe(); typeStr = SourcePrettyPrinter$.MODULE$.format(fieldType); - isNullable = fieldType.props().contains(Rql2IsNullableTypeProperty.apply()); - Object column = Rql2Language.get(this).createPureRecord(); + isNullable = fieldType.props().contains(SnapiIsNullableTypeProperty.apply()); + Object column = SnapiLanguage.get(this).createPureRecord(); addPropNode.execute( - this, column, "col_name", rql2RecordType.atts().apply(i).idn(), false); + this, column, "col_name", snapiRecordType.atts().apply(i).idn(), false); addPropNode.execute(this, column, "col_type", typeStr, false); addPropNode.execute(this, column, "nullable", isNullable, false); columnRecords[i] = column; @@ -201,16 +201,16 @@ protected Object doDescribe( } else { String typeStr; boolean isNullable = false; - if (flatten instanceof Rql2TypeWithProperties) { + if (flatten instanceof SnapiTypeWithProperties) { typeStr = SourcePrettyPrinter$.MODULE$.format(flatten); isNullable = - ((Rql2TypeWithProperties) flatten) + ((SnapiTypeWithProperties) flatten) .props() - .contains(Rql2IsNullableTypeProperty.apply()); + .contains(SnapiIsNullableTypeProperty.apply()); } else { typeStr = SourcePrettyPrinter$.MODULE$.format(flatten); } - Object column = Rql2Language.get(this).createPureRecord(); + Object column = SnapiLanguage.get(this).createPureRecord(); addPropNode.execute(this, column, "col_name", NullObject.INSTANCE, false); addPropNode.execute(this, column, "col_type", typeStr, false); addPropNode.execute(this, column, "nullable", isNullable, false); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromHttpNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromHttpNode.java index 2ac1582f6..e83d0a5d5 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromHttpNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromHttpNode.java @@ -20,7 +20,7 @@ import com.oracle.truffle.api.nodes.NodeInfo; import com.rawlabs.protocol.compiler.HttpHeadersConfig; import com.rawlabs.protocol.compiler.LocationConfig; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleInternalErrorException; import com.rawlabs.snapi.truffle.runtime.list.ListNodes; @@ -164,7 +164,7 @@ public Object executeGeneric(VirtualFrame frame) { .encodeToString((username + ":" + password).getBytes()))); } - Rql2Context context = Rql2Context.get(this); + SnapiContext context = SnapiContext.get(this); // Append any additional headers related to the authentication (if credential name is defined) if (this.authCredentialName != null) { diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromMySQLCredentialNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromMySQLCredentialNode.java index 6ee8c1e5c..721ac5277 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromMySQLCredentialNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromMySQLCredentialNode.java @@ -17,7 +17,7 @@ import com.oracle.truffle.api.nodes.NodeInfo; import com.rawlabs.protocol.compiler.LocationConfig; import com.rawlabs.protocol.compiler.MySqlConfig; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; import com.rawlabs.snapi.truffle.runtime.primitives.*; @@ -36,7 +36,7 @@ public LocationFromMySQLCredentialNode(ExpressionNode credentialName) { @Override public Object executeGeneric(VirtualFrame frame) { - Rql2Context context = Rql2Context.get(this); + SnapiContext context = SnapiContext.get(this); String credentialName = (String) this.credentialName.executeGeneric(frame); LocationConfig l = context.getLocationConfig(credentialName); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromMySQLNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromMySQLNode.java index 0f89f0d8b..87f3bfa01 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromMySQLNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromMySQLNode.java @@ -15,7 +15,7 @@ import com.oracle.truffle.api.CompilerDirectives; import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.primitives.*; import com.rawlabs.utils.core.RawSettings; @@ -54,7 +54,7 @@ public Object executeGeneric(VirtualFrame frame) { JdbcServerLocation location = getJdbcServerLocation( - host, port, db, username, password, Rql2Context.get(this).getSettings()); + host, port, db, username, password, SnapiContext.get(this).getSettings()); return new LocationObject(location, "mysql:" + db); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromOracleCredentialNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromOracleCredentialNode.java index 6767fa483..1b7216fa1 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromOracleCredentialNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromOracleCredentialNode.java @@ -17,7 +17,7 @@ import com.oracle.truffle.api.nodes.NodeInfo; import com.rawlabs.protocol.compiler.LocationConfig; import com.rawlabs.protocol.compiler.OracleConfig; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; import com.rawlabs.snapi.truffle.runtime.primitives.*; @@ -36,7 +36,7 @@ public LocationFromOracleCredentialNode(ExpressionNode credentialName) { @Override public Object executeGeneric(VirtualFrame frame) { - Rql2Context context = Rql2Context.get(this); + SnapiContext context = SnapiContext.get(this); String credentialName = (String) this.credentialName.executeGeneric(frame); LocationConfig l = context.getLocationConfig(credentialName); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromOracleNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromOracleNode.java index 4d95dd313..1e38a25a8 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromOracleNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromOracleNode.java @@ -15,7 +15,7 @@ import com.oracle.truffle.api.CompilerDirectives; import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.primitives.*; import com.rawlabs.utils.core.RawSettings; @@ -54,7 +54,7 @@ public Object executeGeneric(VirtualFrame frame) { JdbcServerLocation location = getJdbcServerLocation( - host, port, db, username, password, Rql2Context.get(this).getSettings()); + host, port, db, username, password, SnapiContext.get(this).getSettings()); return new LocationObject(location, "oracle:" + db); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromPostgreSQLCredentialNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromPostgreSQLCredentialNode.java index 6f6d48602..8a90f3e9a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromPostgreSQLCredentialNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromPostgreSQLCredentialNode.java @@ -17,7 +17,7 @@ import com.oracle.truffle.api.nodes.NodeInfo; import com.rawlabs.protocol.compiler.LocationConfig; import com.rawlabs.protocol.compiler.PostgreSQLConfig; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; import com.rawlabs.snapi.truffle.runtime.primitives.*; @@ -36,7 +36,7 @@ public LocationFromPostgreSQLCredentialNode(ExpressionNode credentialName) { @Override public Object executeGeneric(VirtualFrame frame) { - Rql2Context context = Rql2Context.get(this); + SnapiContext context = SnapiContext.get(this); String credentialName = (String) this.credentialName.executeGeneric(frame); LocationConfig l = context.getLocationConfig(credentialName); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromPostgreSQLNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromPostgreSQLNode.java index 8994a1380..0118f36e6 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromPostgreSQLNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromPostgreSQLNode.java @@ -15,7 +15,7 @@ import com.oracle.truffle.api.CompilerDirectives; import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.primitives.*; import com.rawlabs.utils.core.RawSettings; @@ -54,7 +54,7 @@ public Object executeGeneric(VirtualFrame frame) { JdbcServerLocation location = getJdbcServerLocation( - host, port, db, username, password, Rql2Context.get(this).getSettings()); + host, port, db, username, password, SnapiContext.get(this).getSettings()); return new LocationObject(location, "pgsql:" + db); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromS3Node.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromS3Node.java index d8db84cf3..ae080c584 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromS3Node.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromS3Node.java @@ -16,7 +16,7 @@ import com.oracle.truffle.api.nodes.NodeInfo; import com.rawlabs.protocol.compiler.LocationConfig; import com.rawlabs.protocol.compiler.S3Config; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; import com.rawlabs.snapi.truffle.runtime.primitives.*; @@ -69,7 +69,7 @@ public Object executeGeneric(VirtualFrame frame) { // "If the S3 bucket is not registered in the credentials storage, then the region, accessKey // and secretKey must be provided as arguments." // However, if the access key/secret key are passed, they should be used. - Rql2Context context = Rql2Context.get(this); + SnapiContext context = SnapiContext.get(this); S3Path location; if (this.accessKey == null && this.secretKey == null diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSQLServerCredentialNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSQLServerCredentialNode.java index d996544c8..f266bf405 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSQLServerCredentialNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSQLServerCredentialNode.java @@ -17,7 +17,7 @@ import com.oracle.truffle.api.nodes.NodeInfo; import com.rawlabs.protocol.compiler.LocationConfig; import com.rawlabs.protocol.compiler.SQLServerConfig; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; import com.rawlabs.snapi.truffle.runtime.primitives.*; @@ -36,7 +36,7 @@ public LocationFromSQLServerCredentialNode(ExpressionNode credentialName) { @Override public Object executeGeneric(VirtualFrame frame) { - Rql2Context context = Rql2Context.get(this); + SnapiContext context = SnapiContext.get(this); String credentialName = (String) this.credentialName.executeGeneric(frame); LocationConfig l = context.getLocationConfig(credentialName); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSQLServerNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSQLServerNode.java index bc62c22a1..ed3abefae 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSQLServerNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSQLServerNode.java @@ -15,7 +15,7 @@ import com.oracle.truffle.api.CompilerDirectives; import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.primitives.LocationObject; import com.rawlabs.utils.core.RawSettings; @@ -54,7 +54,7 @@ public Object executeGeneric(VirtualFrame frame) { JdbcServerLocation location = getJdbcServerLocation( - host, port, db, username, password, Rql2Context.get(this).getSettings()); + host, port, db, username, password, SnapiContext.get(this).getSettings()); return new LocationObject(location, "sqlserver:" + db); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSnowflakeCredentialNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSnowflakeCredentialNode.java index 42bfe0a98..b8e522c2a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSnowflakeCredentialNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSnowflakeCredentialNode.java @@ -17,7 +17,7 @@ import com.oracle.truffle.api.nodes.NodeInfo; import com.rawlabs.protocol.compiler.LocationConfig; import com.rawlabs.protocol.compiler.SnowflakeConfig; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; import com.rawlabs.snapi.truffle.runtime.primitives.*; @@ -36,7 +36,7 @@ public LocationFromSnowflakeCredentialNode(ExpressionNode credentialName) { @Override public Object executeGeneric(VirtualFrame frame) { - Rql2Context context = Rql2Context.get(this); + SnapiContext context = SnapiContext.get(this); String credentialName = (String) this.credentialName.executeGeneric(frame); LocationConfig l = context.getLocationConfig(credentialName); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSnowflakeNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSnowflakeNode.java index 17b14089e..d475d1db7 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSnowflakeNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromSnowflakeNode.java @@ -19,7 +19,7 @@ import com.oracle.truffle.api.interop.UnknownIdentifierException; import com.oracle.truffle.api.interop.UnsupportedMessageException; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleInternalErrorException; import com.rawlabs.snapi.truffle.runtime.list.ListNodes; @@ -84,7 +84,7 @@ public Object executeGeneric(VirtualFrame frame) { JdbcServerLocation location = getJdbcServerLocation( - db, username, password, accountID, parameters, Rql2Context.get(this).getSettings()); + db, username, password, accountID, parameters, SnapiContext.get(this).getSettings()); return new LocationObject(location, "snowflake:" + db); } catch (UnsupportedMessageException diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromStringNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromStringNode.java index 6b0f0c69f..9356b512f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromStringNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationFromStringNode.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.CompilerDirectives; import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.extensions.LocationDescription$; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.frontend.snapi.extensions.LocationDescription$; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; import com.rawlabs.snapi.truffle.runtime.primitives.LocationObject; @@ -36,14 +36,14 @@ public LocationFromStringNode(ExpressionNode url) { public Object executeGeneric(VirtualFrame frame) { String url = (String) this.url.executeGeneric(frame); - Rql2Context context = Rql2Context.get(this); + SnapiContext context = SnapiContext.get(this); Location location = getLocationFromUrl(url, context); return new LocationObject(location, url); } @CompilerDirectives.TruffleBoundary - private Location getLocationFromUrl(String url, Rql2Context context) { + private Location getLocationFromUrl(String url, SnapiContext context) { Either maybeLocation = LocationDescription$.MODULE$.urlToLocation( url, context.getProgramEnvironment(), context.getSettings()); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationLlNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationLlNode.java index 5566a3d0b..9d7d4b8e5 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationLlNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationLlNode.java @@ -17,8 +17,8 @@ import com.oracle.truffle.api.dsl.NodeChild; import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.extensions.LocationDescription$; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.LocationDescription$; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.list.ObjectList; import com.rawlabs.snapi.truffle.runtime.list.StringList; @@ -49,8 +49,8 @@ protected Object doLl( Object[] result = new Object[size]; for (int i = 0; i < size; i++) { - Object topRecord = Rql2Language.get(this).createPureRecord(); - Object metadata = Rql2Language.get(this).createPureRecord(); + Object topRecord = SnapiLanguage.get(this).createPureRecord(); + Object metadata = SnapiLanguage.get(this).createPureRecord(); addPropNode.execute( this, topRecord, @@ -95,7 +95,7 @@ protected Object doLl( int blocksSize = fileMetadata.blocks().length; Object[] blocks = new Object[blocksSize]; for (int j = 0; j < blocksSize; j++) { - Object block = Rql2Language.get(this).createPureRecord(); + Object block = SnapiLanguage.get(this).createPureRecord(); addPropNode.execute( this, block, "hosts", new StringList(fileMetadata.blocks()[j].hosts()), false); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationLsNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationLsNode.java index d53abc78d..0aad6996f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationLsNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/location_package/LocationLsNode.java @@ -16,7 +16,7 @@ import com.oracle.truffle.api.dsl.NodeChild; import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.extensions.LocationDescription$; +import com.rawlabs.snapi.frontend.snapi.extensions.LocationDescription$; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.list.StringList; import com.rawlabs.snapi.truffle.runtime.primitives.ErrorObject; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/function/MethodNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/function/MethodNode.java index 5293e58ae..ce2ebe7dd 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/function/MethodNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/function/MethodNode.java @@ -14,7 +14,7 @@ import com.oracle.truffle.api.CompilerDirectives.CompilationFinal; import com.oracle.truffle.api.frame.VirtualFrame; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.function.Closure; import com.rawlabs.snapi.truffle.runtime.function.Function; @@ -35,7 +35,7 @@ public final class MethodNode extends ExpressionNode { private final String name; private final boolean hasFreeVars; private final boolean hasOptionalArgs; - private final FunctionRegistry functionRegistry = Rql2Context.get(this).getFunctionRegistry(); + private final FunctionRegistry functionRegistry = SnapiContext.get(this).getFunctionRegistry(); public MethodNode( String name, Function f, ExpressionNode[] defaultArgumentExps, boolean hasFreeVars) { diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/ArrayOperationNodes.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/ArrayOperationNodes.java index 4445d0b3d..825087550 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/ArrayOperationNodes.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/ArrayOperationNodes.java @@ -18,7 +18,7 @@ import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; import com.rawlabs.snapi.truffle.ast.TypeGuards; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleInternalErrorException; import com.rawlabs.snapi.truffle.runtime.list.*; @@ -32,50 +32,50 @@ public class ArrayOperationNodes { @ImportStatic(TypeGuards.class) public abstract static class ArrayBuildNode extends Node { - public abstract Object execute(Node node, Rql2Type resultType, int size); + public abstract Object execute(Node node, SnapiType resultType, int size); @Specialization(guards = "isByteKind(resultType)") - static byte[] buildByte(Node node, Rql2Type resultType, int size) { + static byte[] buildByte(Node node, SnapiType resultType, int size) { return new byte[size]; } @Specialization(guards = "isShortKind(resultType)") - static short[] buildShort(Node node, Rql2Type resultType, int size) { + static short[] buildShort(Node node, SnapiType resultType, int size) { return new short[size]; } @Specialization(guards = "isIntKind(resultType)") - static int[] buildInt(Node node, Rql2Type resultType, int size) { + static int[] buildInt(Node node, SnapiType resultType, int size) { return new int[size]; } @Specialization(guards = "isLongKind(resultType)") - static long[] buildLong(Node node, Rql2Type resultType, int size) { + static long[] buildLong(Node node, SnapiType resultType, int size) { return new long[size]; } @Specialization(guards = "isFloatKind(resultType)") - static float[] buildFloat(Node node, Rql2Type resultType, int size) { + static float[] buildFloat(Node node, SnapiType resultType, int size) { return new float[size]; } @Specialization(guards = "isDoubleKind(resultType)") - static double[] buildDouble(Node node, Rql2Type resultType, int size) { + static double[] buildDouble(Node node, SnapiType resultType, int size) { return new double[size]; } @Specialization(guards = "isBooleanKind(resultType)") - static boolean[] buildBoolean(Node node, Rql2Type resultType, int size) { + static boolean[] buildBoolean(Node node, SnapiType resultType, int size) { return new boolean[size]; } @Specialization(guards = "isStringKind(resultType)") - static String[] buildString(Node node, Rql2Type resultType, int size) { + static String[] buildString(Node node, SnapiType resultType, int size) { return new String[size]; } @Specialization - static Object[] buildObject(Node node, Rql2Type resultType, int size) { + static Object[] buildObject(Node node, SnapiType resultType, int size) { return new Object[size]; } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionDistinctNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionDistinctNode.java index 0fa346d57..757b90b9a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionDistinctNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionDistinctNode.java @@ -15,19 +15,19 @@ import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.iterable.operations.DistinctCollection; @NodeInfo(shortName = "Collection.Distinct") @NodeChild("input") -@NodeField(name = "valueType", type = Rql2TypeWithProperties.class) +@NodeField(name = "valueType", type = SnapiTypeWithProperties.class) @NodeField(name = "generatorSlot", type = int.class) @NodeField(name = "offHeapDistinctSlot", type = int.class) public abstract class CollectionDistinctNode extends ExpressionNode { @Idempotent - protected abstract Rql2TypeWithProperties getValueType(); + protected abstract SnapiTypeWithProperties getValueType(); @Idempotent protected abstract int getGeneratorSlot(); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionEquiJoinNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionEquiJoinNode.java index ef98fbc52..0b6afcdc8 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionEquiJoinNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionEquiJoinNode.java @@ -14,7 +14,7 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.iterable.operations.EquiJoinCollection; @@ -26,9 +26,9 @@ public class CollectionEquiJoinNode extends ExpressionNode { @Child private ExpressionNode rightKeyFun; @Child private ExpressionNode remapFun; - private final Rql2TypeWithProperties leftValueType; - private final Rql2TypeWithProperties rightValueType; - private final Rql2TypeWithProperties keyType; + private final SnapiTypeWithProperties leftValueType; + private final SnapiTypeWithProperties rightValueType; + private final SnapiTypeWithProperties keyType; private final int computeNextSlot; private final int shouldContinueSlot; @@ -41,9 +41,9 @@ public CollectionEquiJoinNode( ExpressionNode right, ExpressionNode leftKeyFun, ExpressionNode rightKeyFun, - Rql2TypeWithProperties keyType, - Rql2TypeWithProperties leftValueType, - Rql2TypeWithProperties rightValueType, + SnapiTypeWithProperties keyType, + SnapiTypeWithProperties leftValueType, + SnapiTypeWithProperties rightValueType, ExpressionNode remapFun, int computeNextSlot, int shouldContinueSlot, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionGroupByNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionGroupByNode.java index bfa52694c..67a435ff0 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionGroupByNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionGroupByNode.java @@ -15,25 +15,25 @@ import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.iterable.operations.GroupByCollection; @NodeInfo(shortName = "Collection.GroupBy") @NodeChild("iterable") @NodeChild("keyFun") -@NodeField(name = "keyType", type = Rql2TypeWithProperties.class) -@NodeField(name = "rowType", type = Rql2TypeWithProperties.class) +@NodeField(name = "keyType", type = SnapiTypeWithProperties.class) +@NodeField(name = "rowType", type = SnapiTypeWithProperties.class) @NodeField(name = "generatorSlot", type = int.class) @NodeField(name = "functionSlot", type = int.class) @NodeField(name = "mapSlot", type = int.class) public abstract class CollectionGroupByNode extends ExpressionNode { @Idempotent - protected abstract Rql2TypeWithProperties getKeyType(); + protected abstract SnapiTypeWithProperties getKeyType(); @Idempotent - protected abstract Rql2TypeWithProperties getRowType(); + protected abstract SnapiTypeWithProperties getRowType(); @Idempotent protected abstract int getGeneratorSlot(); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionJoinNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionJoinNode.java index 608499f6b..3fbdaf2e7 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionJoinNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionJoinNode.java @@ -16,7 +16,7 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.generator.collection.StaticInitializers; import com.rawlabs.snapi.truffle.runtime.iterable.operations.JoinCollection; @@ -26,7 +26,7 @@ @NodeChild("right") @NodeChild("remap") @NodeChild("predicate") -@NodeField(name = "rightType", type = Rql2TypeWithProperties.class) +@NodeField(name = "rightType", type = SnapiTypeWithProperties.class) @NodeField(name = "reshapeBeforePredicate", type = Boolean.class) @NodeField(name = "computeNextSlot", type = int.class) @NodeField(name = "shouldContinueSlot", type = int.class) @@ -37,7 +37,7 @@ public abstract class CollectionJoinNode extends ExpressionNode { @Idempotent - protected abstract Rql2TypeWithProperties getRightType(); + protected abstract SnapiTypeWithProperties getRightType(); @Idempotent protected abstract Boolean getReshapeBeforePredicate(); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionOrderByNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionOrderByNode.java index 457a5fb97..2d9f0fc00 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionOrderByNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionOrderByNode.java @@ -16,7 +16,7 @@ import com.oracle.truffle.api.nodes.ExplodeLoop; import com.oracle.truffle.api.nodes.NodeInfo; import com.oracle.truffle.api.nodes.UnexpectedResultException; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; import com.rawlabs.snapi.truffle.runtime.iterable.operations.OrderByCollection; @@ -26,8 +26,8 @@ public class CollectionOrderByNode extends ExpressionNode { @Child private ExpressionNode input; @Children private final ExpressionNode[] keyFuns; @Children private final ExpressionNode[] orderings; - private final Rql2TypeWithProperties[] keyTypes; - private final Rql2TypeWithProperties valueType; + private final SnapiTypeWithProperties[] keyTypes; + private final SnapiTypeWithProperties valueType; private final int generatorSlot; private final int collectionSlot; private final int offHeapGroupByKeysSlot; @@ -36,8 +36,8 @@ public CollectionOrderByNode( ExpressionNode input, ExpressionNode[] keyFuns, ExpressionNode[] orderings, - Rql2TypeWithProperties[] keyTypes, - Rql2TypeWithProperties valueType, + SnapiTypeWithProperties[] keyTypes, + SnapiTypeWithProperties valueType, int generatorSlot, int collectionSlot, int offHeapGroupByKeysSlot) { diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionTupleAvgNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionTupleAvgNode.java index 333aba981..1e607ca9e 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionTupleAvgNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionTupleAvgNode.java @@ -14,7 +14,7 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.*; import com.rawlabs.snapi.truffle.runtime.primitives.DecimalObject; @@ -42,7 +42,7 @@ public CollectionTupleAvgNode(ExpressionNode iterableNode, int generatorSlot, in public Object executeGeneric(VirtualFrame virtualFrame) { Object[] results = (Object[]) aggregate.executeGeneric(virtualFrame); - Object record = Rql2Language.get(this).createPureRecord(); + Object record = SnapiLanguage.get(this).createPureRecord(); if ((long) results[1] == (long) zeroNode.execute(this, Aggregations.COUNT)) { addPropNode.execute(this, record, "sum", zeroNode.execute(this, Aggregations.SUM), false); } else { diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionZipNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionZipNode.java index 24a676ba0..65888d858 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionZipNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/collection/CollectionZipNode.java @@ -15,7 +15,7 @@ import com.oracle.truffle.api.dsl.NodeChild; import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.iterable.operations.ZipCollection; @@ -25,7 +25,7 @@ public abstract class CollectionZipNode extends ExpressionNode { @Specialization protected Object doZip(Object iterable1, Object iterable2) { - Rql2Language language = Rql2Language.get(this); + SnapiLanguage language = SnapiLanguage.get(this); return new ZipCollection(iterable1, iterable2, language); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListBuildNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListBuildNode.java index 50d3db740..331512b24 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListBuildNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListBuildNode.java @@ -17,7 +17,7 @@ import com.oracle.truffle.api.nodes.NodeInfo; import com.oracle.truffle.api.nodes.UnexpectedResultException; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.source.*; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleInternalErrorException; import com.rawlabs.snapi.truffle.runtime.list.*; @@ -37,8 +37,8 @@ public ListBuildNode(Type type, ExpressionNode[] exps) { @ExplodeLoop public Object executeGeneric(VirtualFrame frame) { - Rql2ListType rql2Type = (Rql2ListType) type; - Rql2TypeWithProperties innerType = (Rql2TypeWithProperties) rql2Type.innerType(); + SnapiListType snapiType = (SnapiListType) type; + SnapiTypeWithProperties innerType = (SnapiTypeWithProperties) snapiType.innerType(); try { if (!innerType.props().isEmpty()) { @@ -49,56 +49,56 @@ public Object executeGeneric(VirtualFrame frame) { return new ObjectList(values); } switch (innerType) { - case Rql2ByteType rql2ByteType -> { + case SnapiByteType snapiByteType -> { byte[] values = new byte[exps.length]; for (int i = 0; i < exps.length; i++) { values[i] = exps[i].executeByte(frame); } return new ByteList(values); } - case Rql2ShortType rql2ShortType -> { + case SnapiShortType snapiShortType -> { short[] values = new short[exps.length]; for (int i = 0; i < exps.length; i++) { values[i] = exps[i].executeShort(frame); } return new ShortList(values); } - case Rql2IntType rql2IntType -> { + case SnapiIntType snapiIntType -> { int[] values = new int[exps.length]; for (int i = 0; i < exps.length; i++) { values[i] = exps[i].executeInt(frame); } return new IntList(values); } - case Rql2LongType rql2LongType -> { + case SnapiLongType snapiLongType -> { long[] values = new long[exps.length]; for (int i = 0; i < exps.length; i++) { values[i] = exps[i].executeLong(frame); } return new LongList(values); } - case Rql2FloatType rql2FloatType -> { + case SnapiFloatType snapiFloatType -> { float[] values = new float[exps.length]; for (int i = 0; i < exps.length; i++) { values[i] = exps[i].executeFloat(frame); } return new FloatList(values); } - case Rql2DoubleType rql2DoubleType -> { + case SnapiDoubleType snapiDoubleType -> { double[] values = new double[exps.length]; for (int i = 0; i < exps.length; i++) { values[i] = exps[i].executeDouble(frame); } return new DoubleList(values); } - case Rql2BoolType rql2BoolType -> { + case SnapiBoolType snapiBoolType -> { boolean[] values = new boolean[exps.length]; for (int i = 0; i < exps.length; i++) { values[i] = exps[i].executeBoolean(frame); } return new BooleanList(values); } - case Rql2StringType rql2StringType -> { + case SnapiStringType snapiStringType -> { String[] values = new String[exps.length]; for (int i = 0; i < exps.length; i++) { values[i] = exps[i].executeString(frame); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListFilterNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListFilterNode.java index 021506401..c9f8d0bb4 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListFilterNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListFilterNode.java @@ -16,7 +16,7 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.LoopNode; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.ArrayOperationNodes; import com.rawlabs.snapi.truffle.ast.expressions.iterable.ArrayOperationNodesFactory; @@ -63,7 +63,7 @@ public class ListFilterNode extends ExpressionNode { ArrayOperationNodes.ArrayBuildListNode arrayBuildListNode = ArrayOperationNodesFactory.ArrayBuildListNodeGen.create(); - private final Rql2Type resultType; + private final SnapiType resultType; private final int generatorSlot; private final int functionSlot; @@ -75,7 +75,7 @@ public class ListFilterNode extends ExpressionNode { public ListFilterNode( ExpressionNode listNode, ExpressionNode functionNode, - Rql2Type resultType, + SnapiType resultType, int generatorSlot, int functionSlot, int listSlot, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListFromNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListFromNode.java index 32f36b75f..1832371ae 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListFromNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListFromNode.java @@ -16,7 +16,7 @@ import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.LoopNode; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.TypeGuards; import com.rawlabs.snapi.truffle.ast.expressions.iterable.ArrayOperationNodes; @@ -61,7 +61,7 @@ public class ListFromNode extends ExpressionNode { private ArrayOperationNodes.ArrayBuildListNode arrayBuildListNode = ArrayOperationNodesFactory.ArrayBuildListNodeGen.create(); - private final Rql2Type resultType; + private final SnapiType resultType; private final int generatorSlot; private final int listSlot; @@ -71,7 +71,7 @@ public class ListFromNode extends ExpressionNode { public ListFromNode( ExpressionNode iterableNode, - Rql2Type resultType, + SnapiType resultType, int generatorSlot, int listSlot, int currentIdxSlot, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListFromUnsafe.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListFromUnsafe.java index c068d03c2..d6723cd3f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListFromUnsafe.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListFromUnsafe.java @@ -16,7 +16,7 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.LoopNode; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.ArrayOperationNodes; import com.rawlabs.snapi.truffle.ast.expressions.iterable.ArrayOperationNodesFactory; @@ -58,7 +58,7 @@ public class ListFromUnsafe extends ExpressionNode { private ArrayOperationNodes.ArrayBuildListNode arrayBuildListNode = ArrayOperationNodesFactory.ArrayBuildListNodeGen.create(); - private final Rql2Type resultType; + private final SnapiType resultType; private final int generatorSlot; private final int listSlot; @@ -68,7 +68,7 @@ public class ListFromUnsafe extends ExpressionNode { public ListFromUnsafe( ExpressionNode iterableNode, - Rql2Type resultType, + SnapiType resultType, int generatorSlot, int listSlot, int currentIdxSlot, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListGroupByNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListGroupByNode.java index 1dd8559f9..6a69bfe8b 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListGroupByNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListGroupByNode.java @@ -18,7 +18,7 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.LoopNode; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.osr.OSRGeneratorNode; import com.rawlabs.snapi.truffle.ast.osr.bodies.OSRListEquiJoinInitBodyNode; @@ -64,8 +64,8 @@ public class ListGroupByNode extends ExpressionNode { OffHeapNodes.OffHeapGeneratorNode generatorNode = OffHeapNodesFactory.OffHeapGeneratorNodeGen.create(); - private final Rql2TypeWithProperties rowType; - private final Rql2TypeWithProperties keyType; + private final SnapiTypeWithProperties rowType; + private final SnapiTypeWithProperties keyType; private final int generatorSlot; private final int keyFunctionSlot; @@ -78,8 +78,8 @@ public class ListGroupByNode extends ExpressionNode { public ListGroupByNode( ExpressionNode inputNode, ExpressionNode keyFunNode, - Rql2TypeWithProperties rowType, - Rql2TypeWithProperties keyType, + SnapiTypeWithProperties rowType, + SnapiTypeWithProperties keyType, int generatorSlot, int keyFunctionSlot, int mapSlot, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListTransformNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListTransformNode.java index c6c4e9fd5..885542d34 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListTransformNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/iterable/list/ListTransformNode.java @@ -16,7 +16,7 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.LoopNode; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.source.*; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.ArrayOperationNodes; import com.rawlabs.snapi.truffle.ast.expressions.iterable.ArrayOperationNodesFactory; @@ -42,7 +42,7 @@ public class ListTransformNode extends ExpressionNode { @Child private ListNodes.SizeNode sizeNode = ListNodesFactory.SizeNodeGen.create(); - private final Rql2Type resultType; + private final SnapiType resultType; private final int currentIndexSlot; private final int listSizeSlot; @@ -53,7 +53,7 @@ public class ListTransformNode extends ExpressionNode { public ListTransformNode( ExpressionNode listNode, ExpressionNode functionNode, - Rql2Type resultType, + SnapiType resultType, int listSlot, int functionSlot, int currentIndexSlot, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/literals/LocationConstNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/literals/LocationConstNode.java index 3773c4ce6..d2b968b49 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/literals/LocationConstNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/literals/LocationConstNode.java @@ -14,8 +14,8 @@ import com.oracle.truffle.api.CompilerDirectives; import com.oracle.truffle.api.frame.VirtualFrame; -import com.rawlabs.snapi.frontend.rql2.extensions.LocationDescription$; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.frontend.snapi.extensions.LocationDescription$; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.primitives.LocationObject; import com.rawlabs.utils.core.RawSettings; @@ -33,7 +33,7 @@ public LocationConstNode(byte[] value, String publicDescription) { @Override public final Object executeGeneric(VirtualFrame virtualFrame) { - RawSettings rawSettings = Rql2Context.get(this).getSettings(); + RawSettings rawSettings = SnapiContext.get(this).getSettings(); Location location = getLocation(rawSettings); return new LocationObject(location, publicDescription); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/literals/ZeroedConstNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/literals/ZeroedConstNode.java index dacb88809..541d327e7 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/literals/ZeroedConstNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/literals/ZeroedConstNode.java @@ -13,27 +13,27 @@ package com.rawlabs.snapi.truffle.ast.expressions.literals; import com.oracle.truffle.api.frame.VirtualFrame; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.source.*; import com.rawlabs.snapi.truffle.ast.ExpressionNode; public class ZeroedConstNode extends ExpressionNode { - Rql2Type type; + SnapiType type; - public ZeroedConstNode(Rql2Type type) { + public ZeroedConstNode(SnapiType type) { this.type = type; } @Override public final Object executeGeneric(VirtualFrame virtualFrame) { return switch (this.type) { - case Rql2ByteType rql2ByteType -> (byte) 0; - case Rql2ShortType rql2ShortType -> (short) 0; - case Rql2IntType rql2IntType -> 0; - case Rql2LongType rql2LongType -> (long) 0; - case Rql2FloatType rql2FloatType -> (float) 0; - case Rql2DoubleType rql2DoubleType -> (double) 0; - case Rql2BoolType rql2BoolType -> false; + case SnapiByteType snapiByteType -> (byte) 0; + case SnapiShortType snapiShortType -> (short) 0; + case SnapiIntType snapiIntType -> 0; + case SnapiLongType snapiLongType -> (long) 0; + case SnapiFloatType snapiFloatType -> (float) 0; + case SnapiDoubleType snapiDoubleType -> (double) 0; + case SnapiBoolType snapiBoolType -> false; case null, default -> null; }; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordAddFieldNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordAddFieldNode.java index c2fe8f70f..7a81df6fb 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordAddFieldNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordAddFieldNode.java @@ -15,7 +15,7 @@ import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.record.RecordNodes; import java.util.ArrayList; @@ -40,7 +40,7 @@ protected static Object doAddField( String newKey, Object newValue, @Bind("$node") Node thisNode, - @Cached(value = "getCachedLanguage(thisNode)", neverDefault = true) Rql2Language lang, + @Cached(value = "getCachedLanguage(thisNode)", neverDefault = true) SnapiLanguage lang, @Cached(inline = true) RecordNodes.GetKeysNode getKeysNode, @Cached(value = "getKeysNode.execute(thisNode, rec)", neverDefault = true, dimensions = 1) Object[] objKeys, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordBuildNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordBuildNode.java index 161e4476a..cf5fa2740 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordBuildNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordBuildNode.java @@ -16,7 +16,7 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.ExplodeLoop; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.record.RecordNodes; import com.rawlabs.snapi.truffle.runtime.record.RecordNodesFactory; @@ -33,7 +33,7 @@ public class RecordBuildNode extends ExpressionNode { private final boolean hasDuplicateKeys; - private final Rql2Language language = Rql2Language.get(this); + private final SnapiLanguage language = SnapiLanguage.get(this); public RecordBuildNode(ExpressionNode[] elementsNodes, String[] keys) { CompilerAsserts.compilationConstant(elementsNodes.length); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordConcatNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordConcatNode.java index 4e16f606f..c1568b24d 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordConcatNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordConcatNode.java @@ -16,7 +16,7 @@ import com.oracle.truffle.api.nodes.ExplodeLoop; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.record.RecordNodes; import java.util.ArrayList; @@ -40,7 +40,7 @@ protected static Object doConcat( Object rec1, Object rec2, @Bind("$node") Node thisNode, - @Cached(value = "getCachedLanguage(thisNode)", neverDefault = true) Rql2Language lang, + @Cached(value = "getCachedLanguage(thisNode)", neverDefault = true) SnapiLanguage lang, @Cached(inline = true) RecordNodes.GetKeysNode getKeysNode1, @Cached(inline = true) RecordNodes.GetKeysNode getKeysNode2, @Cached(value = "getKeysNode1.execute(thisNode, rec1)", neverDefault = true, dimensions = 1) diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordRemoveFieldNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordRemoveFieldNode.java index 8bd65554c..256ddc792 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordRemoveFieldNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordRemoveFieldNode.java @@ -15,7 +15,7 @@ import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.record.RecordNodes; import java.util.ArrayList; @@ -38,7 +38,7 @@ protected static Object doRemoveField( Object record, Object dropKey, @Bind("$node") Node thisNode, - @Cached(value = "getCachedLanguage(thisNode)", neverDefault = true) Rql2Language lang, + @Cached(value = "getCachedLanguage(thisNode)", neverDefault = true) SnapiLanguage lang, @Cached(inline = true) RecordNodes.GetKeysNode getKeysNode, @Cached(value = "getKeysNode.execute(thisNode, record)", neverDefault = true, dimensions = 1) Object[] objKeys, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordStaticInitializers.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordStaticInitializers.java index 60ef5ed40..a256f0523 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordStaticInitializers.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/record/RecordStaticInitializers.java @@ -13,7 +13,7 @@ package com.rawlabs.snapi.truffle.ast.expressions.record; import com.oracle.truffle.api.nodes.Node; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.runtime.record.RecordNodes; import com.rawlabs.snapi.truffle.runtime.record.RecordNodesFactory; import java.util.ArrayList; @@ -21,8 +21,8 @@ public class RecordStaticInitializers { - public static Rql2Language getCachedLanguage(Node node) { - return Rql2Language.get(node); + public static SnapiLanguage getCachedLanguage(Node node) { + return SnapiLanguage.get(node); } public static boolean hasDuplicateKeys(Object[] keys) { diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/binary/BinaryWriterNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/binary/BinaryWriterNode.java index 12b10c61e..ba50feeda 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/binary/BinaryWriterNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/binary/BinaryWriterNode.java @@ -15,7 +15,7 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.DirectCallNode; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.ProgramStatementNode; import com.rawlabs.snapi.truffle.ast.StatementNode; @@ -28,7 +28,7 @@ public class BinaryWriterNode extends StatementNode { @Child private DirectCallNode innerWriter; - private final OutputStream os = Rql2Context.get(this).getOutput(); + private final OutputStream os = SnapiContext.get(this).getOutput(); public BinaryWriterNode(ExpressionNode binaryNode, ProgramStatementNode innerWriter) { this.innerWriter = DirectCallNode.create(innerWriter.getCallTarget()); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/RecordParseCsvNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/RecordParseCsvNode.java index 6a989bbd3..011ad5a41 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/RecordParseCsvNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/RecordParseCsvNode.java @@ -16,8 +16,8 @@ import com.oracle.truffle.api.nodes.DirectCallNode; import com.oracle.truffle.api.nodes.ExplodeLoop; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.Rql2AttrType; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.source.SnapiAttrType; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.ProgramExpressionNode; import com.rawlabs.snapi.truffle.runtime.record.RecordNodes; @@ -32,12 +32,12 @@ public class RecordParseCsvNode extends ExpressionNode { @Children private final DirectCallNode[] childDirectCalls; - private final Rql2AttrType[] columns; + private final SnapiAttrType[] columns; private final boolean hasDuplicateKeys; - private final Rql2Language language = Rql2Language.get(this); + private final SnapiLanguage language = SnapiLanguage.get(this); - public RecordParseCsvNode(ProgramExpressionNode[] columnParsers, Rql2AttrType[] columns) { + public RecordParseCsvNode(ProgramExpressionNode[] columnParsers, SnapiAttrType[] columns) { this.columns = columns; this.childDirectCalls = new DirectCallNode[columnParsers.length]; for (int i = 0; i < columnParsers.length; i++) { @@ -48,7 +48,7 @@ public RecordParseCsvNode(ProgramExpressionNode[] columnParsers, Rql2AttrType[] addPropNode[i] = RecordNodesFactory.AddPropNodeGen.create(); } - List keys = Arrays.stream(columns).map(Rql2AttrType::idn).toList(); + List keys = Arrays.stream(columns).map(SnapiAttrType::idn).toList(); hasDuplicateKeys = keys.size() != keys.stream().distinct().count(); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/TruffleCsvParser.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/TruffleCsvParser.java index 273fbbe17..82ce1d3b2 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/TruffleCsvParser.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/reader/parser/TruffleCsvParser.java @@ -19,7 +19,7 @@ import com.fasterxml.jackson.dataformat.csv.CsvSchema; import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; import com.oracle.truffle.api.TruffleLogger; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.DateTimeFormatCache; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; @@ -127,7 +127,7 @@ public void finishLine(ExpressionNode location) { } private static final TruffleLogger LOG = - TruffleLogger.getLogger(Rql2Language.ID, TruffleRuntimeException.class); + TruffleLogger.getLogger(SnapiLanguage.ID, TruffleRuntimeException.class); @TruffleBoundary public void close() { diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/writer/CsvIterableWriterNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/writer/CsvIterableWriterNode.java index f038fde46..374365463 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/writer/CsvIterableWriterNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/writer/CsvIterableWriterNode.java @@ -22,7 +22,7 @@ import com.oracle.truffle.api.RootCallTarget; import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.DirectCallNode; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.StatementNode; import com.rawlabs.snapi.truffle.runtime.exceptions.csv.CsvWriterTruffleException; @@ -62,7 +62,7 @@ public class CsvIterableWriterNode extends StatementNode { private final String[] columnNames; private final String lineSeparator; - private final OutputStream os = Rql2Context.get(this).getOutput(); + private final OutputStream os = SnapiContext.get(this).getOutput(); public CsvIterableWriterNode( ExpressionNode dataNode, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/writer/CsvListWriterNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/writer/CsvListWriterNode.java index 7e4e8615b..a3097661a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/writer/CsvListWriterNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/csv/writer/CsvListWriterNode.java @@ -22,7 +22,7 @@ import com.oracle.truffle.api.RootCallTarget; import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.DirectCallNode; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.StatementNode; import com.rawlabs.snapi.truffle.runtime.exceptions.csv.CsvWriterTruffleException; @@ -55,7 +55,7 @@ public CsvListWriterNode( itemWriter = DirectCallNode.create(writeRootCallTarget); this.columnNames = columnNames; this.lineSeparator = lineSeparator; - this.os = Rql2Context.get(this).getOutput(); + this.os = SnapiContext.get(this).getOutput(); } @Override diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/jdbc/RecordReadJdbcQuery.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/jdbc/RecordReadJdbcQuery.java index ec73e727d..dc1e575bf 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/jdbc/RecordReadJdbcQuery.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/jdbc/RecordReadJdbcQuery.java @@ -16,8 +16,8 @@ import com.oracle.truffle.api.nodes.DirectCallNode; import com.oracle.truffle.api.nodes.ExplodeLoop; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.Rql2AttrType; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.source.SnapiAttrType; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.ProgramExpressionNode; import com.rawlabs.snapi.truffle.runtime.record.RecordNodes; @@ -32,13 +32,13 @@ public class RecordReadJdbcQuery extends ExpressionNode { @Children private final RecordNodes.AddPropNode[] addPropNode; - private final Rql2AttrType[] columns; + private final SnapiAttrType[] columns; - private final Rql2Language language = Rql2Language.get(this); + private final SnapiLanguage language = SnapiLanguage.get(this); private final boolean hasDuplicateKeys; - public RecordReadJdbcQuery(ProgramExpressionNode[] columnParsers, Rql2AttrType[] columns) { + public RecordReadJdbcQuery(ProgramExpressionNode[] columnParsers, SnapiAttrType[] columns) { this.columns = columns; this.childDirectCalls = new DirectCallNode[columnParsers.length]; for (int i = 0; i < columnParsers.length; i++) { @@ -48,7 +48,7 @@ public RecordReadJdbcQuery(ProgramExpressionNode[] columnParsers, Rql2AttrType[] for (int i = 0; i < columns.length; i++) { addPropNode[i] = RecordNodesFactory.AddPropNodeGen.create(); } - List listOfKeys = Arrays.stream(columns).map(Rql2AttrType::idn).toList(); + List listOfKeys = Arrays.stream(columns).map(SnapiAttrType::idn).toList(); hasDuplicateKeys = listOfKeys.size() != listOfKeys.stream().distinct().count(); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/json/reader/JsonParserNodes.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/json/reader/JsonParserNodes.java index d56eaa06e..70f08eed9 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/json/reader/JsonParserNodes.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/json/reader/JsonParserNodes.java @@ -22,7 +22,7 @@ import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.DateTimeFormatCache; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.interval_package.IntervalNodes; import com.rawlabs.snapi.truffle.ast.expressions.record.RecordStaticInitializers; @@ -47,7 +47,7 @@ public final class JsonParserNodes { private static final TruffleLogger LOG = - TruffleLogger.getLogger(Rql2Language.ID, TruffleRuntimeException.class); + TruffleLogger.getLogger(SnapiLanguage.ID, TruffleRuntimeException.class); @NodeInfo(shortName = "JsonParser.Initialize") @GenerateUncached @@ -633,7 +633,7 @@ protected static Object doParse( Node node, JsonParser parser, @Bind("$node") Node thisNode, - @Cached("getCachedLanguage(thisNode)") Rql2Language lang, + @Cached("getCachedLanguage(thisNode)") SnapiLanguage lang, @Cached(inline = false) @Cached.Shared("parseAny") ParseAnyJsonParserNode parse, @Cached @Cached.Shared("nextToken") JsonParserNodes.NextTokenJsonParserNode nextToken, @Cached @Cached.Shared("currentToken") @@ -649,7 +649,7 @@ protected static Object doParse( nextToken.execute(thisNode, parser); - Object record = Rql2Language.get(thisNode).createDuplicateKeyRecord(); + Object record = SnapiLanguage.get(thisNode).createDuplicateKeyRecord(); while (currentToken.execute(thisNode, parser) != JsonToken.END_OBJECT) { String fieldName = currentField.execute(thisNode, parser); nextToken.execute(thisNode, parser); // skip the field name diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/json/reader/parser/ListParseJsonNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/json/reader/parser/ListParseJsonNode.java index 80fdfc631..cde870884 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/json/reader/parser/ListParseJsonNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/json/reader/parser/ListParseJsonNode.java @@ -19,7 +19,7 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.LoopNode; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.ArrayOperationNodes; import com.rawlabs.snapi.truffle.ast.expressions.iterable.ArrayOperationNodesFactory; @@ -56,7 +56,7 @@ public class ListParseJsonNode extends ExpressionNode { private ArrayOperationNodes.ArrayBuildNode arrayBuildNode = ArrayOperationNodesFactory.ArrayBuildNodeGen.create(); - private final Rql2Type resultType; + private final SnapiType resultType; private final int currentIdxSlot; private final int listSizeSlot; @@ -66,7 +66,7 @@ public class ListParseJsonNode extends ExpressionNode { private final int parserSlot; public ListParseJsonNode( - Rql2Type resultType, + SnapiType resultType, RootCallTarget childCallTarget, int parserSlot, int llistSlot, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/json/reader/parser/RecordParseJsonNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/json/reader/parser/RecordParseJsonNode.java index 08ddd85a3..2823cca72 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/json/reader/parser/RecordParseJsonNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/json/reader/parser/RecordParseJsonNode.java @@ -22,9 +22,9 @@ import com.oracle.truffle.api.nodes.DirectCallNode; import com.oracle.truffle.api.nodes.ExplodeLoop; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IsNullableTypeProperty; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIsNullableTypeProperty; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.ProgramExpressionNode; import com.rawlabs.snapi.truffle.ast.TruffleBoundaries; @@ -65,16 +65,16 @@ public class RecordParseJsonNode extends ExpressionNode { // Field name and its index in the childDirectCalls array private final LinkedHashMap fieldNamesMap; private final int fieldsSize; - private final Rql2TypeWithProperties[] fieldTypes; + private final SnapiTypeWithProperties[] fieldTypes; - private final Rql2Language language = Rql2Language.get(this); + private final SnapiLanguage language = SnapiLanguage.get(this); private final boolean hasDuplicateKeys; public RecordParseJsonNode( ProgramExpressionNode[] childProgramExpressionNode, LinkedHashMap fieldNamesMap, - Rql2TypeWithProperties[] fieldTypes, + SnapiTypeWithProperties[] fieldTypes, boolean hasDuplicateKeys) { this.fieldTypes = fieldTypes; this.fieldNamesMap = fieldNamesMap; @@ -168,6 +168,6 @@ private String[] getKeySet() { @CompilerDirectives.TruffleBoundary private boolean propsContainNullable(int index) { - return fieldTypes[index].props().contains(Rql2IsNullableTypeProperty.apply()); + return fieldTypes[index].props().contains(SnapiIsNullableTypeProperty.apply()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/kryo/KryoFromNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/kryo/KryoFromNode.java index ef5455214..2628ecd28 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/kryo/KryoFromNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/kryo/KryoFromNode.java @@ -14,7 +14,7 @@ import com.esotericsoftware.kryo.io.Input; import com.oracle.truffle.api.frame.VirtualFrame; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.kryo.KryoNodes; import com.rawlabs.snapi.truffle.runtime.kryo.KryoNodesFactory; @@ -23,9 +23,9 @@ public class KryoFromNode extends ExpressionNode { @Child private ExpressionNode valueNode; @Child private KryoNodes.KryoReadNode reader = KryoNodesFactory.KryoReadNodeGen.create(); - private final Rql2TypeWithProperties t; + private final SnapiTypeWithProperties t; - public KryoFromNode(ExpressionNode valueNode, Rql2TypeWithProperties t) { + public KryoFromNode(ExpressionNode valueNode, SnapiTypeWithProperties t) { this.valueNode = valueNode; this.t = t; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/kryo/KryoWriteNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/kryo/KryoWriteNode.java index 10ee1b40e..3b3bb54cd 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/kryo/KryoWriteNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/kryo/KryoWriteNode.java @@ -14,7 +14,7 @@ import com.esotericsoftware.kryo.io.Output; import com.oracle.truffle.api.frame.VirtualFrame; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.runtime.kryo.KryoNodes; import com.rawlabs.snapi.truffle.runtime.kryo.KryoNodesFactory; @@ -23,9 +23,9 @@ public class KryoWriteNode extends ExpressionNode { @Child private ExpressionNode valueNode; @Child private KryoNodes.KryoWriteNode writer = KryoNodesFactory.KryoWriteNodeGen.create(); - private final Rql2TypeWithProperties t; + private final SnapiTypeWithProperties t; - public KryoWriteNode(ExpressionNode valueNode, Rql2TypeWithProperties t) { + public KryoWriteNode(ExpressionNode valueNode, SnapiTypeWithProperties t) { this.valueNode = valueNode; this.t = t; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/xml/parser/RecordParseXmlNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/xml/parser/RecordParseXmlNode.java index cc8bd8d46..81fa8a49f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/xml/parser/RecordParseXmlNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/io/xml/parser/RecordParseXmlNode.java @@ -19,8 +19,8 @@ import com.oracle.truffle.api.nodes.DirectCallNode; import com.oracle.truffle.api.nodes.NodeInfo; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.source.*; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.source.*; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.ProgramExpressionNode; import com.rawlabs.snapi.truffle.runtime.exceptions.xml.XmlParserTruffleException; @@ -40,7 +40,7 @@ public class RecordParseXmlNode extends ExpressionNode { // Field name and its index in the childDirectCalls array private final int fieldsSize; private final String[] fields; - private final Rql2TypeWithProperties[] fieldTypes; + private final SnapiTypeWithProperties[] fieldTypes; private final Map> collectionValues = new HashMap<>(); private final Map fieldsIndex = new HashMap<>(); private final Map attributesIndex = new HashMap<>(); @@ -49,12 +49,12 @@ public class RecordParseXmlNode extends ExpressionNode { private final BitSet bitSet; private final boolean hasDuplicateKeys; - private final Rql2Language language = Rql2Language.get(this); + private final SnapiLanguage language = SnapiLanguage.get(this); public RecordParseXmlNode( ProgramExpressionNode[] childProgramExpressionNode, String[] fieldNames, - Rql2TypeWithProperties[] fieldTypes) { + SnapiTypeWithProperties[] fieldTypes) { this.fieldTypes = fieldTypes; this.fields = fieldNames; this.fieldsSize = childProgramExpressionNode.length; @@ -73,7 +73,7 @@ public RecordParseXmlNode( } // take note of fields that should be parsed as collections Type fieldType = fieldTypes[index]; - if (fieldType instanceof Rql2IterableType || fieldType instanceof Rql2ListType) { + if (fieldType instanceof SnapiIterableType || fieldType instanceof SnapiListType) { collectionsIndex.put(fieldName, index); refBitSet.set(index); } @@ -149,7 +149,7 @@ record = language.createPureRecord(); ObjectList list = new ObjectList(items.toArray()); int index = collectionsIndex.get(keys[i]); Type fieldType = fieldTypes[index]; - if (fieldType instanceof Rql2IterableType) { + if (fieldType instanceof SnapiIterableType) { // if the collection is an iterable, convert the list to an iterable. addPropNode[i].execute(this, record, keys[i], list.toIterable(), hasDuplicateKeys); } else { @@ -165,7 +165,7 @@ record = language.createPureRecord(); for (int i = 0; i < fieldsSize; i++) { String fieldName = fields[i]; if (!bitSet.get(i)) { - if (fieldTypes[i].props().contains(Rql2IsNullableTypeProperty.apply())) { + if (fieldTypes[i].props().contains(SnapiIsNullableTypeProperty.apply())) { // It's OK, the field is nullable. If it's tryable, make a success null, // else a plain // null. diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/local/ReadClosureVariableNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/local/ReadClosureVariableNode.java index e37da7c11..cc2ada60f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/local/ReadClosureVariableNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/local/ReadClosureVariableNode.java @@ -20,8 +20,8 @@ import com.oracle.truffle.api.frame.Frame; import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.nodes.ExplodeLoop; -import com.rawlabs.snapi.frontend.rql2.source.*; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.source.*; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.TypeGuards; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; @@ -29,11 +29,11 @@ @ImportStatic(TypeGuards.class) @NodeField(name = "depth", type = Integer.class) @NodeField(name = "index", type = Integer.class) -@NodeField(name = "rql2Type", type = Rql2Type.class) +@NodeField(name = "snapiType", type = SnapiType.class) public abstract class ReadClosureVariableNode extends ExpressionNode { private static final TruffleLogger LOG = - TruffleLogger.getLogger(Rql2Language.ID, TruffleRuntimeException.class); + TruffleLogger.getLogger(SnapiLanguage.ID, TruffleRuntimeException.class); @Idempotent protected abstract Integer getDepth(); @@ -42,39 +42,39 @@ public abstract class ReadClosureVariableNode extends ExpressionNode { protected abstract Integer getIndex(); @Idempotent - protected abstract Rql2Type getRql2Type(); + protected abstract SnapiType getSnapiType(); - @Specialization(guards = "isBooleanKind(getRql2Type())") + @Specialization(guards = "isBooleanKind(getSnapiType())") protected final boolean doBoolean(VirtualFrame frame) { return findActualFrame(frame).getBoolean(getIndex()); } - @Specialization(guards = "isByteKind(getRql2Type())") + @Specialization(guards = "isByteKind(getSnapiType())") protected final byte doByte(VirtualFrame frame) { return findActualFrame(frame).getByte(getIndex()); } - @Specialization(guards = "isShortKind(getRql2Type())") + @Specialization(guards = "isShortKind(getSnapiType())") protected final short doShort(VirtualFrame frame) { return (short) findActualFrame(frame).getInt(getIndex()); } - @Specialization(guards = "isIntKind(getRql2Type())") + @Specialization(guards = "isIntKind(getSnapiType())") protected final int doInt(VirtualFrame frame) { return findActualFrame(frame).getInt(getIndex()); } - @Specialization(guards = "isLongKind(getRql2Type())") + @Specialization(guards = "isLongKind(getSnapiType())") protected final long doLong(VirtualFrame frame) { return findActualFrame(frame).getLong(getIndex()); } - @Specialization(guards = "isFloatKind(getRql2Type())") + @Specialization(guards = "isFloatKind(getSnapiType())") protected final float doFloat(VirtualFrame frame) { return findActualFrame(frame).getFloat(getIndex()); } - @Specialization(guards = "isDoubleKind(getRql2Type())") + @Specialization(guards = "isDoubleKind(getSnapiType())") protected final double doDouble(VirtualFrame frame) { return findActualFrame(frame).getDouble(getIndex()); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/local/ReadLocalVariableNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/local/ReadLocalVariableNode.java index ae2b78036..085d5cf7f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/local/ReadLocalVariableNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/local/ReadLocalVariableNode.java @@ -17,52 +17,52 @@ import com.oracle.truffle.api.dsl.NodeField; import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.api.frame.VirtualFrame; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.source.*; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.TypeGuards; @ImportStatic(TypeGuards.class) @NodeField(name = "slot", type = int.class) -@NodeField(name = "rql2Type", type = Rql2Type.class) +@NodeField(name = "snapiType", type = SnapiType.class) public abstract class ReadLocalVariableNode extends ExpressionNode { @Idempotent protected abstract int getSlot(); @Idempotent - protected abstract Rql2Type getRql2Type(); + protected abstract SnapiType getSnapiType(); - @Specialization(guards = "isBooleanKind(getRql2Type())") + @Specialization(guards = "isBooleanKind(getSnapiType())") protected final boolean doBoolean(VirtualFrame frame) { return frame.getBoolean(getSlot()); } - @Specialization(guards = "isByteKind(getRql2Type())") + @Specialization(guards = "isByteKind(getSnapiType())") protected final byte doByte(VirtualFrame frame) { return frame.getByte(getSlot()); } - @Specialization(guards = "isShortKind(getRql2Type())") + @Specialization(guards = "isShortKind(getSnapiType())") protected final short doShort(VirtualFrame frame) { return (short) frame.getInt(getSlot()); } - @Specialization(guards = "isIntKind(getRql2Type())") + @Specialization(guards = "isIntKind(getSnapiType())") protected final int doInt(VirtualFrame frame) { return frame.getInt(getSlot()); } - @Specialization(guards = "isLongKind(getRql2Type())") + @Specialization(guards = "isLongKind(getSnapiType())") protected final long doLong(VirtualFrame frame) { return frame.getLong(getSlot()); } - @Specialization(guards = "isFloatKind(getRql2Type())") + @Specialization(guards = "isFloatKind(getSnapiType())") protected final float doFloat(VirtualFrame frame) { return frame.getFloat(getSlot()); } - @Specialization(guards = "isDoubleKind(getRql2Type())") + @Specialization(guards = "isDoubleKind(getSnapiType())") protected final double doDouble(VirtualFrame frame) { return frame.getDouble(getSlot()); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/local/WriteLocalVariableNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/local/WriteLocalVariableNode.java index edb7b7069..e8531bc26 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/local/WriteLocalVariableNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/local/WriteLocalVariableNode.java @@ -15,30 +15,30 @@ import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.api.frame.FrameSlotKind; import com.oracle.truffle.api.frame.VirtualFrame; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.source.*; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.TypeGuards; @ImportStatic(TypeGuards.class) @NodeChild("value") @NodeField(name = "slot", type = int.class) -@NodeField(name = "rql2Type", type = Rql2Type.class) +@NodeField(name = "snapiType", type = SnapiType.class) public abstract class WriteLocalVariableNode extends ExpressionNode { @Idempotent protected abstract int getSlot(); @Idempotent - protected abstract Rql2Type getRql2Type(); + protected abstract SnapiType getSnapiType(); - @Specialization(guards = "isBooleanKind(getRql2Type())") + @Specialization(guards = "isBooleanKind(getSnapiType())") protected final boolean doBoolean(VirtualFrame frame, boolean value) { frame.getFrameDescriptor().setSlotKind(getSlot(), FrameSlotKind.Boolean); frame.setBoolean(getSlot(), value); return value; } - @Specialization(guards = "isByteKind(getRql2Type())") + @Specialization(guards = "isByteKind(getSnapiType())") protected final byte doByte(VirtualFrame frame, byte value) { frame.getFrameDescriptor().setSlotKind(getSlot(), FrameSlotKind.Byte); @@ -46,7 +46,7 @@ protected final byte doByte(VirtualFrame frame, byte value) { return value; } - @Specialization(guards = "isShortKind(getRql2Type())") + @Specialization(guards = "isShortKind(getSnapiType())") protected final short doShort(VirtualFrame frame, short value) { frame.getFrameDescriptor().setSlotKind(getSlot(), FrameSlotKind.Int); @@ -54,7 +54,7 @@ protected final short doShort(VirtualFrame frame, short value) { return value; } - @Specialization(guards = "isIntKind(getRql2Type())") + @Specialization(guards = "isIntKind(getSnapiType())") protected final int doInt(VirtualFrame frame, int value) { frame.getFrameDescriptor().setSlotKind(getSlot(), FrameSlotKind.Int); @@ -62,7 +62,7 @@ protected final int doInt(VirtualFrame frame, int value) { return value; } - @Specialization(guards = "isLongKind(getRql2Type())") + @Specialization(guards = "isLongKind(getSnapiType())") protected final long doLong(VirtualFrame frame, long value) { frame.getFrameDescriptor().setSlotKind(getSlot(), FrameSlotKind.Long); @@ -70,7 +70,7 @@ protected final long doLong(VirtualFrame frame, long value) { return value; } - @Specialization(guards = "isFloatKind(getRql2Type())") + @Specialization(guards = "isFloatKind(getSnapiType())") protected final float doFloat(VirtualFrame frame, float value) { frame.getFrameDescriptor().setSlotKind(getSlot(), FrameSlotKind.Float); @@ -78,7 +78,7 @@ protected final float doFloat(VirtualFrame frame, float value) { return value; } - @Specialization(guards = "isDoubleKind(getRql2Type())") + @Specialization(guards = "isDoubleKind(getSnapiType())") protected final double doDouble(VirtualFrame frame, double value) { frame.getFrameDescriptor().setSlotKind(getSlot(), FrameSlotKind.Double); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/osr/bodies/OSRToArrayBodyNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/osr/bodies/OSRToArrayBodyNode.java index 5a1761e32..1c995e5a3 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/osr/bodies/OSRToArrayBodyNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/osr/bodies/OSRToArrayBodyNode.java @@ -13,14 +13,14 @@ package com.rawlabs.snapi.truffle.ast.osr.bodies; import com.oracle.truffle.api.frame.VirtualFrame; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.TypeGuards; import java.util.ArrayList; public class OSRToArrayBodyNode extends ExpressionNode { - private final Rql2Type resultType; + private final SnapiType resultType; private final int listSlot; @@ -28,7 +28,8 @@ public class OSRToArrayBodyNode extends ExpressionNode { private final int resultSlot; - public OSRToArrayBodyNode(Rql2Type resultType, int listSlot, int currentIdxSlot, int resultSlot) { + public OSRToArrayBodyNode( + SnapiType resultType, int listSlot, int currentIdxSlot, int resultSlot) { this.resultType = resultType; this.currentIdxSlot = currentIdxSlot; this.resultSlot = resultSlot; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/SnapiTruffleEmitter.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/SnapiTruffleEmitter.java index ae8c9ea68..4622511af 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/SnapiTruffleEmitter.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/SnapiTruffleEmitter.java @@ -20,16 +20,16 @@ import org.bitbucket.inkytonik.kiama.relation.TreeRelation; import org.bitbucket.inkytonik.kiama.util.Entity; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.source.Exp; -import com.rawlabs.snapi.frontend.rql2.source.IdnExp; -import com.rawlabs.snapi.frontend.rql2.source.SourceNode; -import com.rawlabs.snapi.frontend.rql2.*; -import com.rawlabs.snapi.frontend.rql2.extensions.EntryExtension; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.source.Exp; +import com.rawlabs.snapi.frontend.snapi.source.IdnExp; +import com.rawlabs.snapi.frontend.snapi.source.SourceNode; +import com.rawlabs.snapi.frontend.snapi.*; +import com.rawlabs.snapi.frontend.snapi.extensions.EntryExtension; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.source.*; import com.rawlabs.snapi.truffle.emitter.builtin.location_extension.TruffleLocationFromStringEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.StatementNode; import com.rawlabs.snapi.truffle.ast.ProgramExpressionNode; import com.rawlabs.snapi.truffle.ast.controlflow.ExpBlockNode; @@ -56,7 +56,7 @@ public class SnapiTruffleEmitter extends TruffleEmitter { private final Tree tree; - private final Rql2Language rawLanguage; + private final SnapiLanguage rawLanguage; private final ProgramContext programContext; private final SemanticAnalyzer analyzer; private final String uniqueId = UUID.randomUUID().toString().replace("-", "").replace("_", ""); @@ -316,7 +316,7 @@ private static TruffleEntryExtension getEntry(String pkgName, String entName) { throw new TruffleInternalErrorException("Could not find entry for " + pkgName + "." + entName); } - public SnapiTruffleEmitter(Tree tree, Rql2Language rawLanguage, ProgramContext programContext) { + public SnapiTruffleEmitter(Tree tree, SnapiLanguage rawLanguage, ProgramContext programContext) { this.tree = tree; this.analyzer = tree.analyzer(); this.rawLanguage = rawLanguage; @@ -327,7 +327,7 @@ private Type tipe(Exp e) { return analyzer.tipe(e); } - public Rql2Language getLanguage() { + public SnapiLanguage getLanguage() { return this.rawLanguage; } @@ -366,7 +366,7 @@ private void addSlot(Entity entity, String slot) { slotMapScope.get(0).put(entity, slot); } - protected StatementNode emitMethod(Rql2Method m) { + protected StatementNode emitMethod(SnapiMethod m) { Entity entity = analyzer.entity().apply(m.i()); FunProto fp = m.p(); Function f = recurseFunProto(fp); @@ -403,49 +403,49 @@ private StatementNode recurseLetDecl(LetDecl ld) { return switch (ld) { case LetBind lb -> { Entity entity = analyzer.entity().apply(lb.i()); - Rql2Type rql2Type = (Rql2Type) tipe(lb.e()); - int slot = switch (rql2Type) { - case Rql2UndefinedType ignored -> + SnapiType snapiType = (SnapiType) tipe(lb.e()); + int slot = switch (snapiType) { + case SnapiUndefinedType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); case ExpType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); - case Rql2ByteType ignored -> + case SnapiByteType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Byte, getIdnName(entity), null); - case Rql2ShortType ignored -> + case SnapiShortType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Int, getIdnName(entity), null); - case Rql2IntType ignored -> + case SnapiIntType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Int, getIdnName(entity), null); - case Rql2LongType ignored -> + case SnapiLongType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Long, getIdnName(entity), null); - case Rql2FloatType ignored -> + case SnapiFloatType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Float, getIdnName(entity), null); - case Rql2DoubleType ignored -> + case SnapiDoubleType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Double, getIdnName(entity), null); - case Rql2DecimalType ignored -> + case SnapiDecimalType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); - case Rql2BoolType ignored -> + case SnapiBoolType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Boolean, getIdnName(entity), null); - case Rql2StringType ignored -> + case SnapiStringType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); - case Rql2DateType ignored -> + case SnapiDateType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); - case Rql2TimeType ignored -> + case SnapiTimeType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); - case Rql2TimestampType ignored -> + case SnapiTimestampType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); - case Rql2IntervalType ignored -> + case SnapiIntervalType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); - case Rql2BinaryType ignored -> + case SnapiBinaryType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); - case Rql2IterableType ignored -> + case SnapiIterableType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); - case Rql2ListType ignored -> + case SnapiListType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); case FunType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); - case Rql2RecordType ignored -> + case SnapiRecordType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); - case Rql2LocationType ignored -> + case SnapiLocationType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); case PackageType ignored -> getFrameDescriptorBuilder().addSlot(FrameSlotKind.Object, getIdnName(entity), null); @@ -454,7 +454,7 @@ private StatementNode recurseLetDecl(LetDecl ld) { default -> throw new TruffleInternalErrorException(); }; addSlot(entity, Integer.toString(slot)); - yield WriteLocalVariableNodeGen.create(recurseExp(lb.e()), slot, rql2Type); + yield WriteLocalVariableNodeGen.create(recurseExp(lb.e()), slot, snapiType); } case LetFun lf -> { Entity entity = analyzer.entity().apply(lf.i()); @@ -529,8 +529,8 @@ public ClosureNode recurseLambda(TruffleBuildBody truffleBuildBody) { public ExpressionNode recurseExp(Exp in) { return switch (in) { case Exp ignored when tipe(in) instanceof PackageType || tipe(in) instanceof PackageEntryType -> - new ZeroedConstNode(Rql2ByteType.apply(new scala.collection.immutable.HashSet().seq())); - case TypeExp typeExp -> new ZeroedConstNode((Rql2Type) typeExp.t()); + new ZeroedConstNode(SnapiByteType.apply(new scala.collection.immutable.HashSet().seq())); + case TypeExp typeExp -> new ZeroedConstNode((SnapiType) typeExp.t()); case NullConst ignored -> new OptionNoneNode(); case BoolConst v -> new BoolNode(v.value()); case ByteConst v -> new ByteNode(v.value()); @@ -575,18 +575,18 @@ yield switch (entity) { } case LetBindEntity b -> { SlotLocation slotLocation = findSlot(b); - yield slotLocation.depth() == 0 ? ReadLocalVariableNodeGen.create(slotLocation.slot(), (Rql2Type) tipe(b.b().e())) : - ReadClosureVariableNodeGen.create(slotLocation.depth(), slotLocation.slot(), (Rql2Type) tipe(b.b().e())); + yield slotLocation.depth() == 0 ? ReadLocalVariableNodeGen.create(slotLocation.slot(), (SnapiType) tipe(b.b().e())) : + ReadClosureVariableNodeGen.create(slotLocation.depth(), slotLocation.slot(), (SnapiType) tipe(b.b().e())); } case LetFunEntity f -> { SlotLocation slotLocation = findSlot(f); yield slotLocation.depth() == 0 ? ReadLocalVariableNodeGen.create(slotLocation.slot(), null) : - ReadClosureVariableNodeGen.create(slotLocation.depth(), slotLocation.slot(), (Rql2Type) analyzer.idnType(f.f().i())); + ReadClosureVariableNodeGen.create(slotLocation.depth(), slotLocation.slot(), (SnapiType) analyzer.idnType(f.f().i())); } case LetFunRecEntity f -> { SlotLocation slotLocation = findSlot(f); yield slotLocation.depth() == 0 ? ReadLocalVariableNodeGen.create(slotLocation.slot(), null) : - ReadClosureVariableNodeGen.create(slotLocation.depth(), slotLocation.slot(), (Rql2Type) analyzer.idnType(f.f().i())); + ReadClosureVariableNodeGen.create(slotLocation.depth(), slotLocation.slot(), (SnapiType) analyzer.idnType(f.f().i())); } case FunParamEntity f -> { int depth = getCurrentDepth() - getEntityDepth(f); @@ -642,7 +642,7 @@ case FunApp fa when tipe(fa.f()) instanceof PackageEntryType -> { TruffleEntryExtension e = getEntry(pet.pkgName(), pet.entName()); yield e.toTruffle( t, - JavaConverters.asJavaCollection(fa.args()).stream().map(a -> new Rql2Arg(a.e(), tipe(a.e()), a.idn())).toList(), + JavaConverters.asJavaCollection(fa.args()).stream().map(a -> new SnapiArg(a.e(), tipe(a.e()), a.idn())).toList(), this ); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleEmit.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleEmit.java index 35be50b82..5ace43f32 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleEmit.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleEmit.java @@ -15,12 +15,12 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.nodes.RootNode; import com.rawlabs.compiler.Entrypoint; -import com.rawlabs.snapi.frontend.rql2.ProgramContext; -import com.rawlabs.snapi.frontend.rql2.Tree; -import com.rawlabs.snapi.frontend.rql2.source.*; -import com.rawlabs.snapi.frontend.rql2.source.Exp; -import com.rawlabs.snapi.frontend.rql2.source.SourceProgram; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.ProgramContext; +import com.rawlabs.snapi.frontend.snapi.Tree; +import com.rawlabs.snapi.frontend.snapi.source.*; +import com.rawlabs.snapi.frontend.snapi.source.Exp; +import com.rawlabs.snapi.frontend.snapi.source.SourceProgram; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.ProgramExpressionNode; import com.rawlabs.snapi.truffle.ast.StatementNode; @@ -30,12 +30,12 @@ public class TruffleEmit { public static Entrypoint doEmit( SourceProgram program, - Rql2Language language, + SnapiLanguage language, com.rawlabs.snapi.frontend.base.ProgramContext programContext) { - ProgramContext ctx = (com.rawlabs.snapi.frontend.rql2.ProgramContext) programContext; + ProgramContext ctx = (com.rawlabs.snapi.frontend.snapi.ProgramContext) programContext; Tree tree = new Tree(program, true, ctx); SnapiTruffleEmitter emitter = new SnapiTruffleEmitter(tree, language, ctx); - Rql2Program prog = (Rql2Program) tree.root(); + SnapiProgram prog = (SnapiProgram) tree.root(); Exp bodyExp = (prog.me().isDefined()) ? prog.me().get() : new IntConst("0"); emitter.addScope(); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleEmitter.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleEmitter.java index 8444ff83c..cdbbec010 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleEmitter.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleEmitter.java @@ -13,9 +13,9 @@ package com.rawlabs.snapi.truffle.emitter; import com.oracle.truffle.api.frame.FrameDescriptor; -import com.rawlabs.snapi.frontend.rql2.source.Exp; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Method; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.source.Exp; +import com.rawlabs.snapi.frontend.snapi.source.SnapiMethod; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.StatementNode; import com.rawlabs.snapi.truffle.ast.expressions.function.ClosureNode; @@ -31,7 +31,7 @@ public abstract class TruffleEmitter { public abstract FrameDescriptor.Builder getFrameDescriptorBuilder(); - public abstract Rql2Language getLanguage(); + public abstract SnapiLanguage getLanguage(); - protected abstract StatementNode emitMethod(Rql2Method m); + protected abstract StatementNode emitMethod(SnapiMethod m); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleEntryExtension.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleEntryExtension.java index 25c047ac7..4cf10b822 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleEntryExtension.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleEntryExtension.java @@ -13,22 +13,22 @@ package com.rawlabs.snapi.truffle.emitter; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import java.util.List; import java.util.stream.Collectors; public interface TruffleEntryExtension { - default ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + default ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { throw new UnsupportedOperationException("Not implemented"); } - default ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - return toTruffle(type, rql2argsToTruffleArgs(args, emitter), emitter.getLanguage()); + default ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + return toTruffle(type, snapiargsToTruffleArgs(args, emitter), emitter.getLanguage()); } - default List rql2argsToTruffleArgs(List args, TruffleEmitter emitter) { + default List snapiargsToTruffleArgs(List args, TruffleEmitter emitter) { return args.stream() .map( a -> diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleShortEntryExtension.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleShortEntryExtension.java index 0b6ad1f1d..e9201df9a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleShortEntryExtension.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/TruffleShortEntryExtension.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import java.util.List; import java.util.stream.Collectors; @@ -27,7 +27,7 @@ public interface TruffleShortEntryExtension extends TruffleEntryExtension { ExpressionNode toTruffle(List args); - default ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + default ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { List orderedArgs = args.stream() .filter(a -> a.idn().isEmpty()) diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/CompilerScalaConsts.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/CompilerScalaConsts.java index 262b497c9..35b0ac234 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/CompilerScalaConsts.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/CompilerScalaConsts.java @@ -12,10 +12,10 @@ package com.rawlabs.snapi.truffle.emitter.builtin; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IsNullableTypeProperty; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IsTryableTypeProperty; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIsNullableTypeProperty; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIsTryableTypeProperty; public class CompilerScalaConsts { - public static final Rql2IsTryableTypeProperty tryable = Rql2IsTryableTypeProperty.apply(); - public static final Rql2IsNullableTypeProperty nullable = Rql2IsNullableTypeProperty.apply(); + public static final SnapiIsTryableTypeProperty tryable = SnapiIsTryableTypeProperty.apply(); + public static final SnapiIsNullableTypeProperty nullable = SnapiIsNullableTypeProperty.apply(); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/WithArgs.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/WithArgs.java index 6afb9061e..116369544 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/WithArgs.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/WithArgs.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; import java.util.List; @@ -40,10 +40,10 @@ default ExpressionNode[] optionalArgs(List args) { .toArray(ExpressionNode[]::new); } - default Rql2TypeWithProperties[] optionalArgsTypes(List args) { + default SnapiTypeWithProperties[] optionalArgsTypes(List args) { return args.stream() .filter(a -> a.identifier() != null) - .map(a -> (Rql2TypeWithProperties) a.type()) - .toArray(Rql2TypeWithProperties[]::new); + .map(a -> (SnapiTypeWithProperties) a.type()) + .toArray(SnapiTypeWithProperties[]::new); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/aws_extension/TruffleAwsV4SignedRequestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/aws_extension/TruffleAwsV4SignedRequestEntry.java index ff20a77ce..1d1eeab69 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/aws_extension/TruffleAwsV4SignedRequestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/aws_extension/TruffleAwsV4SignedRequestEntry.java @@ -13,11 +13,11 @@ package com.rawlabs.snapi.truffle.emitter.builtin.aws_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.AwsV4SignedRequest; -import com.rawlabs.snapi.frontend.rql2.source.Rql2AttrType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2ListType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2RecordType; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.AwsV4SignedRequest; +import com.rawlabs.snapi.frontend.snapi.source.SnapiAttrType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiListType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiRecordType; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.binary.PlusNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.aws_package.AwsV4SignedRequestNodeGen; @@ -33,7 +33,7 @@ public class TruffleAwsV4SignedRequestEntry extends AwsV4SignedRequest implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode key = args.get(0).exprNode(); ExpressionNode secretKey = args.get(1).exprNode(); ExpressionNode service = args.get(2).exprNode(); @@ -97,8 +97,8 @@ public ExpressionNode toTruffle(Type type, List args, Rql2Language r .findFirst() .orElse( new ListBuildNode( - Rql2ListType.apply( - Rql2RecordType.apply(new Vector(0, 0, 0), new HashSet<>()), + SnapiListType.apply( + SnapiRecordType.apply(new Vector(0, 0, 0), new HashSet<>()), new HashSet<>()), new ExpressionNode[] {})); @@ -109,8 +109,8 @@ public ExpressionNode toTruffle(Type type, List args, Rql2Language r .findFirst() .orElse( new ListBuildNode( - Rql2ListType.apply( - Rql2RecordType.apply(new Vector(0, 0, 0), new HashSet<>()), + SnapiListType.apply( + SnapiRecordType.apply(new Vector(0, 0, 0), new HashSet<>()), new HashSet<>()), new ExpressionNode[] {})); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/binary_extension/TruffleBinaryBase64Entry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/binary_extension/TruffleBinaryBase64Entry.java index 9240d4fc5..5e8317d9b 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/binary_extension/TruffleBinaryBase64Entry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/binary_extension/TruffleBinaryBase64Entry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.binary_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.BinaryBase64Entry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.BinaryBase64Entry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.binary_package.BinaryBase64NodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/binary_extension/TruffleBinaryReadEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/binary_extension/TruffleBinaryReadEntry.java index dc85223af..940143bfd 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/binary_extension/TruffleBinaryReadEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/binary_extension/TruffleBinaryReadEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.binary_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.BinaryReadEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.BinaryReadEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.binary_package.BinaryReadNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/binary_extension/TruffleFromStringBinaryEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/binary_extension/TruffleFromStringBinaryEntry.java index 39d095073..131b95c89 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/binary_extension/TruffleFromStringBinaryEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/binary_extension/TruffleFromStringBinaryEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.binary_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.FromStringBinaryEntryExtension; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.FromStringBinaryEntryExtension; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.binary_package.BinaryFromStringNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/byte_extension/TruffleByteFromEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/byte_extension/TruffleByteFromEntry.java index 1ed8feaba..314fc5d0f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/byte_extension/TruffleByteFromEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/byte_extension/TruffleByteFromEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.byte_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ByteFromEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ByteFromEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.numeric.byte_package.ByteFromNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleByteFromEntry extends ByteFromEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return ByteFromNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleBuildCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleBuildCollectionEntry.java index b07969aee..24951a120 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleBuildCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleBuildCollectionEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.collection_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.BuildCollectionEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.BuildCollectionEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionBuildNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -24,7 +24,7 @@ public class TruffleBuildCollectionEntry extends BuildCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return new CollectionBuildNode( args.stream().map(TruffleArg::exprNode).toArray(ExpressionNode[]::new)); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleCountCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleCountCollectionEntry.java index 33946d4ff..bbba2b08f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleCountCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleCountCollectionEntry.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.CountCollectionEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.CountCollectionEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.AggregateSingleNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.Aggregations; @@ -28,8 +28,8 @@ public class TruffleCountCollectionEntry extends CountCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleDistinctCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleDistinctCollectionEntry.java index 6a9ebb86b..bbcd55cdb 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleDistinctCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleDistinctCollectionEntry.java @@ -15,10 +15,10 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DistinctCollectionEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IterableType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DistinctCollectionEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIterableType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionDistinctNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -29,8 +29,8 @@ public class TruffleDistinctCollectionEntry extends DistinctCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = @@ -42,7 +42,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em return CollectionDistinctNodeGen.create( truffleArgs.get(0).exprNode(), - (Rql2TypeWithProperties) ((Rql2IterableType) type).innerType(), + (SnapiTypeWithProperties) ((SnapiIterableType) type).innerType(), generatorSlot, offHeapDistinctSlot); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleEmptyCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleEmptyCollectionEntry.java index 069ef77bd..ef2632f8c 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleEmptyCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleEmptyCollectionEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.collection_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.EmptyCollectionEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.EmptyCollectionEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionBuildNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -24,7 +24,7 @@ public class TruffleEmptyCollectionEntry extends EmptyCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return new CollectionBuildNode(new ExpressionNode[0]); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleExistsCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleExistsCollectionEntry.java index c9be6ab07..4068d9aa6 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleExistsCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleExistsCollectionEntry.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ExistsCollectionEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ExistsCollectionEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionExistsNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -27,8 +27,8 @@ public class TruffleExistsCollectionEntry extends ExistsCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleFilterCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleFilterCollectionEntry.java index 4284ab729..9ad8e1cae 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleFilterCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleFilterCollectionEntry.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.FilterCollectionEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.FilterCollectionEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionFilterNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -27,8 +27,8 @@ public class TruffleFilterCollectionEntry extends FilterCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int collectionSlot = builder.addSlot( diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleFirstCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleFirstCollectionEntry.java index fbafc1bda..b5f4eef1e 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleFirstCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleFirstCollectionEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.collection_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.FirstCollectionEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.FirstCollectionEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionFirstNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -24,7 +24,7 @@ public class TruffleFirstCollectionEntry extends FirstCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return CollectionFirstNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleFromCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleFromCollectionEntry.java index 9d79cad15..154402c60 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleFromCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleFromCollectionEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.collection_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.FromCollectionEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.FromCollectionEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionFromNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -24,7 +24,7 @@ public class TruffleFromCollectionEntry extends FromCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return CollectionFromNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleGroupCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleGroupCollectionEntry.java index f3b036601..1b1b93121 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleGroupCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleGroupCollectionEntry.java @@ -15,9 +15,9 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.GroupCollectionEntry; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.GroupCollectionEntry; +import com.rawlabs.snapi.frontend.snapi.source.*; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionGroupByNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -31,8 +31,8 @@ public class TruffleGroupCollectionEntry extends GroupCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = @@ -41,30 +41,30 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em builder.addSlot(FrameSlotKind.Object, "function", "a slot to store the function of osr"); int mapSlot = builder.addSlot(FrameSlotKind.Object, "map", "a slot to store the map of osr"); - Rql2IterableType iterable = (Rql2IterableType) type; - Rql2RecordType record = (Rql2RecordType) iterable.innerType(); - Rql2AttrType[] atts = + SnapiIterableType iterable = (SnapiIterableType) type; + SnapiRecordType record = (SnapiRecordType) iterable.innerType(); + SnapiAttrType[] atts = JavaConverters.asJavaCollection(record.atts()).stream() - .map(a -> (Rql2AttrType) a) - .toArray(Rql2AttrType[]::new); + .map(a -> (SnapiAttrType) a) + .toArray(SnapiAttrType[]::new); - Rql2TypeWithProperties keyType = - (Rql2TypeWithProperties) + SnapiTypeWithProperties keyType = + (SnapiTypeWithProperties) Arrays.stream(atts) .filter(a -> a.idn().equals("key")) .findFirst() - .orElse(Rql2AttrType.apply("key", new Rql2UndefinedType(new HashSet<>()))) + .orElse(SnapiAttrType.apply("key", new SnapiUndefinedType(new HashSet<>()))) .tipe(); - Rql2IterableType iterableValueType = - (Rql2IterableType) + SnapiIterableType iterableValueType = + (SnapiIterableType) Arrays.stream(atts) .filter(a -> a.idn().equals("group")) .findFirst() - .orElse(Rql2AttrType.apply("key", new Rql2UndefinedType(new HashSet<>()))) + .orElse(SnapiAttrType.apply("key", new SnapiUndefinedType(new HashSet<>()))) .tipe(); - Rql2TypeWithProperties valueType = (Rql2TypeWithProperties) iterableValueType.innerType(); + SnapiTypeWithProperties valueType = (SnapiTypeWithProperties) iterableValueType.innerType(); return CollectionGroupByNodeGen.create( truffleArgs.get(0).exprNode(), diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleInternalEquiJoinCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleInternalEquiJoinCollectionEntry.java index a59753646..374be9e1b 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleInternalEquiJoinCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleInternalEquiJoinCollectionEntry.java @@ -15,11 +15,11 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.InternalEquiJoinCollectionEntry; -import com.rawlabs.snapi.frontend.rql2.source.FunType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IterableType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.InternalEquiJoinCollectionEntry; +import com.rawlabs.snapi.frontend.snapi.source.FunType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIterableType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionEquiJoinNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -30,8 +30,8 @@ public class TruffleInternalEquiJoinCollectionEntry extends InternalEquiJoinCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int computeNextSlot = builder.addSlot( @@ -53,17 +53,17 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em TruffleArg remap = truffleArgs.get(4); FunType funType = (FunType) leftK.type(); - Rql2IterableType leftValue = (Rql2IterableType) left.type(); - Rql2IterableType rightValue = (Rql2IterableType) right.type(); + SnapiIterableType leftValue = (SnapiIterableType) left.type(); + SnapiIterableType rightValue = (SnapiIterableType) right.type(); return new CollectionEquiJoinNode( left.exprNode(), right.exprNode(), leftK.exprNode(), rightK.exprNode(), - (Rql2TypeWithProperties) funType.r(), - (Rql2TypeWithProperties) leftValue.innerType(), - (Rql2TypeWithProperties) rightValue.innerType(), + (SnapiTypeWithProperties) funType.r(), + (SnapiTypeWithProperties) leftValue.innerType(), + (SnapiTypeWithProperties) rightValue.innerType(), remap.exprNode(), computeNextSlot, shouldContinueSlot, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleInternalJoinCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleInternalJoinCollectionEntry.java index abf58baa8..72e15908b 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleInternalJoinCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleInternalJoinCollectionEntry.java @@ -15,11 +15,11 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.InternalJoinCollectionEntry; -import com.rawlabs.snapi.frontend.rql2.source.FunType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IterableType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.InternalJoinCollectionEntry; +import com.rawlabs.snapi.frontend.snapi.source.FunType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIterableType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionJoinNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -30,8 +30,8 @@ public class TruffleInternalJoinCollectionEntry extends InternalJoinCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int computeNextSlot = @@ -52,8 +52,8 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em TruffleArg right = truffleArgs.get(1); TruffleArg reshape = truffleArgs.get(2); TruffleArg predicate = truffleArgs.get(3); - Rql2IterableType rql2IterableType = (Rql2IterableType) right.type(); - Rql2TypeWithProperties rightType = (Rql2TypeWithProperties) rql2IterableType.innerType(); + SnapiIterableType snapiIterableType = (SnapiIterableType) right.type(); + SnapiTypeWithProperties rightType = (SnapiTypeWithProperties) snapiIterableType.innerType(); boolean reshapeBeforePredicate = ((FunType) predicate.type()).ms().size() == 1; return CollectionJoinNodeGen.create( left.exprNode(), diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleLastCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleLastCollectionEntry.java index 005050023..fad87fd29 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleLastCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleLastCollectionEntry.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.LastCollectionEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.LastCollectionEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.AggregateSingleNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.Aggregations; @@ -28,8 +28,8 @@ public class TruffleLastCollectionEntry extends LastCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleMaxCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleMaxCollectionEntry.java index e0892b7aa..51cef79be 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleMaxCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleMaxCollectionEntry.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MaxCollectionEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MaxCollectionEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.AggregateSingleNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.Aggregations; @@ -27,8 +27,8 @@ public class TruffleMaxCollectionEntry extends MaxCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleMinCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleMinCollectionEntry.java index 267d5c214..8ba419615 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleMinCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleMinCollectionEntry.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MinCollectionEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MinCollectionEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.AggregateSingleNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.Aggregations; @@ -27,8 +27,8 @@ public class TruffleMinCollectionEntry extends MinCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleMkStringCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleMkStringCollectionEntry.java index bc0ff4f36..4feccd9fd 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleMkStringCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleMkStringCollectionEntry.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MkStringCollectionEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MkStringCollectionEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionMkStringNode; import com.rawlabs.snapi.truffle.ast.expressions.literals.StringNode; @@ -28,8 +28,8 @@ public class TruffleMkStringCollectionEntry extends MkStringCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleOrderByCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleOrderByCollectionEntry.java index 9f60ddce5..29c412148 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleOrderByCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleOrderByCollectionEntry.java @@ -15,11 +15,11 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.OrderByCollectionEntry; -import com.rawlabs.snapi.frontend.rql2.source.FunType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IterableType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.OrderByCollectionEntry; +import com.rawlabs.snapi.frontend.snapi.source.FunType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIterableType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionOrderByNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -31,8 +31,8 @@ public class TruffleOrderByCollectionEntry extends OrderByCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = @@ -58,13 +58,13 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em .toArray(ExpressionNode[]::new); index.set(0); - Rql2TypeWithProperties[] keyTypes = + SnapiTypeWithProperties[] keyTypes = truffleArgs.stream() .skip(1) .map(a -> index.getAndIncrement()) .filter(a -> a % 2 == 0) - .map(a -> (Rql2TypeWithProperties) ((FunType) truffleArgs.get(a + 1).type()).r()) - .toArray(Rql2TypeWithProperties[]::new); + .map(a -> (SnapiTypeWithProperties) ((FunType) truffleArgs.get(a + 1).type()).r()) + .toArray(SnapiTypeWithProperties[]::new); index.set(0); ExpressionNode[] orderings = @@ -74,8 +74,8 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em .filter(a -> a % 2 == 1) .map(a -> truffleArgs.get(a + 1).exprNode()) .toArray(ExpressionNode[]::new); - Rql2TypeWithProperties valueType = - (Rql2TypeWithProperties) ((Rql2IterableType) truffleArgs.get(0).type()).innerType(); + SnapiTypeWithProperties valueType = + (SnapiTypeWithProperties) ((SnapiIterableType) truffleArgs.get(0).type()).innerType(); return new CollectionOrderByNode( truffleArgs.get(0).exprNode(), diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleSumCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleSumCollectionEntry.java index 34986ec60..c3904975f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleSumCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleSumCollectionEntry.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.SumCollectionEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.SumCollectionEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.AggregateSingleNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.Aggregations; @@ -27,8 +27,8 @@ public class TruffleSumCollectionEntry extends SumCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleTakeCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleTakeCollectionEntry.java index 77874e87a..55e8918ad 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleTakeCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleTakeCollectionEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.collection_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TakeCollectionEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TakeCollectionEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionTakeNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -24,7 +24,7 @@ public class TruffleTakeCollectionEntry extends TakeCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return CollectionTakeNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleTransformCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleTransformCollectionEntry.java index 3c6749b5c..6a960b58c 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleTransformCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleTransformCollectionEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.collection_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TransformCollectionEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TransformCollectionEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionTransformNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -25,7 +25,7 @@ public class TruffleTransformCollectionEntry extends TransformCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return CollectionTransformNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleTupleAvgCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleTupleAvgCollectionEntry.java index 4d60f7d33..5d22b7296 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleTupleAvgCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleTupleAvgCollectionEntry.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TupleAvgCollectionEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TupleAvgCollectionEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionTupleAvgNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -27,8 +27,8 @@ public class TruffleTupleAvgCollectionEntry extends TupleAvgCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleUnionCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleUnionCollectionEntry.java index 4d65e415b..ce83261ec 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleUnionCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleUnionCollectionEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.collection_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.UnionCollectionEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.UnionCollectionEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionUnionNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -24,7 +24,7 @@ public class TruffleUnionCollectionEntry extends UnionCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return new CollectionUnionNode( args.stream().map(TruffleArg::exprNode).toArray(ExpressionNode[]::new)); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleUnnestCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleUnnestCollectionEntry.java index 4c91a89b6..382b9329a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleUnnestCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleUnnestCollectionEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.collection_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.UnnestCollectionEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.UnnestCollectionEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionUnnestNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -24,7 +24,7 @@ public class TruffleUnnestCollectionEntry extends UnnestCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return CollectionUnnestNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleZipCollectionEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleZipCollectionEntry.java index d2e0518e1..c9fa2b896 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleZipCollectionEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/collection_extension/TruffleZipCollectionEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.collection_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ZipCollectionEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ZipCollectionEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionZipNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleZipCollectionEntry extends ZipCollectionEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return CollectionZipNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/csv_extension/CsvParser.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/csv_extension/CsvParser.java index 4d9ba62bc..b265d4c46 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/csv_extension/CsvParser.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/csv_extension/CsvParser.java @@ -14,10 +14,10 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.source.*; import com.rawlabs.snapi.truffle.emitter.TruffleArg; import com.rawlabs.snapi.truffle.ast.ExpressionNode; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ProgramExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.list.ListBuildNode; import com.rawlabs.snapi.truffle.ast.expressions.literals.IntNode; @@ -66,8 +66,8 @@ public CsvParser(List args) { arg("nulls") .orElse( new ListBuildNode( - Rql2ListType.apply( - Rql2StringType.apply(new HashSet<>()), + SnapiListType.apply( + SnapiStringType.apply(new HashSet<>()), new HashSet<>()), new ExpressionNode[] {new StringNode("")})); @@ -75,7 +75,7 @@ public CsvParser(List args) { arg("nans") .orElse( new ListBuildNode( - Rql2ListType.apply(Rql2StringType.apply( + SnapiListType.apply(SnapiStringType.apply( new HashSet<>()), new HashSet<>()), new ExpressionNode[] {})); @@ -87,25 +87,25 @@ public CsvParser(List args) { } private RecordParseCsvNode getRecordParser( - Rql2TypeWithProperties t, Rql2Language lang) { - Rql2IterableType rql2IterableType = (Rql2IterableType) t; - Rql2RecordType rql2RecordType = (Rql2RecordType) rql2IterableType.innerType(); - assert rql2RecordType.props().isEmpty(); - assert rql2IterableType.props().isEmpty(); + SnapiTypeWithProperties t, SnapiLanguage lang) { + SnapiIterableType snapiIterableType = (SnapiIterableType) t; + SnapiRecordType snapiRecordType = (SnapiRecordType) snapiIterableType.innerType(); + assert snapiRecordType.props().isEmpty(); + assert snapiIterableType.props().isEmpty(); ProgramExpressionNode[] columnParsers = - JavaConverters.seqAsJavaList(rql2RecordType.atts()).stream().map(a -> (Rql2AttrType) a) + JavaConverters.seqAsJavaList(snapiRecordType.atts()).stream().map(a -> (SnapiAttrType) a) .map(col -> columnParser(col.tipe(), lang)) .map(parser -> new ProgramExpressionNode(lang, new FrameDescriptor(), parser)) .toArray(ProgramExpressionNode[]::new); return new RecordParseCsvNode( columnParsers, - JavaConverters.seqAsJavaList(rql2RecordType.atts()).stream().map(a -> (Rql2AttrType) a).toArray(Rql2AttrType[]::new)); + JavaConverters.seqAsJavaList(snapiRecordType.atts()).stream().map(a -> (SnapiAttrType) a).toArray(SnapiAttrType[]::new)); } public ExpressionNode stringParser( - ExpressionNode str, Rql2TypeWithProperties t, Rql2Language lang) { + ExpressionNode str, SnapiTypeWithProperties t, SnapiLanguage lang) { return new IterableParseCsvString( str, skip, @@ -120,7 +120,7 @@ public ExpressionNode stringParser( timestampFormat); } - public ExpressionNode fileParser(ExpressionNode url, Rql2TypeWithProperties t, Rql2Language lang) { + public ExpressionNode fileParser(ExpressionNode url, SnapiTypeWithProperties t, SnapiLanguage lang) { return new IterableParseCsvFile( url, encoding, @@ -136,43 +136,43 @@ public ExpressionNode fileParser(ExpressionNode url, Rql2TypeWithProperties t, R timestampFormat); } - private ExpressionNode columnParser(Type t, Rql2Language lang) { + private ExpressionNode columnParser(Type t, SnapiLanguage lang) { return switch (t) { - case Rql2TypeWithProperties r when r.props().contains(tryable) -> { + case SnapiTypeWithProperties r when r.props().contains(tryable) -> { ExpressionNode inner = columnParser(r.cloneAndRemoveProp(tryable), lang); yield new TryableParseCsvNode(program(inner, lang)); } - case Rql2TypeWithProperties r when r.props().contains(nullable) -> switch (r) { - case Rql2ByteType ignored -> new OptionByteParseCsvNode(); - case Rql2ShortType ignored -> new OptionShortParseCsvNode(); - case Rql2IntType ignored -> new OptionIntParseCsvNode(); - case Rql2LongType ignored -> new OptionLongParseCsvNode(); - case Rql2FloatType ignored -> new OptionFloatParseCsvNode(); - case Rql2DoubleType ignored -> new OptionDoubleParseCsvNode(); - case Rql2DecimalType ignored -> new OptionDecimalParseCsvNode(); - case Rql2StringType ignored -> new OptionStringParseCsvNode(); - case Rql2BoolType ignored -> new OptionBoolParseCsvNode(); - case Rql2DateType ignored -> new OptionDateParseCsvNode(); - case Rql2TimeType ignored -> new OptionTimeParseCsvNode(); - case Rql2TimestampType ignored -> new OptionTimestampParseCsvNode(); - case Rql2UndefinedType ignored -> new OptionUndefinedParseCsvNode(); + case SnapiTypeWithProperties r when r.props().contains(nullable) -> switch (r) { + case SnapiByteType ignored -> new OptionByteParseCsvNode(); + case SnapiShortType ignored -> new OptionShortParseCsvNode(); + case SnapiIntType ignored -> new OptionIntParseCsvNode(); + case SnapiLongType ignored -> new OptionLongParseCsvNode(); + case SnapiFloatType ignored -> new OptionFloatParseCsvNode(); + case SnapiDoubleType ignored -> new OptionDoubleParseCsvNode(); + case SnapiDecimalType ignored -> new OptionDecimalParseCsvNode(); + case SnapiStringType ignored -> new OptionStringParseCsvNode(); + case SnapiBoolType ignored -> new OptionBoolParseCsvNode(); + case SnapiDateType ignored -> new OptionDateParseCsvNode(); + case SnapiTimeType ignored -> new OptionTimeParseCsvNode(); + case SnapiTimestampType ignored -> new OptionTimestampParseCsvNode(); + case SnapiUndefinedType ignored -> new OptionUndefinedParseCsvNode(); default -> throw new TruffleInternalErrorException(); }; - case Rql2TypeWithProperties r -> { + case SnapiTypeWithProperties r -> { assert r.props().isEmpty(); // These would be types returned by the inferrer. Not all types are expected // from the inferrer. yield switch (r){ - case Rql2IntType ignored -> new IntParseCsvNode(); - case Rql2LongType ignored -> new LongParseCsvNode(); - case Rql2DoubleType ignored -> new DoubleParseCsvNode(); - case Rql2DecimalType ignored -> new DecimalParseCsvNode(); - case Rql2BoolType ignored -> new BoolParseCsvNode(); - case Rql2StringType ignored -> new StringParseCsvNode(); - case Rql2DateType ignored -> new DateParseCsvNode(); - case Rql2TimeType ignored -> new TimeParseCsvNode(); - case Rql2TimestampType ignored -> new TimestampParseCsvNode(); - case Rql2UndefinedType ignored -> new UndefinedParseCsvNode(); + case SnapiIntType ignored -> new IntParseCsvNode(); + case SnapiLongType ignored -> new LongParseCsvNode(); + case SnapiDoubleType ignored -> new DoubleParseCsvNode(); + case SnapiDecimalType ignored -> new DecimalParseCsvNode(); + case SnapiBoolType ignored -> new BoolParseCsvNode(); + case SnapiStringType ignored -> new StringParseCsvNode(); + case SnapiDateType ignored -> new DateParseCsvNode(); + case SnapiTimeType ignored -> new TimeParseCsvNode(); + case SnapiTimestampType ignored -> new TimestampParseCsvNode(); + case SnapiUndefinedType ignored -> new UndefinedParseCsvNode(); default -> throw new TruffleInternalErrorException(); }; } @@ -180,7 +180,7 @@ yield switch (r){ }; } - private ProgramExpressionNode program(ExpressionNode e, Rql2Language lang){ + private ProgramExpressionNode program(ExpressionNode e, SnapiLanguage lang){ FrameDescriptor frameDescriptor = new FrameDescriptor(); return new ProgramExpressionNode(lang, frameDescriptor, e); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/csv_extension/TruffleCsvParseEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/csv_extension/TruffleCsvParseEntry.java index 67f718477..3e4ab400d 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/csv_extension/TruffleCsvParseEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/csv_extension/TruffleCsvParseEntry.java @@ -13,9 +13,9 @@ package com.rawlabs.snapi.truffle.emitter.builtin.csv_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.CsvParseEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.CsvParseEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; import com.rawlabs.snapi.truffle.emitter.TruffleEntryExtension; @@ -23,10 +23,10 @@ public class TruffleCsvParseEntry extends CsvParseEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { CsvParser makeParser = new CsvParser(args); ExpressionNode url = args.stream().filter(a -> a.identifier() == null).findFirst().orElseThrow().exprNode(); - return makeParser.stringParser(url, (Rql2TypeWithProperties) type, rawLanguage); + return makeParser.stringParser(url, (SnapiTypeWithProperties) type, rawLanguage); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/csv_extension/TruffleCsvReadEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/csv_extension/TruffleCsvReadEntry.java index 6ba2d2a9f..f37f24143 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/csv_extension/TruffleCsvReadEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/csv_extension/TruffleCsvReadEntry.java @@ -13,9 +13,9 @@ package com.rawlabs.snapi.truffle.emitter.builtin.csv_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.CsvReadEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.CsvReadEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; import com.rawlabs.snapi.truffle.emitter.TruffleEntryExtension; @@ -23,10 +23,10 @@ public class TruffleCsvReadEntry extends CsvReadEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { CsvParser makeParser = new CsvParser(args); ExpressionNode url = args.stream().filter(a -> a.identifier() == null).findFirst().orElseThrow().exprNode(); - return makeParser.fileParser(url, (Rql2TypeWithProperties) type, rawLanguage); + return makeParser.fileParser(url, (SnapiTypeWithProperties) type, rawLanguage); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateAddIntervalEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateAddIntervalEntry.java index 5534a36e6..9d848ae46 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateAddIntervalEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateAddIntervalEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.date_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DateAddIntervalEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DateAddIntervalEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.date_package.DateAddIntervalNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateBuildEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateBuildEntry.java index 1b6677e27..2aea0c0cc 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateBuildEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateBuildEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.date_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DateBuildEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DateBuildEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.date_package.DateBuildNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateDayEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateDayEntry.java index 5a13c532a..5264fc172 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateDayEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateDayEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.date_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DateDayEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DateDayEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.date_package.DateDayNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateFromEpochDayEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateFromEpochDayEntry.java index 0b5031d44..418f52ad3 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateFromEpochDayEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateFromEpochDayEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.date_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DateFromEpochDayEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DateFromEpochDayEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.date_package.DateFromEpochDayNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateFromTimestampEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateFromTimestampEntry.java index fc8db21bd..85b3b68a2 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateFromTimestampEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateFromTimestampEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.date_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DateFromTimestampEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DateFromTimestampEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.date_package.DateFromTimestampNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateMonthEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateMonthEntry.java index ec545edcd..05f49190e 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateMonthEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateMonthEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.date_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DateMonthEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DateMonthEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.date_package.DateMonthNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateNowEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateNowEntry.java index 723eb53c8..ba297e75b 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateNowEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateNowEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.date_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DateNowEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DateNowEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.date_package.DateNowNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateParseEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateParseEntry.java index f07e67a66..9edd2fca0 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateParseEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateParseEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.date_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DateParseEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DateParseEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.date_package.DateParseNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateSubtractEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateSubtractEntry.java index ba6512c4a..d08886eee 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateSubtractEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateSubtractEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.date_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DateSubtractEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DateSubtractEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.date_package.DateSubtractNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateSubtractIntervalEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateSubtractIntervalEntry.java index 611c7e0ae..597b75ea6 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateSubtractIntervalEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateSubtractIntervalEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.date_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DateSubtractIntervalEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DateSubtractIntervalEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.date_package.DateSubtractIntervalNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateYearEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateYearEntry.java index c46f90766..d12a1dc3d 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateYearEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/date_extension/TruffleDateYearEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.date_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DateYearEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DateYearEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.date_package.DateYearNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/decimal_extension/TruffleDecimalFromEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/decimal_extension/TruffleDecimalFromEntry.java index bee6b7911..81cf67a66 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/decimal_extension/TruffleDecimalFromEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/decimal_extension/TruffleDecimalFromEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.decimal_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DecimalFromEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DecimalFromEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.numeric.decimal_package.DecimalFromNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleDecimalFromEntry extends DecimalFromEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return DecimalFromNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/decimal_extension/TruffleDecimalRoundEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/decimal_extension/TruffleDecimalRoundEntry.java index 605aa9113..84b56914f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/decimal_extension/TruffleDecimalRoundEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/decimal_extension/TruffleDecimalRoundEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.decimal_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DecimalRoundEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DecimalRoundEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.numeric.decimal_package.DecimalRoundNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/double_extension/TruffleDoubleFromEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/double_extension/TruffleDoubleFromEntry.java index 28deabb9a..11fec4184 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/double_extension/TruffleDoubleFromEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/double_extension/TruffleDoubleFromEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.double_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DoubleFromEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DoubleFromEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.numeric.double_package.DoubleFromNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleDoubleFromEntry extends DoubleFromEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return DoubleFromNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/environment_extension/TruffleEnvironmentParameterEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/environment_extension/TruffleEnvironmentParameterEntry.java index f39f4069e..e62d66e66 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/environment_extension/TruffleEnvironmentParameterEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/environment_extension/TruffleEnvironmentParameterEntry.java @@ -13,9 +13,9 @@ package com.rawlabs.snapi.truffle.emitter.builtin.environment_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.EnvironmentParameterEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.EnvironmentParameterEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.environment_package.EnvironmentParameterNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -26,9 +26,9 @@ public class TruffleEnvironmentParameterEntry extends EnvironmentParameterEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode paramIndex = args.get(1).exprNode(); return EnvironmentParameterNodeGen.create( - paramIndex, (Rql2Type) resetProps(type, new HashSet<>())); + paramIndex, (SnapiType) resetProps(type, new HashSet<>())); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/environment_extension/TruffleEnvironmentScopesEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/environment_extension/TruffleEnvironmentScopesEntry.java index 7883e2389..a58fa1931 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/environment_extension/TruffleEnvironmentScopesEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/environment_extension/TruffleEnvironmentScopesEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.environment_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.EnvironmentScopesEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.EnvironmentScopesEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.environment_package.EnvironmentScopesNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/environment_extension/TruffleEnvironmentSecretEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/environment_extension/TruffleEnvironmentSecretEntry.java index 9fc238705..e364912c8 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/environment_extension/TruffleEnvironmentSecretEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/environment_extension/TruffleEnvironmentSecretEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.environment_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.EnvironmentSecretEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.EnvironmentSecretEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.environment_package.EnvironmentSecretNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/error_extension/TruffleErrorBuildEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/error_extension/TruffleErrorBuildEntry.java index c5530b6be..7b594ceb8 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/error_extension/TruffleErrorBuildEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/error_extension/TruffleErrorBuildEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.error_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ErrorBuildEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ErrorBuildEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.tryable.TryableFailureNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleErrorBuildEntry extends ErrorBuildEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return TryableFailureNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/error_extension/TruffleErrorBuildWithTypeEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/error_extension/TruffleErrorBuildWithTypeEntry.java index 62e51f665..1f6d53969 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/error_extension/TruffleErrorBuildWithTypeEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/error_extension/TruffleErrorBuildWithTypeEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.error_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ErrorBuildWithTypeEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ErrorBuildWithTypeEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.tryable.TryableFailureWithTypeNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -24,7 +24,7 @@ public class TruffleErrorBuildWithTypeEntry extends ErrorBuildWithTypeEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return TryableFailureWithTypeNodeGen.create(args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/error_extension/TruffleErrorGetEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/error_extension/TruffleErrorGetEntry.java index 6328d085c..4dcc38e16 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/error_extension/TruffleErrorGetEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/error_extension/TruffleErrorGetEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.error_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ErrorGetEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ErrorGetEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.tryable.TryableGetFailureNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleErrorGetEntry extends ErrorGetEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return TryableGetFailureNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/float_extension/TruffleFloatFromEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/float_extension/TruffleFloatFromEntry.java index 13169c980..bd6edd79a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/float_extension/TruffleFloatFromEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/float_extension/TruffleFloatFromEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.float_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.FloatFromEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.FloatFromEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.numeric.float_package.FloatFromNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleFloatFromEntry extends FloatFromEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return FloatFromNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/function_extension/TruffleFunctionInvokeAfterEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/function_extension/TruffleFunctionInvokeAfterEntry.java index 24f64d555..4822ddb91 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/function_extension/TruffleFunctionInvokeAfterEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/function_extension/TruffleFunctionInvokeAfterEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.function_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.FunctionInvokeAfterEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.FunctionInvokeAfterEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.function_package.FunctionInvokeAfterNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -24,7 +24,7 @@ public class TruffleFunctionInvokeAfterEntry extends FunctionInvokeAfterEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return FunctionInvokeAfterNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpCallEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpCallEntry.java index f17c1a218..bde809110 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpCallEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpCallEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.http_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.HttpCallEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.HttpCallEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationFromHttpNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -33,7 +33,7 @@ public TruffleHttpCallEntry(String method) { } @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode url = args.get(0).exprNode(); ExpressionNode bodyString = arg(args, "bodyString").orElse(null); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpReadEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpReadEntry.java index 46bfd4ce2..ee4163d0c 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpReadEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpReadEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.http_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.HttpReadEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.HttpReadEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.http_package.HttpReadNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpUrlDecode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpUrlDecode.java index 177b4eb9d..774df79ca 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpUrlDecode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpUrlDecode.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.http_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.HttpUrlDecodeEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.HttpUrlDecodeEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.http_package.HttpUrlDecodeNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpUrlEncode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpUrlEncode.java index 438dd661e..b0d157b22 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpUrlEncode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/http_extension/TruffleHttpUrlEncode.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.http_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.HttpUrlEncodeEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.HttpUrlEncodeEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.http_package.HttpUrlEncodeNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/int_extension/TruffleIntFromEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/int_extension/TruffleIntFromEntry.java index 9ee9c2dd2..29fb0c7b6 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/int_extension/TruffleIntFromEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/int_extension/TruffleIntFromEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.int_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntFromEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntFromEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.numeric.int_package.IntFromNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleIntFromEntry extends IntFromEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return IntFromNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/int_extension/TruffleIntRangeEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/int_extension/TruffleIntRangeEntry.java index e75cc7ec1..f209a7e98 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/int_extension/TruffleIntRangeEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/int_extension/TruffleIntRangeEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.int_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntRangeEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntRangeEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.numeric.int_package.IntRangeNodeGen; import com.rawlabs.snapi.truffle.ast.expressions.literals.IntNode; @@ -24,7 +24,7 @@ public class TruffleIntRangeEntry extends IntRangeEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode start = args.get(0).exprNode(); ExpressionNode end = args.get(1).exprNode(); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleBuildIntervalEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleBuildIntervalEntry.java index 9f353ef4d..b2eafa756 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleBuildIntervalEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleBuildIntervalEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.interval_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.BuildIntervalEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.BuildIntervalEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.interval_package.IntervalBuildNodeGen; import com.rawlabs.snapi.truffle.ast.expressions.literals.IntNode; @@ -24,7 +24,7 @@ public class TruffleBuildIntervalEntry extends BuildIntervalEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode y = args.stream() .filter(a -> a.identifier() != null && a.identifier().equals("years")) diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalDaysEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalDaysEntry.java index ec55e7260..c41f7a8b6 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalDaysEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalDaysEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.interval_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntervalDaysEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntervalDaysEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.interval_package.IntervalDaysNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalFromMillisEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalFromMillisEntry.java index 373464004..adfb96adc 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalFromMillisEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalFromMillisEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.interval_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntervalFromMillisEntryExtension; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntervalFromMillisEntryExtension; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.interval_package.IntervalFromMillisNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalHoursEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalHoursEntry.java index 9091f18f3..02eac5bd0 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalHoursEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalHoursEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.interval_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntervalHoursEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntervalHoursEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.interval_package.IntervalHoursNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalMillisEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalMillisEntry.java index 0873a057d..ef8f8c427 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalMillisEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalMillisEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.interval_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntervalMillisEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntervalMillisEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.interval_package.IntervalMillisNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalMinutesEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalMinutesEntry.java index 5656973a2..e1efe3feb 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalMinutesEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalMinutesEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.interval_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntervalMinutesEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntervalMinutesEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.interval_package.IntervalMinutesNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalMonthsEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalMonthsEntry.java index a4130419d..3d9e3b299 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalMonthsEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalMonthsEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.interval_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntervalMonthsEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntervalMonthsEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.interval_package.IntervalMonthsNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalParseEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalParseEntry.java index c0bcda9af..a0b95bebd 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalParseEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalParseEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.interval_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntervalParseEntryExtension; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntervalParseEntryExtension; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.interval_package.IntervalParseNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalSecondsEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalSecondsEntry.java index d28cb05c2..56662f80f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalSecondsEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalSecondsEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.interval_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntervalSecondsEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntervalSecondsEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.interval_package.IntervalSecondsNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalToMillisEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalToMillisEntry.java index 4a96b1bbf..52b492372 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalToMillisEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalToMillisEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.interval_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntervalToMillisEntryExtension; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntervalToMillisEntryExtension; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.interval_package.IntervalToMillisNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalWeeksEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalWeeksEntry.java index 8b5e9da37..693052641 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalWeeksEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalWeeksEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.interval_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntervalWeeksEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntervalWeeksEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.interval_package.IntervalWeeksNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalYearsEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalYearsEntry.java index 926bcae5a..cc4bac4b8 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalYearsEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/interval_extension/TruffleIntervalYearsEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.interval_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntervalYearsEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntervalYearsEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.interval_package.IntervalYearsNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/jdbc/Jdbc.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/jdbc/Jdbc.java index 62da8a516..14213c306 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/jdbc/Jdbc.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/jdbc/Jdbc.java @@ -16,9 +16,9 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.source.*; import com.rawlabs.snapi.truffle.ast.ExpressionNode; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ProgramExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.jdbc.JdbcQueryNode; import com.rawlabs.snapi.truffle.ast.io.jdbc.*; @@ -32,22 +32,22 @@ static public JdbcQueryNode query( ExpressionNode query, Type t, JdbcExceptionHandler exceptionHandler, - Rql2Language lang) { - Rql2IterableType iterableType = (Rql2IterableType) t; - Rql2RecordType recordType = (Rql2RecordType) iterableType.innerType(); + SnapiLanguage lang) { + SnapiIterableType iterableType = (SnapiIterableType) t; + SnapiRecordType recordType = (SnapiRecordType) iterableType.innerType(); assert iterableType.props().isEmpty(); assert recordType.props().isEmpty(); FrameDescriptor frameDescriptor = new FrameDescriptor(); ProgramExpressionNode[] columnParsers = - JavaConverters.asJavaCollection(recordType.atts()).stream().map(a -> (Rql2AttrType) a) + JavaConverters.asJavaCollection(recordType.atts()).stream().map(a -> (SnapiAttrType) a) .map(att -> columnReader(att.idn(), att.tipe(), lang)) .toArray(ProgramExpressionNode[]::new); RecordReadJdbcQuery recordParser = new RecordReadJdbcQuery( columnParsers, - JavaConverters.asJavaCollection(recordType.atts()).stream().map(a -> (Rql2AttrType) a).toArray(Rql2AttrType[]::new)); + JavaConverters.asJavaCollection(recordType.atts()).stream().map(a -> (SnapiAttrType) a).toArray(SnapiAttrType[]::new)); return new JdbcQueryNode( location, query, @@ -55,30 +55,30 @@ static public JdbcQueryNode query( exceptionHandler); } - static private ProgramExpressionNode columnReader(String colName, Type t, Rql2Language lang) { + static private ProgramExpressionNode columnReader(String colName, Type t, SnapiLanguage lang) { FrameDescriptor frameDescriptor = new FrameDescriptor(); ExpressionNode node = switch (t){ - case Rql2TypeWithProperties r when r.props().contains(tryable) -> { + case SnapiTypeWithProperties r when r.props().contains(tryable) -> { ProgramExpressionNode inner = columnReader(colName,r.cloneAndRemoveProp(tryable),lang); yield new TryableReadJdbcQuery(inner, colName); } - case Rql2TypeWithProperties r when r.props().contains(nullable) -> { + case SnapiTypeWithProperties r when r.props().contains(nullable) -> { ProgramExpressionNode inner = columnReader(colName,r.cloneAndRemoveProp(nullable),lang); yield new NullableReadJdbcQuery(inner, colName); } - case Rql2ByteType ignored -> new ByteReadJdbcQuery(colName); - case Rql2ShortType ignored -> new ShortReadJdbcQuery(colName); - case Rql2IntType ignored -> new IntReadJdbcQuery(colName); - case Rql2LongType ignored -> new LongReadJdbcQuery(colName); - case Rql2FloatType ignored -> new FloatReadJdbcQuery(colName); - case Rql2DoubleType ignored -> new DoubleReadJdbcQuery(colName); - case Rql2DecimalType ignored -> new DecimalReadJdbcQuery(colName); - case Rql2StringType ignored -> new StringReadJdbcQuery(colName); - case Rql2DateType ignored -> new DateReadJdbcQuery(colName); - case Rql2TimeType ignored -> new TimeReadJdbcQuery(colName); - case Rql2TimestampType ignored -> new TimestampReadJdbcQuery(colName); - case Rql2BoolType ignored -> new BoolReadJdbcQuery(colName); - case Rql2BinaryType ignored -> new BinaryReadJdbcQuery(colName); + case SnapiByteType ignored -> new ByteReadJdbcQuery(colName); + case SnapiShortType ignored -> new ShortReadJdbcQuery(colName); + case SnapiIntType ignored -> new IntReadJdbcQuery(colName); + case SnapiLongType ignored -> new LongReadJdbcQuery(colName); + case SnapiFloatType ignored -> new FloatReadJdbcQuery(colName); + case SnapiDoubleType ignored -> new DoubleReadJdbcQuery(colName); + case SnapiDecimalType ignored -> new DecimalReadJdbcQuery(colName); + case SnapiStringType ignored -> new StringReadJdbcQuery(colName); + case SnapiDateType ignored -> new DateReadJdbcQuery(colName); + case SnapiTimeType ignored -> new TimeReadJdbcQuery(colName); + case SnapiTimestampType ignored -> new TimestampReadJdbcQuery(colName); + case SnapiBoolType ignored -> new BoolReadJdbcQuery(colName); + case SnapiBinaryType ignored -> new BinaryReadJdbcQuery(colName); default -> throw new TruffleInternalErrorException(); }; return new ProgramExpressionNode(lang, frameDescriptor, node); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/JsonParser.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/JsonParser.java index 9761563af..e8aa939d6 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/JsonParser.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/JsonParser.java @@ -14,9 +14,9 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.source.*; import com.rawlabs.snapi.truffle.ast.ExpressionNode; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ProgramExpressionNode; import com.rawlabs.snapi.truffle.ast.io.json.reader.parser.*; import com.rawlabs.snapi.truffle.ast.io.json.reader.parser.BinaryParseJsonNodeGen; @@ -53,11 +53,11 @@ public JsonParser(ExpressionNode dateFormat, ExpressionNode timeFormat, Expressi this.timestampFormat = timestampFormat; } - public ProgramExpressionNode recurse(Rql2TypeWithProperties tipe, Rql2Language lang) { + public ProgramExpressionNode recurse(SnapiTypeWithProperties tipe, SnapiLanguage lang) { return recurse(tipe, true, lang); } - private ProgramExpressionNode recurse(Rql2TypeWithProperties tipe, boolean appendNullCheck, Rql2Language lang) { + private ProgramExpressionNode recurse(SnapiTypeWithProperties tipe, boolean appendNullCheck, SnapiLanguage lang) { FrameDescriptor.Builder builder = FrameDescriptor.newBuilder(); int parserSlot = builder.addSlot( @@ -73,22 +73,22 @@ private ProgramExpressionNode recurse(Rql2TypeWithProperties tipe, boolean appen int resultSlot = builder.addSlot(FrameSlotKind.Object, "list", "a slot to store the result internal array for osr"); ExpressionNode e = switch (tipe){ - case Rql2TypeWithProperties nt when nt.props().contains(tryable) -> { - Rql2TypeWithProperties nextType = (Rql2TypeWithProperties) nt.cloneAndRemoveProp(tryable); - ProgramExpressionNode child = recurse(nextType, !(nt instanceof Rql2UndefinedType), lang); + case SnapiTypeWithProperties nt when nt.props().contains(tryable) -> { + SnapiTypeWithProperties nextType = (SnapiTypeWithProperties) nt.cloneAndRemoveProp(tryable); + ProgramExpressionNode child = recurse(nextType, !(nt instanceof SnapiUndefinedType), lang); yield new TryableParseJsonNode(child); } - case Rql2TypeWithProperties nt when nt.props().contains(nullable) -> { - Rql2TypeWithProperties nextType = (Rql2TypeWithProperties) nt.cloneAndRemoveProp(nullable); - ProgramExpressionNode child = recurse(nextType, !(nt instanceof Rql2UndefinedType), lang); + case SnapiTypeWithProperties nt when nt.props().contains(nullable) -> { + SnapiTypeWithProperties nextType = (SnapiTypeWithProperties) nt.cloneAndRemoveProp(nullable); + ProgramExpressionNode child = recurse(nextType, !(nt instanceof SnapiUndefinedType), lang); yield new NullableParseJsonNode(child); } - case Rql2TypeWithProperties v when v.props().isEmpty() -> { + case SnapiTypeWithProperties v when v.props().isEmpty() -> { ExpressionNode result = switch (v){ - case Rql2ListType r -> { - ProgramExpressionNode child = recurse((Rql2TypeWithProperties)r.innerType(), lang); + case SnapiListType r -> { + ProgramExpressionNode child = recurse((SnapiTypeWithProperties)r.innerType(), lang); yield new ListParseJsonNode( - (Rql2TypeWithProperties)r.innerType(), + (SnapiTypeWithProperties)r.innerType(), child.getCallTarget(), parserSlot, llistSlot, @@ -96,54 +96,54 @@ yield new ListParseJsonNode( listSizeSlot, resultSlot); } - case Rql2IterableType r ->{ - ProgramExpressionNode child = recurse((Rql2TypeWithProperties)r.innerType(), lang); + case SnapiIterableType r ->{ + ProgramExpressionNode child = recurse((SnapiTypeWithProperties)r.innerType(), lang); yield new IterableParseJsonNode( program(new ListParseJsonNode( - (Rql2TypeWithProperties)r.innerType(), + (SnapiTypeWithProperties)r.innerType(), child.getCallTarget(), parserSlot, llistSlot, currentIdxSlot, listSizeSlot, resultSlot), builder.build(), lang)); } - case Rql2RecordType r ->{ + case SnapiRecordType r ->{ LinkedHashMap hashMap = new LinkedHashMap<>(); ProgramExpressionNode[] children = JavaConverters.asJavaCollection(r.atts()) .stream() - .map(a -> (Rql2AttrType) a) - .map(att -> recurse((Rql2TypeWithProperties) att.tipe(),lang)) + .map(a -> (SnapiAttrType) a) + .map(att -> recurse((SnapiTypeWithProperties) att.tipe(),lang)) .toArray(ProgramExpressionNode[]::new); - JavaConverters.asJavaCollection(r.atts()).stream().map(a -> (Rql2AttrType) a).forEach(a -> hashMap.put(a.idn(),hashMap.size())); - List keys = JavaConverters.asJavaCollection(r.atts()).stream().map(a -> (Rql2AttrType) a).map(Rql2AttrType::idn).toList(); + JavaConverters.asJavaCollection(r.atts()).stream().map(a -> (SnapiAttrType) a).forEach(a -> hashMap.put(a.idn(),hashMap.size())); + List keys = JavaConverters.asJavaCollection(r.atts()).stream().map(a -> (SnapiAttrType) a).map(SnapiAttrType::idn).toList(); boolean hasDuplicateKeys = keys.size() != keys.stream().distinct().count(); yield new RecordParseJsonNode( children, hashMap, - JavaConverters.asJavaCollection(r.atts()).stream().map(a -> (Rql2AttrType) a).map(a -> (Rql2TypeWithProperties) a.tipe()).toArray(Rql2TypeWithProperties[]::new), + JavaConverters.asJavaCollection(r.atts()).stream().map(a -> (SnapiAttrType) a).map(a -> (SnapiTypeWithProperties) a.tipe()).toArray(SnapiTypeWithProperties[]::new), hasDuplicateKeys ); } - case Rql2ByteType ignored -> ByteParseJsonNodeGen.create(); - case Rql2ShortType ignored -> ShortParseJsonNodeGen.create(); - case Rql2IntType ignored -> IntParseJsonNodeGen.create(); - case Rql2LongType ignored -> LongParseJsonNodeGen.create(); - case Rql2FloatType ignored -> FloatParseJsonNodeGen.create(); - case Rql2DoubleType ignored -> DoubleParseJsonNodeGen.create(); - case Rql2DecimalType ignored -> DecimalParseJsonNodeGen.create(); - case Rql2BoolType ignored -> BooleanParseJsonNodeGen.create(); - case Rql2StringType ignored -> StringParseJsonNodeGen.create(); - case Rql2DateType ignored -> DateParseJsonNodeGen.create(dateFormat); - case Rql2TimeType ignored -> TimeParseJsonNodeGen.create(timeFormat); - case Rql2TimestampType ignored -> TimestampParseJsonNodeGen.create(timestampFormat); - case Rql2IntervalType ignored -> IntervalParseJsonNodeGen.create(); - case Rql2BinaryType ignored -> BinaryParseJsonNodeGen.create(); - case Rql2OrType or -> { + case SnapiByteType ignored -> ByteParseJsonNodeGen.create(); + case SnapiShortType ignored -> ShortParseJsonNodeGen.create(); + case SnapiIntType ignored -> IntParseJsonNodeGen.create(); + case SnapiLongType ignored -> LongParseJsonNodeGen.create(); + case SnapiFloatType ignored -> FloatParseJsonNodeGen.create(); + case SnapiDoubleType ignored -> DoubleParseJsonNodeGen.create(); + case SnapiDecimalType ignored -> DecimalParseJsonNodeGen.create(); + case SnapiBoolType ignored -> BooleanParseJsonNodeGen.create(); + case SnapiStringType ignored -> StringParseJsonNodeGen.create(); + case SnapiDateType ignored -> DateParseJsonNodeGen.create(dateFormat); + case SnapiTimeType ignored -> TimeParseJsonNodeGen.create(timeFormat); + case SnapiTimestampType ignored -> TimestampParseJsonNodeGen.create(timestampFormat); + case SnapiIntervalType ignored -> IntervalParseJsonNodeGen.create(); + case SnapiBinaryType ignored -> BinaryParseJsonNodeGen.create(); + case SnapiOrType or -> { ProgramExpressionNode[] children = JavaConverters.asJavaCollection(or.tipes()) .stream() - .map(t -> recurse((Rql2TypeWithProperties) t,lang)) + .map(t -> recurse((SnapiTypeWithProperties) t,lang)) .toArray(ProgramExpressionNode[]::new); yield new OrParseJsonNode(children); } - case Rql2UndefinedType ignored -> new UndefinedParseJsonNode(); + case SnapiUndefinedType ignored -> new UndefinedParseJsonNode(); default -> throw new TruffleInternalErrorException(); }; if (appendNullCheck) { @@ -156,7 +156,7 @@ yield new RecordParseJsonNode( return program(e, builder.build(), lang); } - private ProgramExpressionNode program(ExpressionNode e, FrameDescriptor frameDescriptor, Rql2Language lang){ + private ProgramExpressionNode program(ExpressionNode e, FrameDescriptor frameDescriptor, SnapiLanguage lang){ return new ProgramExpressionNode(lang, frameDescriptor, e); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/TruffleParseJsonEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/TruffleParseJsonEntry.java index ec172fa14..9daf7c677 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/TruffleParseJsonEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/TruffleParseJsonEntry.java @@ -15,9 +15,9 @@ import static com.rawlabs.snapi.truffle.emitter.builtin.CompilerScalaConsts.tryable; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ParseJsonEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ParseJsonEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.io.json.reader.JsonParseNode; import com.rawlabs.snapi.truffle.ast.io.json.reader.JsonParseNodeGen; @@ -29,7 +29,7 @@ public class TruffleParseJsonEntry extends ParseJsonEntry implements TruffleEntryExtension, WithJsonArgs { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode timeFormat = timeFormat(args); ExpressionNode dateFormat = dateFormat(args); ExpressionNode timestampFormat = timestampFormat(args); @@ -40,8 +40,8 @@ public ExpressionNode toTruffle(Type type, List args, Rql2Language r JsonParseNode parseNode = JsonParseNodeGen.create( unnamedArgs[0], - parser.recurse((Rql2TypeWithProperties) type, rawLanguage).getCallTarget()); - if (((Rql2TypeWithProperties) type).props().contains(tryable)) + parser.recurse((SnapiTypeWithProperties) type, rawLanguage).getCallTarget()); + if (((SnapiTypeWithProperties) type).props().contains(tryable)) return new TryableTopLevelWrapper(parseNode); else return parseNode; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/TrufflePrintJsonEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/TrufflePrintJsonEntry.java index 57c7440a3..28b105ae1 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/TrufflePrintJsonEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/TrufflePrintJsonEntry.java @@ -13,9 +13,9 @@ package com.rawlabs.snapi.truffle.emitter.builtin.json_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.PrintJsonEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.PrintJsonEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.io.json.reader.JsonPrintNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -25,10 +25,10 @@ public class TrufflePrintJsonEntry extends PrintJsonEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return JsonPrintNodeGen.create( args.getFirst().exprNode(), - JsonWriter.recurse((Rql2TypeWithProperties) args.getFirst().type(), rawLanguage) + JsonWriter.recurse((SnapiTypeWithProperties) args.getFirst().type(), rawLanguage) .getCallTarget()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/TruffleReadJsonEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/TruffleReadJsonEntry.java index fdde41658..994cf793f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/TruffleReadJsonEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/json_extension/TruffleReadJsonEntry.java @@ -15,13 +15,13 @@ import java.util.List; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ReadJsonEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IterableType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ReadJsonEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIterableType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.emitter.TruffleArg; import com.rawlabs.snapi.truffle.emitter.TruffleEntryExtension; import com.rawlabs.snapi.truffle.ast.ExpressionNode; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.io.json.reader.JsonReadCollectionNode; import com.rawlabs.snapi.truffle.ast.io.json.reader.JsonReadValueNode; import com.rawlabs.snapi.truffle.ast.io.json.reader.TryableTopLevelWrapper; @@ -32,25 +32,25 @@ public class TruffleReadJsonEntry extends ReadJsonEntry implements TruffleEntryExtension, WithJsonArgs { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode encoding = encoding(args); ExpressionNode timeFormat = timeFormat(args); ExpressionNode dateFormat = dateFormat(args); ExpressionNode timestampFormat = timestampFormat(args); ExpressionNode[] unnamedArgs = mandatoryArgs(args); JsonParser parser = new JsonParser(dateFormat, timeFormat, timestampFormat); - if (type instanceof Rql2IterableType iterableType) { + if (type instanceof SnapiIterableType iterableType) { return new JsonReadCollectionNode( unnamedArgs[0], encoding, - parser.recurse((Rql2TypeWithProperties) iterableType.innerType(), rawLanguage)); + parser.recurse((SnapiTypeWithProperties) iterableType.innerType(), rawLanguage)); } else { JsonReadValueNode parseNode = new JsonReadValueNode( unnamedArgs[0], encoding, - parser.recurse((Rql2TypeWithProperties) type, rawLanguage).getCallTarget()); - if (((Rql2TypeWithProperties) type).props().contains(tryable)) + parser.recurse((SnapiTypeWithProperties) type, rawLanguage).getCallTarget()); + if (((SnapiTypeWithProperties) type).props().contains(tryable)) return new TryableTopLevelWrapper(parseNode); else return parseNode; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/kryo_extension/TruffleKryoDecodeEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/kryo_extension/TruffleKryoDecodeEntry.java index d3ed35d7b..bda28d260 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/kryo_extension/TruffleKryoDecodeEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/kryo_extension/TruffleKryoDecodeEntry.java @@ -13,10 +13,10 @@ package com.rawlabs.snapi.truffle.emitter.builtin.kryo_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.KryoDecodeEntry; -import com.rawlabs.snapi.frontend.rql2.source.ExpType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.KryoDecodeEntry; +import com.rawlabs.snapi.frontend.snapi.source.ExpType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.io.kryo.KryoFromNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -25,8 +25,8 @@ public class TruffleKryoDecodeEntry extends KryoDecodeEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpType exprType = (ExpType) args.get(1).type(); - return new KryoFromNode(args.get(0).exprNode(), (Rql2TypeWithProperties) exprType.t()); + return new KryoFromNode(args.get(0).exprNode(), (SnapiTypeWithProperties) exprType.t()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/kryo_extension/TruffleKryoEncodeEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/kryo_extension/TruffleKryoEncodeEntry.java index 923d70226..c0ce6252a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/kryo_extension/TruffleKryoEncodeEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/kryo_extension/TruffleKryoEncodeEntry.java @@ -13,9 +13,9 @@ package com.rawlabs.snapi.truffle.emitter.builtin.kryo_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.KryoEncodeEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.KryoEncodeEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.io.kryo.KryoWriteNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -24,7 +24,7 @@ public class TruffleKryoEncodeEntry extends KryoEncodeEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { - return new KryoWriteNode(args.get(0).exprNode(), (Rql2TypeWithProperties) args.get(0).type()); + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { + return new KryoWriteNode(args.get(0).exprNode(), (SnapiTypeWithProperties) args.get(0).type()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleBuildListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleBuildListEntry.java index 5965b7b73..1353f8d86 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleBuildListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleBuildListEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.list_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.BuildListEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.BuildListEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.list.ListBuildNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleBuildListEntry extends BuildListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return new ListBuildNode( type, args.stream().map(TruffleArg::exprNode).toArray(ExpressionNode[]::new)); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleCountListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleCountListEntry.java index 9c0b1a564..589a770e0 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleCountListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleCountListEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.list_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.CountListEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.CountListEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.list.ListCountNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleCountListEntry extends CountListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return ListCountNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleEmptyListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleEmptyListEntry.java index d1072c3b1..9e8e74583 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleEmptyListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleEmptyListEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.list_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.EmptyListEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.EmptyListEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.list.ListBuildNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleEmptyListEntry extends EmptyListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return new ListBuildNode(type, new ExpressionNode[0]); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleExistsListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleExistsListEntry.java index 0f12361bc..d31d52dec 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleExistsListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleExistsListEntry.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ExistsListEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ExistsListEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.list.ListExistsNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -26,8 +26,8 @@ public class TruffleExistsListEntry extends ExistsListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleFilterListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleFilterListEntry.java index 7a3cb96ac..0a2cef6d0 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleFilterListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleFilterListEntry.java @@ -15,10 +15,10 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.FilterListEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2ListType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.FilterListEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiListType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.list.ListFilterNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -28,9 +28,9 @@ public class TruffleFilterListEntry extends FilterListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - Rql2ListType listType = (Rql2ListType) type; - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + SnapiListType listType = (SnapiListType) type; + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); @@ -50,7 +50,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em return new ListFilterNode( truffleArgs.get(0).exprNode(), truffleArgs.get(1).exprNode(), - (Rql2Type) listType.innerType(), + (SnapiType) listType.innerType(), generatorSlot, functionSlot, listSlot, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleFirstListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleFirstListEntry.java index 09384cc9b..cb11662cc 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleFirstListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleFirstListEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.list_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.FirstListEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.FirstListEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.list.ListFirstNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleFirstListEntry extends FirstListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return ListFirstNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleFromListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleFromListEntry.java index 2e9c8ca1d..e9569ef99 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleFromListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleFromListEntry.java @@ -15,10 +15,10 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.FromListEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2ListType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.FromListEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiListType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.list.ListFromNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -28,9 +28,9 @@ public class TruffleFromListEntry extends FromListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - Rql2ListType rql2ListType = (Rql2ListType) type; - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + SnapiListType snapiListType = (SnapiListType) type; + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); @@ -46,7 +46,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em builder.addSlot(FrameSlotKind.Object, "list", "a slot to store the result array of osr"); return new ListFromNode( truffleArgs.get(0).exprNode(), - (Rql2Type) rql2ListType.innerType(), + (SnapiType) snapiListType.innerType(), generatorSlot, listSlot, currentIdxSlot, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleGetListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleGetListEntry.java index 6b40d9af4..2fa1140d4 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleGetListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleGetListEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.list_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.GetListEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.GetListEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.list.ListGetNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleGetListEntry extends GetListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return ListGetNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleGroupListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleGroupListEntry.java index cd148442c..5eac8b491 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleGroupListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleGroupListEntry.java @@ -15,9 +15,9 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.GroupListEntry; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.GroupListEntry; +import com.rawlabs.snapi.frontend.snapi.source.*; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.list.ListGroupByNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -30,29 +30,29 @@ public class TruffleGroupListEntry extends GroupListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + List truffleArgs = snapiargsToTruffleArgs(args, emitter); - Rql2ListType listType = (Rql2ListType) type; - Rql2RecordType record = (Rql2RecordType) listType.innerType(); - Rql2AttrType[] atts = - JavaConverters.asJavaCollection(record.atts()).toArray(Rql2AttrType[]::new); + SnapiListType listType = (SnapiListType) type; + SnapiRecordType record = (SnapiRecordType) listType.innerType(); + SnapiAttrType[] atts = + JavaConverters.asJavaCollection(record.atts()).toArray(SnapiAttrType[]::new); - Rql2TypeWithProperties keyType = - (Rql2TypeWithProperties) + SnapiTypeWithProperties keyType = + (SnapiTypeWithProperties) Arrays.stream(atts) .filter(a -> a.idn().equals("key")) .findFirst() - .orElse(Rql2AttrType.apply("key", new Rql2UndefinedType(new HashSet<>()))) + .orElse(SnapiAttrType.apply("key", new SnapiUndefinedType(new HashSet<>()))) .tipe(); - Rql2ListType groupType = - (Rql2ListType) + SnapiListType groupType = + (SnapiListType) Arrays.stream(atts) .filter(a -> a.idn().equals("group")) .findFirst() - .orElse(Rql2AttrType.apply("key", new Rql2UndefinedType(new HashSet<>()))) + .orElse(SnapiAttrType.apply("key", new SnapiUndefinedType(new HashSet<>()))) .tipe(); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); @@ -69,7 +69,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em return new ListGroupByNode( truffleArgs.get(0).exprNode(), truffleArgs.get(1).exprNode(), - (Rql2TypeWithProperties) groupType.innerType(), + (SnapiTypeWithProperties) groupType.innerType(), keyType, generatorSlot, keyFuncSlot, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleLastListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleLastListEntry.java index 424d8af88..73d16895f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleLastListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleLastListEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.list_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.LastListEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.LastListEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.list.ListLastNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleLastListEntry extends LastListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return ListLastNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleMaxListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleMaxListEntry.java index 22a791131..87dda2da6 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleMaxListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleMaxListEntry.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MaxListEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MaxListEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.AggregateSingleNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.Aggregations; @@ -28,8 +28,8 @@ public class TruffleMaxListEntry extends MaxListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleMinListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleMinListEntry.java index fa68acd44..569d5e97c 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleMinListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleMinListEntry.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MinListEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MinListEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.AggregateSingleNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.Aggregations; @@ -28,8 +28,8 @@ public class TruffleMinListEntry extends MinListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleSumListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleSumListEntry.java index e5bd6985d..454f4e486 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleSumListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleSumListEntry.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.SumListEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.SumListEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.AggregateSingleNode; import com.rawlabs.snapi.truffle.ast.expressions.aggregation.Aggregations; @@ -28,8 +28,8 @@ public class TruffleSumListEntry extends SumListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleTakeListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleTakeListEntry.java index 3f2425eba..8ff88e124 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleTakeListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleTakeListEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.list_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TakeListEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TakeListEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.list.ListTakeNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleTakeListEntry extends TakeListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return ListTakeNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleTransformListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleTransformListEntry.java index b8c5c2b30..da5b0f065 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleTransformListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleTransformListEntry.java @@ -15,10 +15,10 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TransformListEntry; -import com.rawlabs.snapi.frontend.rql2.source.FunType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TransformListEntry; +import com.rawlabs.snapi.frontend.snapi.source.FunType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.list.ListTransformNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -28,8 +28,8 @@ public class TruffleTransformListEntry extends TransformListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FunType funType = (FunType) truffleArgs.get(1).type(); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int listSlot = builder.addSlot(FrameSlotKind.Object, "list", "a slot to store the list of osr"); @@ -48,7 +48,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em return new ListTransformNode( truffleArgs.get(0).exprNode(), truffleArgs.get(1).exprNode(), - (Rql2Type) funType.r(), + (SnapiType) funType.r(), listSlot, functionSlot, currentIdxSlot, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleUnsafeFromListEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleUnsafeFromListEntry.java index 9b75dfa20..663cfe81b 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleUnsafeFromListEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/list_extension/TruffleUnsafeFromListEntry.java @@ -15,10 +15,10 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameSlotKind; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.UnsafeFromListEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2ListType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.UnsafeFromListEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiListType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.iterable.list.ListFromUnsafe; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -29,9 +29,9 @@ public class TruffleUnsafeFromListEntry extends UnsafeFromListEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); - Rql2ListType rql2ListType = (Rql2ListType) type; + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); + SnapiListType snapiListType = (SnapiListType) type; FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); int generatorSlot = builder.addSlot(FrameSlotKind.Object, "generator", "a slot to store the generator of osr"); @@ -47,7 +47,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em builder.addSlot(FrameSlotKind.Object, "list", "a slot to store the result array of osr"); return new ListFromUnsafe( truffleArgs.get(0).exprNode(), - (Rql2Type) rql2ListType.innerType(), + (SnapiType) snapiListType.innerType(), generatorSlot, listSlot, currentIdxSlot, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationDescribeEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationDescribeEntry.java index 498062e22..fa200cae6 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationDescribeEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationDescribeEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.location_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.LocationDescribeEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.LocationDescribeEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationDescribeNodeGen; import com.rawlabs.snapi.truffle.ast.expressions.literals.IntNode; @@ -25,7 +25,7 @@ public class TruffleLocationDescribeEntry extends LocationDescribeEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode sampleSize = args.stream() .filter(a -> a.identifier() != null && a.identifier().contains("sampleSize")) diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationFromStringEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationFromStringEntry.java index dbbdb8ce7..1cbc4a12a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationFromStringEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationFromStringEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.location_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.LocationFromStringEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.LocationFromStringEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationFromStringNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -25,7 +25,7 @@ public class TruffleLocationFromStringEntry extends LocationFromStringEntry implements TruffleEntryExtension, WithArgs { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode url = args.get(0).exprNode(); return new LocationFromStringNode(url); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationLlEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationLlEntry.java index 82f14585c..65a362978 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationLlEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationLlEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.location_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.LocationLlEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.LocationLlEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationLlNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleLocationLlEntry extends LocationLlEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return LocationLlNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationLsEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationLsEntry.java index f239011dc..abc6c7b72 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationLsEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/location_extension/TruffleLocationLsEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.location_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.LocationLsEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.LocationLsEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationLsNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleLocationLsEntry extends LocationLsEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return LocationLsNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/long_extension/TruffleLongFromEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/long_extension/TruffleLongFromEntry.java index 1042d99b8..92b43fcf4 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/long_extension/TruffleLongFromEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/long_extension/TruffleLongFromEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.long_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.LongFromEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.LongFromEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.numeric.long_package.LongFromNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleLongFromEntry extends LongFromEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return LongFromNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/long_extension/TruffleLongRangeEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/long_extension/TruffleLongRangeEntry.java index 786fc002e..1b0f8decd 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/long_extension/TruffleLongRangeEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/long_extension/TruffleLongRangeEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.long_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.LongRangeEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.LongRangeEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.numeric.long_package.LongRangeNodeGen; import com.rawlabs.snapi.truffle.ast.expressions.literals.LongNode; @@ -24,7 +24,7 @@ public class TruffleLongRangeEntry extends LongRangeEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode start = args.get(0).exprNode(); ExpressionNode end = args.get(1).exprNode(); ExpressionNode step = diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAbsEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAbsEntry.java index 1fb9bf830..1cb9bd8a5 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAbsEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAbsEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathAbsEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathAbsEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathAbsNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleMathAbsEntry extends MathAbsEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return MathAbsNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAcosEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAcosEntry.java index 799d50dac..51e877809 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAcosEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAcosEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathAcosEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathAcosEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathAcosNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAsinEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAsinEntry.java index 3e3ed7647..52f491289 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAsinEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAsinEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathAsinEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathAsinEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathAsinNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAtanEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAtanEntry.java index f5f365635..acf38440a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAtanEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAtanEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathAtanEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathAtanEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathAtanNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAtn2Entry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAtn2Entry.java index fc172cbd1..32da03edf 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAtn2Entry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathAtn2Entry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathAtn2Entry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathAtn2Entry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathAtn2NodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathCeilingEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathCeilingEntry.java index 1c0ecc8e8..8317c5ef9 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathCeilingEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathCeilingEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathCeilingEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathCeilingEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathCeilingNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathCosEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathCosEntry.java index 71f26a26a..00f0088f4 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathCosEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathCosEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathCosEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathCosEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathCosNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathCotEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathCotEntry.java index 89601ba51..a19f1717b 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathCotEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathCotEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathCotEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathCotEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathCotNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathDegreesEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathDegreesEntry.java index 46edb8daf..697769e6e 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathDegreesEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathDegreesEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathDegreesEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathDegreesEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathDegreesNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathExpEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathExpEntry.java index 4804c91de..ec289a9f1 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathExpEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathExpEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathExpEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathExpEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathExpNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathFloorEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathFloorEntry.java index 27348d114..3428d462f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathFloorEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathFloorEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathFloorEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathFloorEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathFloorNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathLog10Entry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathLog10Entry.java index 033b4561b..a2918890c 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathLog10Entry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathLog10Entry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathLog10Entry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathLog10Entry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathLog10NodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathLogEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathLogEntry.java index b7ede7f50..d53278431 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathLogEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathLogEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathLogEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathLogEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathLogNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathPiEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathPiEntry.java index 26a58468d..372630334 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathPiEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathPiEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathPiEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathPiEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.literals.DoubleNode; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathPowerEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathPowerEntry.java index 1bbc197c6..973c8575b 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathPowerEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathPowerEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathPowerEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathPowerEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathPowerNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathRadiansEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathRadiansEntry.java index 6bbd82b62..b8b7ffcbd 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathRadiansEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathRadiansEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathRadiansEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathRadiansEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathRadiansNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathRandomEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathRandomEntry.java index 952210d49..13d582bab 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathRandomEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathRandomEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathRandomEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathRandomEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.literals.DoubleNode; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSignEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSignEntry.java index 34245f747..d02d3228b 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSignEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSignEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathSignEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathSignEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathSignNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSinEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSinEntry.java index adba90213..d7bd5fb9a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSinEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSinEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathSinEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathSinEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathSinNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSqrtEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSqrtEntry.java index d376ea141..f14758182 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSqrtEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSqrtEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathSqrtEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathSqrtEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathSqrtNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSquareEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSquareEntry.java index 30ad9a838..b625c5fab 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSquareEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathSquareEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathSquareEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathSquareEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathSquareNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathTanEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathTanEntry.java index 9732365a3..ee43e66d6 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathTanEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/math_extension/TruffleMathTanEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.math_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MathTanEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MathTanEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.math_package.MathTanNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/mysql_extension/TruffleMySQLQueryEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/mysql_extension/TruffleMySQLQueryEntry.java index 2eaba260b..9f5f0cdee 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/mysql_extension/TruffleMySQLQueryEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/mysql_extension/TruffleMySQLQueryEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.mysql_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MySQLQueryEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MySQLQueryEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationFromMySQLCredentialNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationFromMySQLNode; @@ -30,7 +30,7 @@ public class TruffleMySQLQueryEntry extends MySQLQueryEntry implements TruffleEntryExtension, WithArgs { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode db = args.get(0).exprNode(); ExpressionNode query = args.get(1).exprNode(); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableBuildEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableBuildEntry.java index 8a343dea8..f42d7dcb3 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableBuildEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableBuildEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.nullable_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.NullableBuildEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.NullableBuildEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.option.OptionSomeNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleNullableBuildEntry extends NullableBuildEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return OptionSomeNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableEmptyEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableEmptyEntry.java index b2199862d..9c05bf79f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableEmptyEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableEmptyEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.nullable_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.NullableEmptyEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.NullableEmptyEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.option.OptionNoneNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleNullableEmptyEntry extends NullableEmptyEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return new OptionNoneNode(); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableIsNullEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableIsNullEntry.java index a6f826bc1..156758c62 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableIsNullEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableIsNullEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.nullable_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.NullableIsNullEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.NullableIsNullEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.option.OptionIsDefinedNodeGen; import com.rawlabs.snapi.truffle.ast.expressions.unary.NotNodeGen; @@ -24,7 +24,7 @@ public class TruffleNullableIsNullEntry extends NullableIsNullEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return NotNodeGen.create(OptionIsDefinedNodeGen.create(args.get(0).exprNode())); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableTransformEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableTransformEntry.java index 6dc2770dd..a25709c1d 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableTransformEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableTransformEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.nullable_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.NullableTransformEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.NullableTransformEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.option.OptionMapNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleNullableTransformEntry extends NullableTransformEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return OptionMapNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableUnsafeGetEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableUnsafeGetEntry.java index 78b59b4ea..85ac64f6c 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableUnsafeGetEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_extension/TruffleNullableUnsafeGetEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.nullable_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.NullableUnsafeGetEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.NullableUnsafeGetEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.option.OptionUnsafeGetNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleNullableUnsafeGetEntry extends NullableUnsafeGetEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return OptionUnsafeGetNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_tryable_extension/TruffleFlatMapNullableTryableEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_tryable_extension/TruffleFlatMapNullableTryableEntry.java index 8e3c25c7c..6c0829fb8 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_tryable_extension/TruffleFlatMapNullableTryableEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/nullable_tryable_extension/TruffleFlatMapNullableTryableEntry.java @@ -15,10 +15,10 @@ import static com.rawlabs.snapi.truffle.emitter.builtin.CompilerScalaConsts.*; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.FlatMapNullableTryableEntry; -import com.rawlabs.snapi.frontend.rql2.source.FunType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.FlatMapNullableTryableEntry; +import com.rawlabs.snapi.frontend.snapi.source.FunType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.option.OptionFlatMapNodeGen; import com.rawlabs.snapi.truffle.ast.expressions.option.OptionGetOrElseNodeGen; @@ -35,11 +35,11 @@ public class TruffleFlatMapNullableTryableEntry extends FlatMapNullableTryableEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - Rql2TypeWithProperties eType = (Rql2TypeWithProperties) args.get(0).t(); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + SnapiTypeWithProperties eType = (SnapiTypeWithProperties) args.get(0).t(); FunType fType = (FunType) args.get(1).t(); - Rql2TypeWithProperties inType = (Rql2TypeWithProperties) fType.ms().apply(0); - Rql2TypeWithProperties outType = (Rql2TypeWithProperties) fType.r(); + SnapiTypeWithProperties inType = (SnapiTypeWithProperties) fType.ms().apply(0); + SnapiTypeWithProperties outType = (SnapiTypeWithProperties) fType.r(); // The value is try+nullable, and both properties need to be checked before applying the // function. diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/oracle_extension/TruffleOracleQueryEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/oracle_extension/TruffleOracleQueryEntry.java index 4d6b66155..9656a4160 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/oracle_extension/TruffleOracleQueryEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/oracle_extension/TruffleOracleQueryEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.oracle_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.OracleQueryEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.OracleQueryEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationFromOracleCredentialNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationFromOracleNode; @@ -30,7 +30,7 @@ public class TruffleOracleQueryEntry extends OracleQueryEntry implements TruffleEntryExtension, WithArgs { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode db = args.get(0).exprNode(); ExpressionNode query = args.get(1).exprNode(); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/postgresql_extension/TrufflePostgreSQLQueryEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/postgresql_extension/TrufflePostgreSQLQueryEntry.java index ee4e5e534..7a312a2bb 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/postgresql_extension/TrufflePostgreSQLQueryEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/postgresql_extension/TrufflePostgreSQLQueryEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.postgresql_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.PostgreSQLQueryEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.PostgreSQLQueryEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationFromPostgreSQLCredentialNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationFromPostgreSQLNode; @@ -30,7 +30,7 @@ public class TrufflePostgreSQLQueryEntry extends PostgreSQLQueryEntry implements TruffleEntryExtension, WithArgs { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode db = args.get(0).exprNode(); ExpressionNode query = args.get(1).exprNode(); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordAddFieldEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordAddFieldEntry.java index 71afdf2fd..1ce3fc40f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordAddFieldEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordAddFieldEntry.java @@ -13,9 +13,9 @@ package com.rawlabs.snapi.truffle.emitter.builtin.record_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.RecordAddFieldEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2RecordType; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.RecordAddFieldEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiRecordType; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.literals.StringNode; import com.rawlabs.snapi.truffle.ast.expressions.record.RecordAddFieldNodeGen; @@ -26,8 +26,8 @@ public class TruffleRecordAddFieldEntry extends RecordAddFieldEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { - Rql2RecordType recordType = (Rql2RecordType) type; + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { + SnapiRecordType recordType = (SnapiRecordType) type; String f = recordType.atts().last().idn(); StringNode fieldName = new StringNode(f); ExpressionNode value = args.get(1).exprNode(); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordBuildEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordBuildEntry.java index 26d46b30f..9355fed97 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordBuildEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordBuildEntry.java @@ -13,10 +13,10 @@ package com.rawlabs.snapi.truffle.emitter.builtin.record_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.RecordBuildEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2AttrType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2RecordType; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.RecordBuildEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiAttrType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiRecordType; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.record.RecordBuildNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -26,13 +26,13 @@ public class TruffleRecordBuildEntry extends RecordBuildEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { - Rql2RecordType recordType = (Rql2RecordType) type; + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { + SnapiRecordType recordType = (SnapiRecordType) type; String[] fieldNames = JavaConverters.asJavaCollection(recordType.atts()).stream() - .map(a -> (Rql2AttrType) a) - .map(Rql2AttrType::idn) + .map(a -> (SnapiAttrType) a) + .map(SnapiAttrType::idn) .toList() .toArray(new String[0]); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordConcatEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordConcatEntry.java index 0a0403b23..bb98045a7 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordConcatEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordConcatEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.record_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.RecordConcatEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.RecordConcatEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.record.RecordConcatNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleRecordConcatEntry extends RecordConcatEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return RecordConcatNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordFieldsEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordFieldsEntry.java index ea3840a2b..26d635b7c 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordFieldsEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordFieldsEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.record_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.RecordFieldsEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.RecordFieldsEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.record.RecordFieldsNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleRecordFieldsEntry extends RecordFieldsEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return RecordFieldsNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordGetFieldByIndexEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordGetFieldByIndexEntry.java index 4399781a9..f3eb57488 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordGetFieldByIndexEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordGetFieldByIndexEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.record_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.RecordGetFieldByIndexEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.RecordGetFieldByIndexEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.record.RecordProjNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -24,7 +24,7 @@ public class TruffleRecordGetFieldByIndexEntry extends RecordGetFieldByIndexEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return RecordProjNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordRemoveFieldEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordRemoveFieldEntry.java index 8e73bdbae..135432a74 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordRemoveFieldEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/record_extension/TruffleRecordRemoveFieldEntry.java @@ -13,10 +13,10 @@ package com.rawlabs.snapi.truffle.emitter.builtin.record_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.RecordRemoveFieldEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2AttrType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2RecordType; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.RecordRemoveFieldEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiAttrType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiRecordType; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.literals.StringNode; import com.rawlabs.snapi.truffle.ast.expressions.record.RecordRemoveFieldNodeGen; @@ -29,19 +29,19 @@ public class TruffleRecordRemoveFieldEntry extends RecordRemoveFieldEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { - Rql2RecordType recordType = (Rql2RecordType) type; + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { + SnapiRecordType recordType = (SnapiRecordType) type; List finalFieldNames = JavaConverters.asJavaCollection(recordType.atts()).stream() - .map(a -> (Rql2AttrType) a) - .map(Rql2AttrType::idn) + .map(a -> (SnapiAttrType) a) + .map(SnapiAttrType::idn) .distinct() .toList(); - Rql2RecordType original = (Rql2RecordType) args.get(0).type(); + SnapiRecordType original = (SnapiRecordType) args.get(0).type(); String[] originalFieldNames = JavaConverters.asJavaCollection(original.atts()).stream() - .map(a -> (Rql2AttrType) a) - .map(Rql2AttrType::idn) + .map(a -> (SnapiAttrType) a) + .map(SnapiAttrType::idn) .distinct() .toArray(String[]::new); String f = diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexFirstMatchInEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexFirstMatchInEntry.java index f6e222c7e..29b5c1cb6 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexFirstMatchInEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexFirstMatchInEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.regex_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.RegexFirstMatchInEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.RegexFirstMatchInEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.regex_package.RegexFirstMatchInNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -23,7 +23,7 @@ public class TruffleRegexFirstMatchInEntry extends RegexFirstMatchInEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return RegexFirstMatchInNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexGroupsEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexGroupsEntry.java index 67fa2aa17..b1adf1f4a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexGroupsEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexGroupsEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.regex_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.RegexGroupsEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.RegexGroupsEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.regex_package.RegexGroupsNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -22,7 +22,7 @@ import java.util.List; public class TruffleRegexGroupsEntry extends RegexGroupsEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return RegexGroupsNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexMatchesEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexMatchesEntry.java index fdb2dc9a1..dfacc9ed9 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexMatchesEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexMatchesEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.regex_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.RegexMatchesEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.RegexMatchesEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.regex_package.RegexMatchesNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -22,7 +22,7 @@ import java.util.List; public class TruffleRegexMatchesEntry extends RegexMatchesEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return RegexMatchesNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexReplaceEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexReplaceEntry.java index 7d41001f3..54f81245f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexReplaceEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/regex_extension/TruffleRegexReplaceEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.regex_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.RegexReplaceEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.RegexReplaceEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.regex_package.RegexReplaceNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -22,7 +22,7 @@ import java.util.List; public class TruffleRegexReplaceEntry extends RegexReplaceEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return RegexReplaceNodeGen.create( args.get(0).exprNode(), args.get(1).exprNode(), args.get(2).exprNode()); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/s3_extension/TruffleS3BuildEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/s3_extension/TruffleS3BuildEntry.java index 73ef17a87..93311b638 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/s3_extension/TruffleS3BuildEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/s3_extension/TruffleS3BuildEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.s3_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.S3BuildEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.S3BuildEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationFromS3Node; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -24,7 +24,7 @@ public class TruffleS3BuildEntry extends S3BuildEntry implements TruffleEntryExtension, WithArgs { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode url = args.get(0).exprNode(); ExpressionNode accessKey = arg(args, "accessKey").orElse(null); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/short_extension/TruffleShortFromEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/short_extension/TruffleShortFromEntry.java index 3428f443c..72c34f523 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/short_extension/TruffleShortFromEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/short_extension/TruffleShortFromEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.short_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ShortFromEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ShortFromEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.numeric.short_package.ShortFromNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -22,7 +22,7 @@ import java.util.List; public class TruffleShortFromEntry extends ShortFromEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return ShortFromNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/snowflake_extension/TruffleSnowflakeQueryEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/snowflake_extension/TruffleSnowflakeQueryEntry.java index 686ad969b..ca9d5579e 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/snowflake_extension/TruffleSnowflakeQueryEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/snowflake_extension/TruffleSnowflakeQueryEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.snowflake_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.SnowflakeQueryEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.SnowflakeQueryEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationFromSnowflakeCredentialNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationFromSnowflakeNode; @@ -29,7 +29,7 @@ public class TruffleSnowflakeQueryEntry extends SnowflakeQueryEntry implements TruffleEntryExtension, WithArgs { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode db = args.get(0).exprNode(); ExpressionNode query = args.get(1).exprNode(); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/sqlserver_extension/TruffleSQLServerQueryEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/sqlserver_extension/TruffleSQLServerQueryEntry.java index 592f4b51a..c0bf16c55 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/sqlserver_extension/TruffleSQLServerQueryEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/sqlserver_extension/TruffleSQLServerQueryEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.sqlserver_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.SQLServerQueryEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.SQLServerQueryEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationFromSQLServerCredentialNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.location_package.LocationFromSQLServerNode; @@ -30,7 +30,7 @@ public class TruffleSQLServerQueryEntry extends SQLServerQueryEntry implements TruffleEntryExtension, WithArgs { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode db = args.get(0).exprNode(); ExpressionNode query = args.get(1).exprNode(); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleBase64EntryExtension.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleBase64EntryExtension.java index 5c12b60aa..31b536b00 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleBase64EntryExtension.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleBase64EntryExtension.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.Base64EntryExtension; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.Base64EntryExtension; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringBase64NodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringCapitalizeEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringCapitalizeEntry.java index 55fe4dfb1..6953900ff 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringCapitalizeEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringCapitalizeEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringCapitalizeEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringCapitalizeEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringCapitalizeNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringContainsEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringContainsEntry.java index 2fbca44e5..908e18fa2 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringContainsEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringContainsEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringContainsEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringContainsEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringContainsNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringCountSubStringEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringCountSubStringEntry.java index ed4584538..8ae4c96a7 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringCountSubStringEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringCountSubStringEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringCountSubStringEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringCountSubStringEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringCountSubStringNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringDecodeEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringDecodeEntry.java index 2a40971d9..e3a283870 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringDecodeEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringDecodeEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringDecodeEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringDecodeEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringDecodeNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringEmptyEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringEmptyEntry.java index 01f96487b..07bb9a9d5 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringEmptyEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringEmptyEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringEmptyEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringEmptyEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringEmptyNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringEncodeEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringEncodeEntry.java index e167343cc..0ba3c9bbb 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringEncodeEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringEncodeEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringEncodeEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringEncodeEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringEncodeNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringFromEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringFromEntry.java index a85e3add1..97a6bf07d 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringFromEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringFromEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringFromEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringFromEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringFromNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -22,7 +22,7 @@ import java.util.List; public class TruffleStringFromEntry extends StringFromEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return StringFromNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLTrimEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLTrimEntry.java index 2b98328bc..39aaeb06f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLTrimEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLTrimEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringLTrimEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringLTrimEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringLTrimNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLengthEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLengthEntry.java index f1d73e93e..979e0af9c 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLengthEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLengthEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringLengthEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringLengthEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringLengthNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLevenshteinDistanceEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLevenshteinDistanceEntry.java index 519fad696..67fb6ce7b 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLevenshteinDistanceEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLevenshteinDistanceEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringLevenshteinDistanceEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringLevenshteinDistanceEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringLevenshteinDistanceNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLowerEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLowerEntry.java index 46c416590..27e033ef6 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLowerEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringLowerEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringLowerEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringLowerEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringLowerNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringRTrimEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringRTrimEntry.java index 4241c1473..6eea1abb3 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringRTrimEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringRTrimEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringRTrimEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringRTrimEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringRTrimNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReadEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReadEntry.java index 04c97c218..2131ffed5 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReadEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReadEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringReadEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringReadEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringReadNodeGen; import com.rawlabs.snapi.truffle.ast.expressions.literals.StringNode; @@ -23,7 +23,7 @@ import java.util.List; public class TruffleStringReadEntry extends StringReadEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode encoding = args.stream() .filter(arg -> arg.identifier() != null && arg.identifier().equals("encoding")) diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReadLinesEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReadLinesEntry.java index 62959b0a2..f8cc52c9f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReadLinesEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReadLinesEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringReadLinesEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringReadLinesEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringReadLinesNodeGen; import com.rawlabs.snapi.truffle.ast.expressions.literals.StringNode; @@ -24,7 +24,7 @@ public class TruffleStringReadLinesEntry extends StringReadLinesEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode encoding = args.stream() .filter(arg -> arg.identifier() != null && arg.identifier().equals("encoding")) diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReplaceEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReplaceEntry.java index 9f2eddf33..e0c86ec32 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReplaceEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReplaceEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringReplaceEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringReplaceEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringReplaceNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -22,7 +22,7 @@ import java.util.List; public class TruffleStringReplaceEntry extends StringReplaceEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return StringReplaceNodeGen.create( args.get(0).exprNode(), args.get(1).exprNode(), args.get(2).exprNode()); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReplicateEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReplicateEntry.java index ac0cf0fc7..30fcd782f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReplicateEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReplicateEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringReplicateEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringReplicateEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringReplicateNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReverseEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReverseEntry.java index a9d5ae3ca..0797bb9ee 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReverseEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringReverseEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringReverseEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringReverseEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringReverseNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringSplitEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringSplitEntry.java index 5d4c69aed..b3e1e0436 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringSplitEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringSplitEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringSplitEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringSplitEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringSplitNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringStartsWithEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringStartsWithEntry.java index bc46b8016..7c5082e42 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringStartsWithEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringStartsWithEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringStartsWithEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringStartsWithEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringStartsWithNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringSubStringEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringSubStringEntry.java index 2a5707ede..9218bf09c 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringSubStringEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringSubStringEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringSubStringEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringSubStringEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringSubStringNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringTrimEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringTrimEntry.java index 07c9e90e0..327a2bea7 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringTrimEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringTrimEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringTrimEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringTrimEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringTrimNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringUpperEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringUpperEntry.java index 9103d9110..ca6b7666c 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringUpperEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/string_extension/TruffleStringUpperEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.string_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringUpperEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringUpperEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.string_package.StringUpperNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/success_extension/TruffleSuccessBuildEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/success_extension/TruffleSuccessBuildEntry.java index a4747f947..f9c677770 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/success_extension/TruffleSuccessBuildEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/success_extension/TruffleSuccessBuildEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.success_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.SuccessBuildEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.SuccessBuildEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.tryable.TryableSuccessNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -22,7 +22,7 @@ import java.util.List; public class TruffleSuccessBuildEntry extends SuccessBuildEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return TryableSuccessNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleBoolValueArgTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleBoolValueArgTestEntry.java index 6adac6e7d..f9fad4c94 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleBoolValueArgTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleBoolValueArgTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.BoolValueArgTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.BoolValueArgTestEntry; public class TruffleBoolValueArgTestEntry extends BoolValueArgTestEntry implements TruffleValueArg {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleByteValueArgTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleByteValueArgTestEntry.java index 93d96ec51..35c9cd8c0 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleByteValueArgTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleByteValueArgTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ByteValueArgTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ByteValueArgTestEntry; import com.rawlabs.snapi.truffle.emitter.TruffleEntryExtension; public class TruffleByteValueArgTestEntry extends ByteValueArgTestEntry diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleDateValueArgTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleDateValueArgTestEntry.java index d661afcde..1d5725d31 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleDateValueArgTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleDateValueArgTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DateValueArgTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DateValueArgTestEntry; public class TruffleDateValueArgTestEntry extends DateValueArgTestEntry implements TruffleValueArg {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleDoubleValueArgTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleDoubleValueArgTestEntry.java index 00dcbdd68..b4b04f356 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleDoubleValueArgTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleDoubleValueArgTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.DoubleValueArgTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.DoubleValueArgTestEntry; public class TruffleDoubleValueArgTestEntry extends DoubleValueArgTestEntry implements TruffleValueArg {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleFloatValueArgTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleFloatValueArgTestEntry.java index c006b97ff..53fcc2de3 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleFloatValueArgTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleFloatValueArgTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.FloatValueArgTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.FloatValueArgTestEntry; public class TruffleFloatValueArgTestEntry extends FloatValueArgTestEntry implements TruffleValueArg {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleIntValueArgTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleIntValueArgTestEntry.java index b23066cd2..e564b06e6 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleIntValueArgTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleIntValueArgTestEntry.java @@ -12,6 +12,6 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntValueArgTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntValueArgTestEntry; public class TruffleIntValueArgTestEntry extends IntValueArgTestEntry implements TruffleValueArg {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleIntervalValueArgTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleIntervalValueArgTestEntry.java index b9666890a..b72b11cc4 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleIntervalValueArgTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleIntervalValueArgTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.IntervalValueArgTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.IntervalValueArgTestEntry; public class TruffleIntervalValueArgTestEntry extends IntervalValueArgTestEntry implements TruffleValueArg {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleListValueArgTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleListValueArgTestEntry.java index d810f100a..c58b7142d 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleListValueArgTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleListValueArgTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ListValueArgTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ListValueArgTestEntry; public class TruffleListValueArgTestEntry extends ListValueArgTestEntry implements TruffleValueArg {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleLongValueArgTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleLongValueArgTestEntry.java index 88853b132..9b41fed9f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleLongValueArgTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleLongValueArgTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.LongValueArgTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.LongValueArgTestEntry; public class TruffleLongValueArgTestEntry extends LongValueArgTestEntry implements TruffleValueArg {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleMandatoryArgs.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleMandatoryArgs.java index 85ff0189e..f29aecb3e 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleMandatoryArgs.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleMandatoryArgs.java @@ -13,7 +13,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.binary.PlusNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -22,7 +22,7 @@ public interface TruffleMandatoryArgs extends TruffleEntryExtension { @Override - default ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + default ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return new PlusNode(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleMandatoryExpArgsEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleMandatoryExpArgsEntry.java index 04465d33b..c0401edce 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleMandatoryExpArgsEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleMandatoryExpArgsEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MandatoryExpArgsEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MandatoryExpArgsEntry; public class TruffleMandatoryExpArgsEntry extends MandatoryExpArgsEntry implements TruffleMandatoryArgs {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleMandatoryValueArgsEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleMandatoryValueArgsEntry.java index 30da71683..2270585e4 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleMandatoryValueArgsEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleMandatoryValueArgsEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.MandatoryValueArgsEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.MandatoryValueArgsEntry; public class TruffleMandatoryValueArgsEntry extends MandatoryValueArgsEntry implements TruffleMandatoryArgs {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleOptionalArgs.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleOptionalArgs.java index 05e57487c..08c705dc8 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleOptionalArgs.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleOptionalArgs.java @@ -13,7 +13,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.binary.MultNodeGen; import com.rawlabs.snapi.truffle.ast.expressions.literals.IntNode; @@ -24,7 +24,7 @@ public interface TruffleOptionalArgs extends TruffleEntryExtension, WithArgs { @Override - default ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + default ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode mandatory = mandatoryArgs(args)[0]; ExpressionNode x = arg(args, "x").orElse(new IntNode("10")); ExpressionNode y = arg(args, "y").orElse(new IntNode("10")); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleOptionalExpArgsTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleOptionalExpArgsTestEntry.java index 19fb5879f..372cc9268 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleOptionalExpArgsTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleOptionalExpArgsTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.OptionalExpArgsTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.OptionalExpArgsTestEntry; public class TruffleOptionalExpArgsTestEntry extends OptionalExpArgsTestEntry implements TruffleOptionalArgs {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleOptionalValueArgsTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleOptionalValueArgsTestEntry.java index 66239ad39..76c78341b 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleOptionalValueArgsTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleOptionalValueArgsTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.OptionalValueArgsTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.OptionalValueArgsTestEntry; public class TruffleOptionalValueArgsTestEntry extends OptionalValueArgsTestEntry implements TruffleOptionalArgs {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleRecordValueArgTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleRecordValueArgTestEntry.java index cd89dc68d..e21f925bb 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleRecordValueArgTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleRecordValueArgTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.RecordValueArgTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.RecordValueArgTestEntry; public class TruffleRecordValueArgTestEntry extends RecordValueArgTestEntry implements TruffleValueArg {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleShortValueArgTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleShortValueArgTestEntry.java index 36d018b19..3ef88a5ff 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleShortValueArgTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleShortValueArgTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ShortValueArgTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ShortValueArgTestEntry; public class TruffleShortValueArgTestEntry extends ShortValueArgTestEntry implements TruffleValueArg {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleStrictArgsColPassThroughTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleStrictArgsColPassThroughTestEntry.java index 48aa70275..99416e850 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleStrictArgsColPassThroughTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleStrictArgsColPassThroughTestEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StrictArgsColPassThroughTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StrictArgsColPassThroughTestEntry; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.binary.MultNodeGen; import com.rawlabs.snapi.truffle.ast.expressions.iterable.collection.CollectionTransformNodeGen; @@ -27,7 +27,7 @@ public class TruffleStrictArgsColPassThroughTestEntry extends StrictArgsColPassThroughTestEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { return CollectionTransformNodeGen.create( emitter.recurseExp(args.get(0).e()), emitter.recurseLambda(() -> MultNodeGen.create(new ReadParamNode(0), new IntNode("10")))); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleStrictArgsTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleStrictArgsTestEntry.java index 9f51d0892..31dd57340 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleStrictArgsTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleStrictArgsTestEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StrictArgsTestEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StrictArgsTestEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.binary.PlusNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.numeric.float_package.FloatFromNodeGen; @@ -32,7 +32,7 @@ public class TruffleStrictArgsTestEntry extends StrictArgsTestEntry implements TruffleEntryExtension, WithArgs { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode listArg = args.get(0).exprNode(); ExpressionNode[] optionalArgs = optionalArgs(args); ExpressionNode recordArg = diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleStringValueArgTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleStringValueArgTestEntry.java index 04a0f44f8..205a63933 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleStringValueArgTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleStringValueArgTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.StringValueArgTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.StringValueArgTestEntry; public class TruffleStringValueArgTestEntry extends StringValueArgTestEntry implements TruffleValueArg {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleTimeValueArgTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleTimeValueArgTestEntry.java index 525fa178f..3a6ba5024 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleTimeValueArgTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleTimeValueArgTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimeValueArgTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimeValueArgTestEntry; public class TruffleTimeValueArgTestEntry extends TimeValueArgTestEntry implements TruffleValueArg {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleTimestampValueArgTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleTimestampValueArgTestEntry.java index 192e7ec37..03b2521a0 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleTimestampValueArgTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleTimestampValueArgTestEntry.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampValueArgTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampValueArgTestEntry; public class TruffleTimestampValueArgTestEntry extends TimestampValueArgTestEntry implements TruffleValueArg {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleValueArg.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleValueArg.java index 9c8c3af99..ec00c8efd 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleValueArg.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleValueArg.java @@ -13,7 +13,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.record.RecordBuildNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -22,7 +22,7 @@ public interface TruffleValueArg extends TruffleEntryExtension { @Override - default ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + default ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return new RecordBuildNode(new ExpressionNode[] {args.get(0).exprNode()}, new String[] {"arg"}); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarArgs.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarArgs.java index 5058f8e39..393fc963e 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarArgs.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarArgs.java @@ -13,7 +13,7 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.binary.PlusNode; import com.rawlabs.snapi.truffle.ast.expressions.literals.IntNode; @@ -23,7 +23,7 @@ public interface TruffleVarArgs extends TruffleEntryExtension { @Override - default ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + default ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode result = new IntNode("0"); for (TruffleArg arg : args) { result = new PlusNode(result, arg.exprNode()); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarExpArgsTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarExpArgsTestEntry.java index 9f9afdfa4..d26f2efcf 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarExpArgsTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarExpArgsTestEntry.java @@ -12,6 +12,6 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.VarExpArgsTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.VarExpArgsTestEntry; public class TruffleVarExpArgsTestEntry extends VarExpArgsTestEntry implements TruffleVarArgs {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarNullableStringExpTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarNullableStringExpTestEntry.java index d2f485935..9514dd2af 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarNullableStringExpTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarNullableStringExpTestEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.VarNullableStringExpTestEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.VarNullableStringExpTestEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; import com.rawlabs.snapi.truffle.emitter.TruffleEntryExtension; @@ -23,7 +23,7 @@ public class TruffleVarNullableStringExpTestEntry extends VarNullableStringExpTestEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return args.get(0).exprNode(); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarNullableStringValueTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarNullableStringValueTestEntry.java index 17f7fe769..832c74aa5 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarNullableStringValueTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarNullableStringValueTestEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.VarNullableStringValueTestEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.VarNullableStringValueTestEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.binary.PlusNode; import com.rawlabs.snapi.truffle.ast.expressions.literals.StringNode; @@ -26,7 +26,7 @@ public class TruffleVarNullableStringValueTestEntry extends VarNullableStringValueTestEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode result = new StringNode(""); for (TruffleArg arg : args) { result = diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarValueArgsTestEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarValueArgsTestEntry.java index 0c4907ac9..bf5729ff0 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarValueArgsTestEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/test_extension/TruffleVarValueArgsTestEntry.java @@ -12,6 +12,6 @@ package com.rawlabs.snapi.truffle.emitter.builtin.test_extension; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.VarValueArgsTestEntry; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.VarValueArgsTestEntry; public class TruffleVarValueArgsTestEntry extends VarValueArgsTestEntry implements TruffleVarArgs {} diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeAddIntervalEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeAddIntervalEntry.java index 2337f69db..4838d8334 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeAddIntervalEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeAddIntervalEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.time_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimeAddIntervalEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimeAddIntervalEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.time_package.TimeAddIntervalNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeBuildEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeBuildEntry.java index ab6d7955b..9899b45c4 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeBuildEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeBuildEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.time_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimeBuildEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimeBuildEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.time_package.TimeBuildNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeHourEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeHourEntry.java index 5758fb1c1..9701beba3 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeHourEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeHourEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.time_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimeHourEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimeHourEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.time_package.TimeHourNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeMillisEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeMillisEntry.java index 479113f70..09277f348 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeMillisEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeMillisEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.time_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimeMillisEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimeMillisEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.time_package.TimeMillisNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeMinuteEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeMinuteEntry.java index a24449e1b..3079cb5af 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeMinuteEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeMinuteEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.time_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimeMinuteEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimeMinuteEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.time_package.TimeMinuteNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeNowEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeNowEntry.java index 09de423f5..f275bf2f9 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeNowEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeNowEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.time_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimeNowEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimeNowEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.time_package.TimeNowNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeParseEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeParseEntry.java index 984bcd20c..ff57add8a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeParseEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeParseEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.time_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimeParseEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimeParseEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.time_package.TimeParseNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeSecondEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeSecondEntry.java index a704ee3a4..c1929a155 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeSecondEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeSecondEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.time_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimeSecondEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimeSecondEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.time_package.TimeSecondNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeSubtractEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeSubtractEntry.java index 42001044f..a27ad5bf3 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeSubtractEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeSubtractEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.time_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimeSubtractEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimeSubtractEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.time_package.TimeSubtractNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeSubtractIntervalEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeSubtractIntervalEntry.java index fc66a0f4f..4708163e3 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeSubtractIntervalEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/time_extension/TruffleTimeSubtractIntervalEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.time_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimeSubtractIntervalEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimeSubtractIntervalEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.time_package.TimeSubtractIntervalNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampAddIntervalEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampAddIntervalEntry.java index ce894c38e..23eced2b7 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampAddIntervalEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampAddIntervalEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampAddIntervalEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampAddIntervalEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampAddIntervalNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampBuildEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampBuildEntry.java index 6dfe2c6f3..bd2c0899e 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampBuildEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampBuildEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampBuildEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampBuildEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampBuildNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampDayEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampDayEntry.java index 6f925b252..535860de4 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampDayEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampDayEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampDayEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampDayEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampDayNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampFromDateEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampFromDateEntry.java index e591c4723..823b43eda 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampFromDateEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampFromDateEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampFromDateEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampFromDateEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampFromDateNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampFromUnixTimestampEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampFromUnixTimestampEntry.java index d49ba3996..427083c2a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampFromUnixTimestampEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampFromUnixTimestampEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampFromUnixTimestampEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampFromUnixTimestampEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampFromUnixTimestampNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampHourEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampHourEntry.java index 31446257b..1e1208c5e 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampHourEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampHourEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampHourEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampHourEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampHourNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampMillisEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampMillisEntry.java index f502258d9..b3b7b04b1 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampMillisEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampMillisEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampMillisEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampMillisEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampMillisNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampMinuteEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampMinuteEntry.java index 9bc2a119a..7af55ffcd 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampMinuteEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampMinuteEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampMinuteEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampMinuteEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampMinuteNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampMonthEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampMonthEntry.java index 4b16d8f37..1607be559 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampMonthEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampMonthEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampMonthEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampMonthEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampMonthNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampNowEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampNowEntry.java index 84addfdf9..9a265ca20 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampNowEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampNowEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampNowEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampNowEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampNowNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampParseEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampParseEntry.java index 20a617c98..1550ffcd2 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampParseEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampParseEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampParseEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampParseEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampParseNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampRangeEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampRangeEntry.java index 4bed1fd32..49d6a4616 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampRangeEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampRangeEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampRangeEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampRangeEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.interval_package.IntervalBuildNodeGen; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampRangeNodeGen; @@ -37,7 +37,7 @@ public class TruffleTimestampRangeEntry extends TimestampRangeEntry new IntNode("0"), new IntNode("0")); - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpressionNode start = args.get(0).exprNode(); ExpressionNode end = args.get(1).exprNode(); ExpressionNode step = diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampSecondEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampSecondEntry.java index b4af2335a..e0795f206 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampSecondEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampSecondEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampSecondEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampSecondEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampSecondNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampSubtractEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampSubtractEntry.java index 53f141a24..08f7977f1 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampSubtractEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampSubtractEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampSubtractEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampSubtractEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampSubtractNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampSubtractIntervalEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampSubtractIntervalEntry.java index b055ebe2d..8cb904890 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampSubtractIntervalEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampSubtractIntervalEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampSubtractIntervalEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampSubtractIntervalEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampSubtractIntervalNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampTimeBucketEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampTimeBucketEntry.java index 3aecdc5cc..cedae56a4 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampTimeBucketEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampTimeBucketEntry.java @@ -13,11 +13,11 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampTimeBucketEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IntervalType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2StringType; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampTimeBucketEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIntervalType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiStringType; import com.rawlabs.snapi.truffle.emitter.TruffleArg; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.emitter.TruffleEntryExtension; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampTimeBucketIntervalNodeGen; @@ -27,12 +27,12 @@ import java.util.List; public class TruffleTimestampTimeBucketEntry extends TimestampTimeBucketEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return switch (args.get(0).type()) { - case Rql2StringType ignored -> + case SnapiStringType ignored -> TimestampTimeBucketStringNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); - case Rql2IntervalType ignored -> + case SnapiIntervalType ignored -> TimestampTimeBucketIntervalNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); default -> throw new TruffleInternalErrorException(); }; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampToUnixTimestampEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampToUnixTimestampEntry.java index d0509a00d..e064067ca 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampToUnixTimestampEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampToUnixTimestampEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampToUnixTimestampEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampToUnixTimestampEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampToUnixTimestampNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampYearEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampYearEntry.java index 0536bc0c6..f2c821e34 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampYearEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/timestamp_extension/TruffleTimestampYearEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.timestamp_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TimestampYearEntry; -import com.rawlabs.snapi.frontend.rql2.source.Exp; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TimestampYearEntry; +import com.rawlabs.snapi.frontend.snapi.source.Exp; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.temporals.timestamp_package.TimestampYearNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleShortEntryExtension; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryFlatMapEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryFlatMapEntry.java index e58240761..0a1d98b66 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryFlatMapEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryFlatMapEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.try_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TryFlatMapEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TryFlatMapEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.tryable.TryableMapNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -22,7 +22,7 @@ import java.util.List; public class TruffleTryFlatMapEntry extends TryFlatMapEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return TryableMapNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryIsErrorEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryIsErrorEntry.java index 6fe7045a2..80c50522f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryIsErrorEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryIsErrorEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.try_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TryIsErrorEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TryIsErrorEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.tryable.TryableIsFailureNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -22,7 +22,7 @@ import java.util.List; public class TruffleTryIsErrorEntry extends TryIsErrorEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return TryableIsFailureNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryIsSuccessEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryIsSuccessEntry.java index 1526f0eab..31a773c6b 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryIsSuccessEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryIsSuccessEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.try_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TryIsSuccessEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TryIsSuccessEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.tryable.TryableIsSuccessNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -22,7 +22,7 @@ import java.util.List; public class TruffleTryIsSuccessEntry extends TryIsSuccessEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return TryableIsSuccessNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryTransformEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryTransformEntry.java index ade025963..078476ee0 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryTransformEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryTransformEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.try_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TryTransformEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TryTransformEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.tryable.TryableMapNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -22,7 +22,7 @@ import java.util.List; public class TruffleTryTransformEntry extends TryTransformEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return TryableMapNodeGen.create(args.get(0).exprNode(), args.get(1).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryUnsafeGetEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryUnsafeGetEntry.java index 6dd6b26d7..5fa6a7d13 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryUnsafeGetEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/try_extension/TruffleTryUnsafeGetEntry.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.builtin.try_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TryUnsafeGetEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TryUnsafeGetEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.tryable.TryableUnsafeGetNodeGen; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -22,7 +22,7 @@ import java.util.List; public class TruffleTryUnsafeGetEntry extends TryUnsafeGetEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return TryableUnsafeGetNodeGen.create(args.get(0).exprNode()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeCastEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeCastEntry.java index a10c60a57..a9920cefa 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeCastEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeCastEntry.java @@ -13,15 +13,15 @@ package com.rawlabs.snapi.truffle.emitter.builtin.type_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TypeCastEntry; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TypeCastEntry; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; import com.rawlabs.snapi.truffle.emitter.TruffleEntryExtension; import java.util.List; public class TruffleTypeCastEntry extends TypeCastEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { return args.get(1).exprNode(); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeEmptyEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeEmptyEntry.java index f0d67c3d8..0fa4be312 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeEmptyEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeEmptyEntry.java @@ -13,9 +13,9 @@ package com.rawlabs.snapi.truffle.emitter.builtin.type_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TypeEmptyEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TypeEmptyEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.literals.ZeroedConstNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -24,7 +24,7 @@ public class TruffleTypeEmptyEntry extends TypeEmptyEntry implements TruffleEntryExtension { @Override - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { - return new ZeroedConstNode((Rql2Type) args.getFirst().type()); + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { + return new ZeroedConstNode((SnapiType) args.getFirst().type()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeMatchEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeMatchEntry.java index 9f2e46005..ac828cd7f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeMatchEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeMatchEntry.java @@ -13,11 +13,11 @@ package com.rawlabs.snapi.truffle.emitter.builtin.type_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.TypesMerger; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TypeMatchEntry; -import com.rawlabs.snapi.frontend.rql2.source.FunType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2OrType; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.TypesMerger; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TypeMatchEntry; +import com.rawlabs.snapi.frontend.snapi.source.FunType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiOrType; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.type_package.TypeMatchNode; import com.rawlabs.snapi.truffle.emitter.TruffleArg; @@ -31,8 +31,8 @@ public class TruffleTypeMatchEntry extends TypeMatchEntry implements TruffleEntr private record Handler(int idx, TruffleArg arg) {} - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { - Rql2OrType orType = (Rql2OrType) args.get(0).type(); + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { + SnapiOrType orType = (SnapiOrType) args.get(0).type(); ExpressionNode[] handlers = args.stream() .skip(1) diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeProtectCastEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeProtectCastEntry.java index f93dfc71d..c60eceeab 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeProtectCastEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/type_extension/TruffleTypeProtectCastEntry.java @@ -13,12 +13,12 @@ package com.rawlabs.snapi.truffle.emitter.builtin.type_extension; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.TypeProtectCastEntry; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.TypeProtectCastEntry; +import com.rawlabs.snapi.frontend.snapi.source.*; import com.rawlabs.snapi.truffle.emitter.TruffleArg; import com.rawlabs.snapi.truffle.emitter.TruffleEntryExtension; import com.rawlabs.snapi.truffle.ast.ExpressionNode; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.expressions.builtin.type_package.TypeProtectCastOptionNode; import com.rawlabs.snapi.truffle.ast.expressions.builtin.type_package.TypeProtectCastTryableNode; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleInternalErrorException; @@ -30,66 +30,66 @@ public class TruffleTypeProtectCastEntry extends TypeProtectCastEntry implements TruffleEntryExtension { - public ExpressionNode toTruffle(Type type, List args, Rql2Language rawLanguage) { + public ExpressionNode toTruffle(Type type, List args, SnapiLanguage rawLanguage) { ExpType expSourceType = (ExpType) args.get(0).type(); ExpType expTargetType = (ExpType) args.get(1).type(); Type sourceType = expSourceType.t(); Type targetType = expTargetType.t(); ExpressionNode e = args.get(2).exprNode(); - Set extraProps = extraProps(targetType, sourceType); - if (extraProps.equals(Set.of(new Rql2IsTryableTypeProperty()))) { + Set extraProps = extraProps(targetType, sourceType); + if (extraProps.equals(Set.of(new SnapiIsTryableTypeProperty()))) { return new TypeProtectCastTryableNode(e); - } else if (extraProps.equals(Set.of(new Rql2IsNullableTypeProperty()))) { + } else if (extraProps.equals(Set.of(new SnapiIsNullableTypeProperty()))) { return new TypeProtectCastOptionNode(e); } else { return new TypeProtectCastTryableNode(new TypeProtectCastOptionNode(e)); } } - private Set extraProps(Type target, Type source) { + private Set extraProps(Type target, Type source) { return switch (source) { - case Rql2ListType sourceType -> { - Rql2ListType targetType = (Rql2ListType) target; - Set sourceProps = JavaConverters.setAsJavaSet(sourceType.props()); - Set targetProps = JavaConverters.setAsJavaSet(targetType.props()); - Set innerProps = extraProps(targetType.innerType(), sourceType.innerType()); + case SnapiListType sourceType -> { + SnapiListType targetType = (SnapiListType) target; + Set sourceProps = JavaConverters.setAsJavaSet(sourceType.props()); + Set targetProps = JavaConverters.setAsJavaSet(targetType.props()); + Set innerProps = extraProps(targetType.innerType(), sourceType.innerType()); sourceProps.removeAll(targetProps); - Set finalProps = new HashSet<>(innerProps); + Set finalProps = new HashSet<>(innerProps); finalProps.addAll(sourceProps); yield finalProps; } - case Rql2IterableType sourceType -> { - Rql2IterableType targetType = (Rql2IterableType) target; + case SnapiIterableType sourceType -> { + SnapiIterableType targetType = (SnapiIterableType) target; // inner types aren't checked because iterables aren't consumed in the moment they're passed to // the function. No exception will be raised under ProtectCast regarding an iterable's items. - Set sourceProps = JavaConverters.setAsJavaSet(sourceType.props()); - Set targetProps = JavaConverters.setAsJavaSet(targetType.props()); - Set finalProps = new HashSet<>(sourceProps); + Set sourceProps = JavaConverters.setAsJavaSet(sourceType.props()); + Set targetProps = JavaConverters.setAsJavaSet(targetType.props()); + Set finalProps = new HashSet<>(sourceProps); finalProps.removeAll(targetProps); yield finalProps; } - case Rql2RecordType sourceType -> { - Rql2RecordType targetType = (Rql2RecordType) target; - Set sourceProps = JavaConverters.setAsJavaSet(sourceType.props()); - Set targetProps = JavaConverters.setAsJavaSet(targetType.props()); - Set finalProps = new HashSet<>(sourceProps); + case SnapiRecordType sourceType -> { + SnapiRecordType targetType = (SnapiRecordType) target; + Set sourceProps = JavaConverters.setAsJavaSet(sourceType.props()); + Set targetProps = JavaConverters.setAsJavaSet(targetType.props()); + Set finalProps = new HashSet<>(sourceProps); finalProps.removeAll(targetProps); - List sourceTypes = JavaConverters.seqAsJavaList(sourceType.atts()).stream().map(Rql2AttrType::tipe).toList(); - List targetTypes = JavaConverters.seqAsJavaList(targetType.atts()).stream().map(Rql2AttrType::tipe).toList(); + List sourceTypes = JavaConverters.seqAsJavaList(sourceType.atts()).stream().map(SnapiAttrType::tipe).toList(); + List targetTypes = JavaConverters.seqAsJavaList(targetType.atts()).stream().map(SnapiAttrType::tipe).toList(); assert sourceTypes.size() == targetTypes.size(); for (int i = 0; i < sourceTypes.size(); i++) { Type sourceAttrType = sourceTypes.get(i); Type targetAttrType = targetTypes.get(i); - Set innerProps = extraProps(targetAttrType, sourceAttrType); + Set innerProps = extraProps(targetAttrType, sourceAttrType); finalProps.addAll(innerProps); } yield finalProps; } - case Rql2TypeWithProperties sourceType -> { - Rql2TypeWithProperties targetType = (Rql2TypeWithProperties) target; - Set sourceProps = JavaConverters.setAsJavaSet(sourceType.props()); - Set targetProps = JavaConverters.setAsJavaSet(targetType.props()); - Set finalProps = new HashSet<>(sourceProps); + case SnapiTypeWithProperties sourceType -> { + SnapiTypeWithProperties targetType = (SnapiTypeWithProperties) target; + Set sourceProps = JavaConverters.setAsJavaSet(sourceType.props()); + Set targetProps = JavaConverters.setAsJavaSet(targetType.props()); + Set finalProps = new HashSet<>(sourceProps); finalProps.removeAll(targetProps); yield finalProps; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/xml_extension/TruffleParseXmlEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/xml_extension/TruffleParseXmlEntry.java index 2926649bd..a18748303 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/xml_extension/TruffleParseXmlEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/xml_extension/TruffleParseXmlEntry.java @@ -16,12 +16,12 @@ import com.oracle.truffle.api.frame.FrameSlotKind; import java.util.List; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ParseXmlEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IterableType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2ListType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ParseXmlEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIterableType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiListType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.emitter.TruffleArg; import com.rawlabs.snapi.truffle.emitter.TruffleEmitter; import com.rawlabs.snapi.truffle.emitter.TruffleEntryExtension; @@ -50,8 +50,8 @@ private static ExpressionNode getArg( private static final ExpressionNode defaultDateFormat = new StringNode("yyyy-M-d"); private static final ExpressionNode defaultTimeFormat = new StringNode("HH:mm[:ss[.SSS]]"); - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); List unnamedArgs = @@ -65,7 +65,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em getArg(namedArgs, "timestampFormat", defaultTimestampFormat); return switch (type) { - case Rql2IterableType iterableType -> { + case SnapiIterableType iterableType -> { ExpressionNode parseNode = new XmlParseCollectionNode( unnamedArgs.get(0).exprNode(), @@ -73,7 +73,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em timeFormatExp, timestampFormatExp, XmlRecurse.recurseXmlParser( - (Rql2TypeWithProperties) iterableType.innerType(), emitter.getLanguage())); + (SnapiTypeWithProperties) iterableType.innerType(), emitter.getLanguage())); if (XmlRecurse.isTryable(iterableType)) { // Probably will need to be either reused in json and xml or create a copy yield new TryableTopLevelWrapper(parseNode); @@ -81,7 +81,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em yield parseNode; } } - case Rql2ListType listType -> { + case SnapiListType listType -> { ExpressionNode parseNode = new XmlParseCollectionNode( unnamedArgs.get(0).exprNode(), @@ -89,7 +89,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em timeFormatExp, timestampFormatExp, XmlRecurse.recurseXmlParser( - (Rql2TypeWithProperties) listType.innerType(), emitter.getLanguage())); + (SnapiTypeWithProperties) listType.innerType(), emitter.getLanguage())); int generatorSlot = builder.addSlot( @@ -111,7 +111,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em // Probably will need to be either reused in json and xml or create a copy yield new ListFromNode( parseNode, - (Rql2Type) listType.innerType(), + (SnapiType) listType.innerType(), generatorSlot, listSlot, currentIdxSlot, @@ -120,7 +120,7 @@ yield new ListFromNode( } else { yield new ListFromUnsafe( parseNode, - (Rql2Type) listType.innerType(), + (SnapiType) listType.innerType(), generatorSlot, listSlot, currentIdxSlot, @@ -128,7 +128,7 @@ yield new ListFromUnsafe( resultSlot); } } - case Rql2TypeWithProperties t -> { + case SnapiTypeWithProperties t -> { ExpressionNode parseNode = new XmlParseValueNode( unnamedArgs.get(0).exprNode(), diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/xml_extension/TruffleReadXmlEntry.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/xml_extension/TruffleReadXmlEntry.java index d3111986a..00248d6f8 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/xml_extension/TruffleReadXmlEntry.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/xml_extension/TruffleReadXmlEntry.java @@ -16,12 +16,12 @@ import com.oracle.truffle.api.frame.FrameSlotKind; import java.util.List; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.extensions.Rql2Arg; -import com.rawlabs.snapi.frontend.rql2.extensions.builtin.ReadXmlEntry; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IterableType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2ListType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2Type; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.extensions.SnapiArg; +import com.rawlabs.snapi.frontend.snapi.extensions.builtin.ReadXmlEntry; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIterableType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiListType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.emitter.TruffleArg; import com.rawlabs.snapi.truffle.emitter.TruffleEmitter; import com.rawlabs.snapi.truffle.emitter.TruffleEntryExtension; @@ -51,8 +51,8 @@ private static ExpressionNode getArg( private static final ExpressionNode defaultTimeFormat = new StringNode("HH:mm[:ss[.SSS]]"); @Override - public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { - List truffleArgs = rql2argsToTruffleArgs(args, emitter); + public ExpressionNode toTruffle(Type type, List args, TruffleEmitter emitter) { + List truffleArgs = snapiargsToTruffleArgs(args, emitter); FrameDescriptor.Builder builder = emitter.getFrameDescriptorBuilder(); List unnamedArgs = @@ -66,7 +66,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em getArg(namedArgs, "timestampFormat", defaultTimestampFormat); return switch (type) { - case Rql2IterableType iterableType -> { + case SnapiIterableType iterableType -> { ExpressionNode parseNode = new XmlReadCollectionNode( unnamedArgs.get(0).exprNode(), @@ -75,7 +75,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em timeFormatExp, timestampFormatExp, XmlRecurse.recurseXmlParser( - (Rql2TypeWithProperties) iterableType.innerType(), emitter.getLanguage())); + (SnapiTypeWithProperties) iterableType.innerType(), emitter.getLanguage())); if (XmlRecurse.isTryable(iterableType)) { // Probably will need to be either reused in json and xml or create a copy yield new TryableTopLevelWrapper(parseNode); @@ -83,7 +83,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em yield parseNode; } } - case Rql2ListType listType -> { + case SnapiListType listType -> { ExpressionNode parseNode = new XmlReadCollectionNode( unnamedArgs.get(0).exprNode(), @@ -92,7 +92,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em timeFormatExp, timestampFormatExp, XmlRecurse.recurseXmlParser( - (Rql2TypeWithProperties) listType.innerType(), emitter.getLanguage())); + (SnapiTypeWithProperties) listType.innerType(), emitter.getLanguage())); int generatorSlot = builder.addSlot( @@ -114,7 +114,7 @@ public ExpressionNode toTruffle(Type type, List args, TruffleEmitter em // Probably will need to be either reused in json and xml or create a copy yield new ListFromNode( parseNode, - (Rql2Type) listType.innerType(), + (SnapiType) listType.innerType(), generatorSlot, listSlot, currentIdxSlot, @@ -123,7 +123,7 @@ yield new ListFromNode( } else { yield new ListFromUnsafe( parseNode, - (Rql2Type) listType.innerType(), + (SnapiType) listType.innerType(), generatorSlot, listSlot, currentIdxSlot, @@ -131,7 +131,7 @@ yield new ListFromUnsafe( resultSlot); } } - case Rql2TypeWithProperties t -> { + case SnapiTypeWithProperties t -> { ExpressionNode parseNode = new XmlReadValueNode( unnamedArgs.get(0).exprNode(), diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/xml_extension/XmlRecurse.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/xml_extension/XmlRecurse.java index e6a8acd52..a9a021adf 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/xml_extension/XmlRecurse.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/builtin/xml_extension/XmlRecurse.java @@ -13,9 +13,9 @@ package com.rawlabs.snapi.truffle.emitter.builtin.xml_extension; import com.oracle.truffle.api.frame.FrameDescriptor; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.source.*; import com.rawlabs.snapi.truffle.ast.ExpressionNode; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ProgramExpressionNode; import com.rawlabs.snapi.truffle.ast.expressions.option.OptionSomeNodeGen; import com.rawlabs.snapi.truffle.ast.io.xml.parser.*; @@ -26,46 +26,46 @@ public class XmlRecurse { - private static ExpressionNode primitiveParserNode(Rql2TypeWithProperties tipe) { + private static ExpressionNode primitiveParserNode(SnapiTypeWithProperties tipe) { return switch (tipe) { - case Rql2UndefinedType v -> UndefinedParseXmlNodeGen.create(); - case Rql2ByteType v -> ByteParseXmlNodeGen.create(); - case Rql2ShortType v -> ShortParseXmlNodeGen.create(); - case Rql2IntType v -> IntParseXmlNodeGen.create(); - case Rql2LongType v -> LongParseXmlNodeGen.create(); - case Rql2FloatType v -> FloatParseXmlNodeGen.create(); - case Rql2DoubleType v -> DoubleParseXmlNodeGen.create(); - case Rql2DecimalType v -> DecimalParseXmlNodeGen.create(); - case Rql2StringType v -> StringParseXmlNodeGen.create(); - case Rql2BoolType v -> BoolParseXmlNodeGen.create(); - case Rql2DateType v -> DateParseXmlNodeGen.create(); - case Rql2TimeType v -> TimeParseXmlNodeGen.create(); - case Rql2TimestampType v -> TimestampParseXmlNodeGen.create(); + case SnapiUndefinedType v -> UndefinedParseXmlNodeGen.create(); + case SnapiByteType v -> ByteParseXmlNodeGen.create(); + case SnapiShortType v -> ShortParseXmlNodeGen.create(); + case SnapiIntType v -> IntParseXmlNodeGen.create(); + case SnapiLongType v -> LongParseXmlNodeGen.create(); + case SnapiFloatType v -> FloatParseXmlNodeGen.create(); + case SnapiDoubleType v -> DoubleParseXmlNodeGen.create(); + case SnapiDecimalType v -> DecimalParseXmlNodeGen.create(); + case SnapiStringType v -> StringParseXmlNodeGen.create(); + case SnapiBoolType v -> BoolParseXmlNodeGen.create(); + case SnapiDateType v -> DateParseXmlNodeGen.create(); + case SnapiTimeType v -> TimeParseXmlNodeGen.create(); + case SnapiTimestampType v -> TimestampParseXmlNodeGen.create(); default -> throw new TruffleInternalErrorException(); }; } - public static ProgramExpressionNode recurseXmlParser(Rql2TypeWithProperties tipe, Rql2Language lang) { + public static ProgramExpressionNode recurseXmlParser(SnapiTypeWithProperties tipe, SnapiLanguage lang) { FrameDescriptor frameDescriptor = new FrameDescriptor(); return new ProgramExpressionNode(lang, frameDescriptor, recurse(lang, frameDescriptor, tipe, "*")); } - private static ExpressionNode recurse(Rql2Language lang, FrameDescriptor frameDescriptor, Rql2TypeWithProperties tipe, String fieldName) { + private static ExpressionNode recurse(SnapiLanguage lang, FrameDescriptor frameDescriptor, SnapiTypeWithProperties tipe, String fieldName) { boolean isAttribute = fieldName.startsWith("@"); boolean isText = fieldName.equals("#text"); ExpressionNode parserNode; if (isTryable(tipe)) { // tryable goes first. That way it can catch errors hit when parsing compound XML elements, but also // XML attributes or XML "text" content. - Rql2TypeWithProperties innerType = (Rql2TypeWithProperties) tipe.cloneAndRemoveProp(new Rql2IsTryableTypeProperty()); + SnapiTypeWithProperties innerType = (SnapiTypeWithProperties) tipe.cloneAndRemoveProp(new SnapiIsTryableTypeProperty()); ExpressionNode source = recurse(lang, frameDescriptor, innerType, fieldName); ProgramExpressionNode childRootNode = new ProgramExpressionNode(lang, frameDescriptor, source); // errors are recovered differently for attributes parserNode = isAttribute ? new TryableParseAttributeXmlNode(childRootNode) : new TryableParseXmlNode(childRootNode); } else if (isNullable(tipe)) { - Rql2TypeWithProperties innerType = (Rql2TypeWithProperties) tipe.cloneAndRemoveProp(new Rql2IsNullableTypeProperty()); - if (innerType instanceof Rql2PrimitiveType || innerType instanceof Rql2UndefinedType) { + SnapiTypeWithProperties innerType = (SnapiTypeWithProperties) tipe.cloneAndRemoveProp(new SnapiIsNullableTypeProperty()); + if (innerType instanceof SnapiPrimitiveType || innerType instanceof SnapiUndefinedType) { // nullable primitive. We use the "nullable parser" which checks if the element is empty, and if not applies // the primitive parser. The case of 'undefined' is handled as a primitive parser because the nullable checks // the empty string, and calls the undefined parser (which throws) if not. @@ -83,26 +83,26 @@ private static ExpressionNode recurse(Rql2Language lang, FrameDescriptor frameDe } } else { parserNode = switch (tipe) { - case Rql2OrType orType -> { + case SnapiOrType orType -> { Stream children = JavaConverters.seqAsJavaList(orType.tipes()).stream().map(innerType -> { - ExpressionNode child = recurse(lang, frameDescriptor, (Rql2TypeWithProperties) innerType, fieldName); + ExpressionNode child = recurse(lang, frameDescriptor, (SnapiTypeWithProperties) innerType, fieldName); return new ProgramExpressionNode(lang, frameDescriptor, child); }); yield new OrTypeParseXml(children.toArray(ProgramExpressionNode[]::new)); } - case Rql2ListType listType -> + case SnapiListType listType -> // lists are parsed with their item parser, and then wrapped in a list - recurse(lang, frameDescriptor, (Rql2TypeWithProperties) listType.innerType(), fieldName); - case Rql2IterableType iterableType -> + recurse(lang, frameDescriptor, (SnapiTypeWithProperties) listType.innerType(), fieldName); + case SnapiIterableType iterableType -> // iterables are parsed with their item parser, and then wrapped in a list - recurse(lang, frameDescriptor, (Rql2TypeWithProperties) iterableType.innerType(), fieldName); - case Rql2RecordType recordType -> { + recurse(lang, frameDescriptor, (SnapiTypeWithProperties) iterableType.innerType(), fieldName); + case SnapiRecordType recordType -> { Stream children = JavaConverters.seqAsJavaList(recordType.atts()).stream().map(att -> { - ExpressionNode child = recurse(lang, frameDescriptor, (Rql2TypeWithProperties) att.tipe(), att.idn()); + ExpressionNode child = recurse(lang, frameDescriptor, (SnapiTypeWithProperties) att.tipe(), att.idn()); return new ProgramExpressionNode(lang, frameDescriptor, child); }); - String[] idns = JavaConverters.seqAsJavaList(recordType.atts()).stream().map(Rql2AttrType::idn).toArray(String[]::new); - Rql2TypeWithProperties[] tipes = JavaConverters.seqAsJavaList(recordType.atts()).stream().map(a -> (Rql2TypeWithProperties) a.tipe()).toArray(Rql2TypeWithProperties[]::new); + String[] idns = JavaConverters.seqAsJavaList(recordType.atts()).stream().map(SnapiAttrType::idn).toArray(String[]::new); + SnapiTypeWithProperties[] tipes = JavaConverters.seqAsJavaList(recordType.atts()).stream().map(a -> (SnapiTypeWithProperties) a.tipe()).toArray(SnapiTypeWithProperties[]::new); yield new RecordParseXmlNode( children.toArray(ProgramExpressionNode[]::new), idns, @@ -121,12 +121,12 @@ yield new RecordParseXmlNode( return parserNode; } - public static boolean isTryable(Rql2TypeWithProperties tipe) { - return tipe.props().contains(new Rql2IsTryableTypeProperty()); + public static boolean isTryable(SnapiTypeWithProperties tipe) { + return tipe.props().contains(new SnapiIsTryableTypeProperty()); } - private static boolean isNullable(Rql2TypeWithProperties tipe) { - return tipe.props().contains(new Rql2IsNullableTypeProperty()); + private static boolean isNullable(SnapiTypeWithProperties tipe) { + return tipe.props().contains(new SnapiIsNullableTypeProperty()); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/CompilerScalaConsts.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/CompilerScalaConsts.java index e486c8452..0661e52b2 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/CompilerScalaConsts.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/CompilerScalaConsts.java @@ -12,10 +12,10 @@ package com.rawlabs.snapi.truffle.emitter.writers; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IsNullableTypeProperty; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IsTryableTypeProperty; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIsNullableTypeProperty; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIsTryableTypeProperty; public class CompilerScalaConsts { - public static final Rql2IsTryableTypeProperty tryable = Rql2IsTryableTypeProperty.apply(); - public static final Rql2IsNullableTypeProperty nullable = Rql2IsNullableTypeProperty.apply(); + public static final SnapiIsTryableTypeProperty tryable = SnapiIsTryableTypeProperty.apply(); + public static final SnapiIsNullableTypeProperty nullable = SnapiIsNullableTypeProperty.apply(); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/CsvWriter.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/CsvWriter.java index ddef2453b..d9b21aaf7 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/CsvWriter.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/CsvWriter.java @@ -15,8 +15,8 @@ import com.oracle.truffle.api.frame.FrameDescriptor; import java.util.Arrays; import com.rawlabs.snapi.frontend.base.source.Type; -import com.rawlabs.snapi.frontend.rql2.source.*; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.source.*; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.StatementNode; import com.rawlabs.snapi.truffle.ast.ProgramStatementNode; import com.rawlabs.snapi.truffle.ast.io.csv.writer.internal.*; @@ -24,7 +24,7 @@ public class CsvWriter { - public static ProgramStatementNode getCsvWriter(Type[] args, Rql2Language lang) { + public static ProgramStatementNode getCsvWriter(Type[] args, SnapiLanguage lang) { ProgramStatementNode[] columnWriters = Arrays.stream(args) .map(arg -> columnWriter(arg, lang)) @@ -34,32 +34,32 @@ public static ProgramStatementNode getCsvWriter(Type[] args, Rql2Language lang) return new ProgramStatementNode(lang, new FrameDescriptor(), recordWriter); } - private static StatementNode columnWriter(Type t, Rql2Language lang) { + private static StatementNode columnWriter(Type t, SnapiLanguage lang) { return switch (t){ - case Rql2TypeWithProperties r when r.props().contains(CompilerScalaConsts.tryable) -> { + case SnapiTypeWithProperties r when r.props().contains(CompilerScalaConsts.tryable) -> { StatementNode inner = columnWriter(r.cloneAndRemoveProp(CompilerScalaConsts.tryable), lang); yield new TryableWriteCsvNode(program(inner, lang)); } - case Rql2TypeWithProperties r when r.props().contains(CompilerScalaConsts.nullable) -> { + case SnapiTypeWithProperties r when r.props().contains(CompilerScalaConsts.nullable) -> { StatementNode inner = columnWriter(r.cloneAndRemoveProp(CompilerScalaConsts.nullable), lang); yield new NullableWriteCsvNode(program(inner, lang)); } - case Rql2TypeWithProperties r -> { + case SnapiTypeWithProperties r -> { assert r.props().isEmpty(); yield switch (r){ - case Rql2ByteType ignored -> new ByteWriteCsvNode(); - case Rql2ShortType ignored -> new ShortWriteCsvNode(); - case Rql2IntType ignored -> new IntWriteCsvNode(); - case Rql2LongType ignored -> new LongWriteCsvNode(); - case Rql2FloatType ignored -> new FloatWriteCsvNode(); - case Rql2DoubleType ignored -> new DoubleWriteCsvNode(); - case Rql2DecimalType ignored -> new DecimalWriteCsvNode(); - case Rql2BoolType ignored -> new BoolWriteCsvNode(); - case Rql2StringType ignored -> new StringWriteCsvNode(); - case Rql2DateType ignored -> new DateWriteCsvNode(); - case Rql2TimeType ignored -> new TimeWriteCsvNode(); - case Rql2TimestampType ignored -> new TimestampWriteCsvNode(); - case Rql2BinaryType ignored -> new BinaryWriteCsvNode(); + case SnapiByteType ignored -> new ByteWriteCsvNode(); + case SnapiShortType ignored -> new ShortWriteCsvNode(); + case SnapiIntType ignored -> new IntWriteCsvNode(); + case SnapiLongType ignored -> new LongWriteCsvNode(); + case SnapiFloatType ignored -> new FloatWriteCsvNode(); + case SnapiDoubleType ignored -> new DoubleWriteCsvNode(); + case SnapiDecimalType ignored -> new DecimalWriteCsvNode(); + case SnapiBoolType ignored -> new BoolWriteCsvNode(); + case SnapiStringType ignored -> new StringWriteCsvNode(); + case SnapiDateType ignored -> new DateWriteCsvNode(); + case SnapiTimeType ignored -> new TimeWriteCsvNode(); + case SnapiTimestampType ignored -> new TimestampWriteCsvNode(); + case SnapiBinaryType ignored -> new BinaryWriteCsvNode(); default -> throw new TruffleInternalErrorException(); }; } @@ -67,7 +67,7 @@ yield switch (r){ }; } - private static ProgramStatementNode program(StatementNode e, Rql2Language lang) { + private static ProgramStatementNode program(StatementNode e, SnapiLanguage lang) { FrameDescriptor frameDescriptor = new FrameDescriptor(); return new ProgramStatementNode(lang, frameDescriptor, e); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/JsonWriter.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/JsonWriter.java index bff9e26b8..0cda8a18a 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/JsonWriter.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/JsonWriter.java @@ -13,8 +13,8 @@ package com.rawlabs.snapi.truffle.emitter.writers; import com.oracle.truffle.api.frame.FrameDescriptor; -import com.rawlabs.snapi.frontend.rql2.source.*; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.source.*; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.StatementNode; import com.rawlabs.snapi.truffle.ast.ProgramStatementNode; import com.rawlabs.snapi.truffle.ast.io.json.writer.internal.*; @@ -26,65 +26,65 @@ public class JsonWriter { - public static ProgramStatementNode recurse(Rql2TypeWithProperties tipe, Rql2Language lang) { + public static ProgramStatementNode recurse(SnapiTypeWithProperties tipe, SnapiLanguage lang) { return recurse(tipe, false, lang); } - private static ProgramStatementNode recurse(Rql2TypeWithProperties tipe, boolean isSafe, Rql2Language lang) { + private static ProgramStatementNode recurse(SnapiTypeWithProperties tipe, boolean isSafe, SnapiLanguage lang) { return program(switch (tipe){ - case Rql2TypeWithProperties nt when nt.props().contains(tryable) -> { - Rql2TypeWithProperties nextType = (Rql2TypeWithProperties) nt.cloneAndRemoveProp(tryable); + case SnapiTypeWithProperties nt when nt.props().contains(tryable) -> { + SnapiTypeWithProperties nextType = (SnapiTypeWithProperties) nt.cloneAndRemoveProp(tryable); ProgramStatementNode child = recurse(nextType, lang); if (isSafe) yield new TryableWriteJsonNode(child); else yield new TryableUnsafeWriteJsonNode(child); } - case Rql2TypeWithProperties nt when nt.props().contains(nullable) -> { - Rql2TypeWithProperties nextType = (Rql2TypeWithProperties) nt.cloneAndRemoveProp(nullable); + case SnapiTypeWithProperties nt when nt.props().contains(nullable) -> { + SnapiTypeWithProperties nextType = (SnapiTypeWithProperties) nt.cloneAndRemoveProp(nullable); ProgramStatementNode child = recurse(nextType, lang); yield new NullableWriteJsonNode(child); } - case Rql2ListType r ->{ - ProgramStatementNode child = recurse((Rql2TypeWithProperties)r.innerType(), true, lang); + case SnapiListType r ->{ + ProgramStatementNode child = recurse((SnapiTypeWithProperties)r.innerType(), true, lang); yield new ListWriteJsonNode(child); } - case Rql2IterableType r ->{ - ProgramStatementNode child = recurse((Rql2TypeWithProperties)r.innerType(), true, lang); + case SnapiIterableType r ->{ + ProgramStatementNode child = recurse((SnapiTypeWithProperties)r.innerType(), true, lang); yield new IterableWriteJsonNode(child); } - case Rql2RecordType r ->{ + case SnapiRecordType r ->{ ProgramStatementNode[] children = JavaConverters.asJavaCollection(r.atts()) - .stream().map(a -> (Rql2AttrType) a) - .map(att -> recurse((Rql2TypeWithProperties) att.tipe(), true, lang)) + .stream().map(a -> (SnapiAttrType) a) + .map(att -> recurse((SnapiTypeWithProperties) att.tipe(), true, lang)) .toArray(ProgramStatementNode[]::new); yield new RecordWriteJsonNode(children); } - case Rql2ByteType ignored -> new ByteWriteJsonNode(); - case Rql2ShortType ignored -> new ShortWriteJsonNode(); - case Rql2IntType ignored -> new IntWriteJsonNode(); - case Rql2LongType ignored -> new LongWriteJsonNode(); - case Rql2FloatType ignored -> new FloatWriteJsonNode(); - case Rql2DoubleType ignored -> new DoubleWriteJsonNode(); - case Rql2DecimalType ignored -> new DecimalWriteJsonNode(); - case Rql2BoolType ignored -> new BooleanWriteJsonNode(); - case Rql2StringType ignored -> new StringWriteJsonNode(); - case Rql2DateType ignored -> new DateWriteJsonNode(); - case Rql2TimeType ignored -> new TimeWriteJsonNode(); - case Rql2TimestampType ignored -> new TimestampWriteJsonNode(); - case Rql2IntervalType ignored ->new IntervalWriteJsonNode(); - case Rql2BinaryType ignored -> new BinaryWriteJsonNode(); - case Rql2OrType or -> { + case SnapiByteType ignored -> new ByteWriteJsonNode(); + case SnapiShortType ignored -> new ShortWriteJsonNode(); + case SnapiIntType ignored -> new IntWriteJsonNode(); + case SnapiLongType ignored -> new LongWriteJsonNode(); + case SnapiFloatType ignored -> new FloatWriteJsonNode(); + case SnapiDoubleType ignored -> new DoubleWriteJsonNode(); + case SnapiDecimalType ignored -> new DecimalWriteJsonNode(); + case SnapiBoolType ignored -> new BooleanWriteJsonNode(); + case SnapiStringType ignored -> new StringWriteJsonNode(); + case SnapiDateType ignored -> new DateWriteJsonNode(); + case SnapiTimeType ignored -> new TimeWriteJsonNode(); + case SnapiTimestampType ignored -> new TimestampWriteJsonNode(); + case SnapiIntervalType ignored ->new IntervalWriteJsonNode(); + case SnapiBinaryType ignored -> new BinaryWriteJsonNode(); + case SnapiOrType or -> { ProgramStatementNode[] children = JavaConverters.asJavaCollection(or.tipes()) .stream() - .map(t -> recurse((Rql2TypeWithProperties) t, true,lang)) + .map(t -> recurse((SnapiTypeWithProperties) t, true,lang)) .toArray(ProgramStatementNode[]::new); yield new OrWriteJsonNode(children); } - case Rql2UndefinedType ignored -> new UndefinedWriteJsonNode(); + case SnapiUndefinedType ignored -> new UndefinedWriteJsonNode(); default -> throw new TruffleInternalErrorException(); }, lang); } - private static ProgramStatementNode program(StatementNode e, Rql2Language lang) { + private static ProgramStatementNode program(StatementNode e, SnapiLanguage lang) { FrameDescriptor frameDescriptor = new FrameDescriptor(); return new ProgramStatementNode(lang, frameDescriptor, e); } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/TruffleBinaryWriter.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/TruffleBinaryWriter.java index 8d9698926..0a7c9bc80 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/TruffleBinaryWriter.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/emitter/writers/TruffleBinaryWriter.java @@ -13,11 +13,11 @@ package com.rawlabs.snapi.truffle.emitter.writers; import com.oracle.truffle.api.frame.FrameDescriptor; -import com.rawlabs.snapi.frontend.rql2.source.Rql2BinaryType; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IsNullableTypeProperty; -import com.rawlabs.snapi.frontend.rql2.source.Rql2IsTryableTypeProperty; -import com.rawlabs.snapi.frontend.rql2.source.Rql2StringType; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.source.SnapiBinaryType; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIsNullableTypeProperty; +import com.rawlabs.snapi.frontend.snapi.source.SnapiIsTryableTypeProperty; +import com.rawlabs.snapi.frontend.snapi.source.SnapiStringType; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.ProgramStatementNode; import com.rawlabs.snapi.truffle.ast.io.binary.BinaryBytesWriterNode; import com.rawlabs.snapi.truffle.ast.io.binary.NullableBinaryWriterNode; @@ -26,19 +26,19 @@ public class TruffleBinaryWriter { public static ProgramStatementNode getBinaryWriterNode( - Rql2BinaryType type, Rql2Language lang, FrameDescriptor frameDescriptor) { + SnapiBinaryType type, SnapiLanguage lang, FrameDescriptor frameDescriptor) { if (type.props().isEmpty()) { return new ProgramStatementNode(lang, frameDescriptor, new BinaryBytesWriterNode()); - } else if (type.props().contains(Rql2IsTryableTypeProperty.apply())) { - Rql2BinaryType innerType = - (Rql2BinaryType) type.cloneAndRemoveProp(Rql2IsTryableTypeProperty.apply()); + } else if (type.props().contains(SnapiIsTryableTypeProperty.apply())) { + SnapiBinaryType innerType = + (SnapiBinaryType) type.cloneAndRemoveProp(SnapiIsTryableTypeProperty.apply()); ProgramStatementNode innerWriter = TruffleBinaryWriter.getBinaryWriterNode(innerType, lang, frameDescriptor); return new ProgramStatementNode( lang, frameDescriptor, new TryableBinaryWriterNode(innerWriter)); } else { - Rql2BinaryType innerType = - (Rql2BinaryType) type.cloneAndRemoveProp(Rql2IsNullableTypeProperty.apply()); + SnapiBinaryType innerType = + (SnapiBinaryType) type.cloneAndRemoveProp(SnapiIsNullableTypeProperty.apply()); ProgramStatementNode innerWriter = TruffleBinaryWriter.getBinaryWriterNode(innerType, lang, frameDescriptor); return new ProgramStatementNode( @@ -47,19 +47,19 @@ public static ProgramStatementNode getBinaryWriterNode( } public static ProgramStatementNode getBinaryWriterNode( - Rql2StringType type, Rql2Language lang, FrameDescriptor frameDescriptor) { + SnapiStringType type, SnapiLanguage lang, FrameDescriptor frameDescriptor) { if (type.props().isEmpty()) { return new ProgramStatementNode(lang, frameDescriptor, new BinaryBytesWriterNode()); - } else if (type.props().contains(Rql2IsTryableTypeProperty.apply())) { - Rql2StringType innerType = - (Rql2StringType) type.cloneAndRemoveProp(Rql2IsTryableTypeProperty.apply()); + } else if (type.props().contains(SnapiIsTryableTypeProperty.apply())) { + SnapiStringType innerType = + (SnapiStringType) type.cloneAndRemoveProp(SnapiIsTryableTypeProperty.apply()); ProgramStatementNode innerWriter = TruffleBinaryWriter.getBinaryWriterNode(innerType, lang, frameDescriptor); return new ProgramStatementNode( lang, frameDescriptor, new TryableBinaryWriterNode(innerWriter)); } else { - Rql2StringType innerType = - (Rql2StringType) type.cloneAndRemoveProp(Rql2IsNullableTypeProperty.apply()); + SnapiStringType innerType = + (SnapiStringType) type.cloneAndRemoveProp(SnapiIsNullableTypeProperty.apply()); ProgramStatementNode innerWriter = TruffleBinaryWriter.getBinaryWriterNode(innerType, lang, frameDescriptor); return new ProgramStatementNode( diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/function/FunctionRegistryObject.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/function/FunctionRegistryObject.java index 41392a1d1..d39d55baa 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/function/FunctionRegistryObject.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/function/FunctionRegistryObject.java @@ -18,7 +18,7 @@ import com.oracle.truffle.api.interop.TruffleObject; import com.oracle.truffle.api.library.ExportLibrary; import com.oracle.truffle.api.library.ExportMessage; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.runtime.list.StringList; import java.util.HashMap; import java.util.Map; @@ -65,7 +65,7 @@ final boolean hasLanguage() { @ExportMessage final Class> getLanguage() { - return Rql2Language.class; + return SnapiLanguage.class; } @ExportMessage diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/StaticInitializers.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/StaticInitializers.java index 8a30d6911..b0895ed3c 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/StaticInitializers.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/StaticInitializers.java @@ -15,7 +15,7 @@ import com.esotericsoftware.kryo.io.Output; import com.oracle.truffle.api.CompilerDirectives; import com.oracle.truffle.api.nodes.Node; -import com.rawlabs.snapi.truffle.Rql2Context; +import com.rawlabs.snapi.truffle.SnapiContext; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; import com.rawlabs.snapi.truffle.runtime.generator.collection.off_heap_generator.off_heap.distinct.OffHeapDistinct; import com.rawlabs.snapi.truffle.runtime.generator.collection.off_heap_generator.off_heap.group_by.OffHeapGroupByKey; @@ -37,7 +37,7 @@ public static void kryoWriteInt(Output kryoOutput, int size) { @CompilerDirectives.TruffleBoundary public static FileOutputStream getGroupByKeyNewDiskBuffer( OffHeapGroupByKey offHeapGroupByKey, Node node) { - RawSettings settings = Rql2Context.get(node).getSettings(); + RawSettings settings = SnapiContext.get(node).getSettings(); File file; file = IOUtils.getScratchFile("groupby.", ".kryo", settings).toFile(); offHeapGroupByKey.getSpilledBuffers().add(file); @@ -52,7 +52,7 @@ public static FileOutputStream getGroupByKeyNewDiskBuffer( public static FileOutputStream groupByKeysNextFile( OffHeapGroupByKeys offHeapGroupByKeys, Node node) { File file; - RawSettings settings = Rql2Context.get(node).getSettings(); + RawSettings settings = SnapiContext.get(node).getSettings(); file = IOUtils.getScratchFile("orderby.", ".kryo", settings).toFile(); offHeapGroupByKeys.getSpilledBuffers().add(file); try { @@ -65,7 +65,7 @@ public static FileOutputStream groupByKeysNextFile( @CompilerDirectives.TruffleBoundary public static FileOutputStream distinctNextFile(OffHeapDistinct offHeapDistinct, Node node) { File file; - RawSettings settings = Rql2Context.get(node).getSettings(); + RawSettings settings = SnapiContext.get(node).getSettings(); file = IOUtils.getScratchFile("distinct.", ".kryo", settings).toFile(); offHeapDistinct.getSpilledBuffers().add(file); try { @@ -82,12 +82,12 @@ public static void kryoOutputClose(Output kryoOutput) { public static int getKryoOutputBufferSize(Node node) { return (int) - Rql2Context.get(node).getSettings().getMemorySize("raw.runtime.kryo.output-buffer-size"); + SnapiContext.get(node).getSettings().getMemorySize("raw.runtime.kryo.output-buffer-size"); } @CompilerDirectives.TruffleBoundary public static long[] getContextValues(Node node) { - RawSettings rawSettings = Rql2Context.get(node).getSettings(); + RawSettings rawSettings = SnapiContext.get(node).getSettings(); long[] contextValues = new long[3]; contextValues[0] = rawSettings.getMemorySize("raw.runtime.external.disk-block-max-size"); contextValues[1] = getKryoOutputBufferSize(node); @@ -97,21 +97,21 @@ public static long[] getContextValues(Node node) { @CompilerDirectives.TruffleBoundary public static RawSettings getRawSettings(Node node) { - return Rql2Context.get(node).getSettings(); + return SnapiContext.get(node).getSettings(); } @CompilerDirectives.TruffleBoundary - public static Rql2Context getRql2Context(Node node) { - return Rql2Context.get(node); + public static SnapiContext getSnapiContext(Node node) { + return SnapiContext.get(node); } @CompilerDirectives.TruffleBoundary public static OutputStream getOutputStream(Node node) { - return Rql2Context.get(node).getOutput(); + return SnapiContext.get(node).getOutput(); } @CompilerDirectives.TruffleBoundary public static String[] getScopes(Node node) { - return Rql2Context.get(node).getScopes(); + return SnapiContext.get(node).getScopes(); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/ComputeNextNodes.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/ComputeNextNodes.java index 737f58188..c7303bac4 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/ComputeNextNodes.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/ComputeNextNodes.java @@ -24,8 +24,8 @@ import com.oracle.truffle.api.nodes.LoopNode; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Context; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiContext; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.io.csv.reader.CsvParserNodes; import com.rawlabs.snapi.truffle.ast.io.json.reader.JsonParserNodes; import com.rawlabs.snapi.truffle.ast.io.xml.parser.TruffleXmlParser; @@ -357,8 +357,8 @@ static Object next( return next; } - public static Rql2Language getRql2Language(Node node) { - return Rql2Language.get(node); + public static SnapiLanguage getSnapiLanguage(Node node) { + return SnapiLanguage.get(node); } @Specialization @@ -366,7 +366,7 @@ static Object next( Node node, ZipComputeNext computeNext, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Language(thisNode)", allowUncached = true) Rql2Language language, + @Cached(value = "getSnapiLanguage(thisNode)", allowUncached = true) SnapiLanguage language, @Cached @Cached.Exclusive GeneratorNodes.GeneratorHasNextNode hasNextNode1, @Cached @Cached.Exclusive GeneratorNodes.GeneratorHasNextNode hasNextNode2, @Cached(inline = false) @Cached.Exclusive GeneratorNodes.GeneratorNextNode nextNode1, @@ -803,7 +803,7 @@ static void init( @Cached(inline = false) @Cached.Shared("init") GeneratorNodes.GeneratorInitNode initNode, @Cached @Cached.Shared("close1") GeneratorNodes.GeneratorCloseNode closeNode) { - RawSettings settings = Rql2Context.get(thisNode).getSettings(); + RawSettings settings = SnapiContext.get(thisNode).getSettings(); computeNext.setDiskRight(IOUtils.getScratchFile("cartesian.", ".kryo", settings).toFile()); // save right to disk diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/operations/EquiJoinComputeNext.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/operations/EquiJoinComputeNext.java index a19cf4f8e..bb5ab4260 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/operations/EquiJoinComputeNext.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/operations/EquiJoinComputeNext.java @@ -13,13 +13,13 @@ package com.rawlabs.snapi.truffle.runtime.generator.collection.abstract_generator.compute_next.operations; import com.oracle.truffle.api.frame.MaterializedFrame; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; public class EquiJoinComputeNext { private final Object leftIterable, rightIterable; private final Object leftKeyF, rightKeyF, mkJoinedRecord; - private final Rql2TypeWithProperties leftRowType, rightRowType, keyType; + private final SnapiTypeWithProperties leftRowType, rightRowType, keyType; private Object leftMapGenerator = null, rightMapGenerator = null; // generators from group-by key maps private Object[] leftEntry = null, rightEntry = null; @@ -36,11 +36,11 @@ public class EquiJoinComputeNext { public EquiJoinComputeNext( Object leftIterable, Object leftKeyF, - Rql2TypeWithProperties leftRowType, + SnapiTypeWithProperties leftRowType, Object rightIterable, Object rightKeyF, - Rql2TypeWithProperties rightRowType, - Rql2TypeWithProperties keyType, + SnapiTypeWithProperties rightRowType, + SnapiTypeWithProperties keyType, Object mkJoinedRecord, MaterializedFrame frame, int computeNextSlot, @@ -84,15 +84,15 @@ public Object getMkJoinedRecord() { return mkJoinedRecord; } - public Rql2TypeWithProperties getLeftRowType() { + public SnapiTypeWithProperties getLeftRowType() { return leftRowType; } - public Rql2TypeWithProperties getRightRowType() { + public SnapiTypeWithProperties getRightRowType() { return rightRowType; } - public Rql2TypeWithProperties getKeyType() { + public SnapiTypeWithProperties getKeyType() { return keyType; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/operations/JoinComputeNext.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/operations/JoinComputeNext.java index 4c8c9dc10..7c6d8fa0f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/operations/JoinComputeNext.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/abstract_generator/compute_next/operations/JoinComputeNext.java @@ -15,7 +15,7 @@ import com.esotericsoftware.kryo.io.Input; import com.oracle.truffle.api.CompilerDirectives.CompilationFinal; import com.oracle.truffle.api.frame.MaterializedFrame; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import java.io.File; public class JoinComputeNext { @@ -29,7 +29,7 @@ public class JoinComputeNext { private Object leftRow = null; private Object rightRow = null; Input kryoRight = null; - private final Rql2TypeWithProperties rightRowType; // grouped key and value types. + private final SnapiTypeWithProperties rightRowType; // grouped key and value types. private int spilledRight = 0; private int readRight = 0; private final Boolean reshapeBeforePredicate; @@ -46,7 +46,7 @@ public JoinComputeNext( Object remap, Object predicate, Boolean reshapeBeforePredicate, - Rql2TypeWithProperties rightRowType, + SnapiTypeWithProperties rightRowType, int kryoOutputBufferSize, MaterializedFrame frame, int computeNextSlot, @@ -121,7 +121,7 @@ public int getKryoOutputBufferSize() { return kryoOutputBufferSize; } - public Rql2TypeWithProperties getRightRowType() { + public SnapiTypeWithProperties getRightRowType() { return rightRowType; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/input_buffer/InputBufferNodes.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/input_buffer/InputBufferNodes.java index 0ae00517b..484a379f8 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/input_buffer/InputBufferNodes.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/input_buffer/InputBufferNodes.java @@ -15,7 +15,7 @@ import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.runtime.kryo.KryoNodes; public class InputBufferNodes { @@ -51,7 +51,7 @@ static Object[] headKey( @Cached @Cached.Exclusive KryoNodes.KryoReadNode kryoRead) { // read the next key (if it is null, otherwise keep the current one). if (buffer.getKeys() == null) { - Rql2TypeWithProperties[] keyTypes = buffer.getOffHeapGroupByKey().getKeyTypes(); + SnapiTypeWithProperties[] keyTypes = buffer.getOffHeapGroupByKey().getKeyTypes(); Object[] keys = new Object[keyTypes.length]; for (int i = 0; i < keyTypes.length; i++) { keys[i] = kryoRead.execute(thisNode, buffer.getInput(), keyTypes[i]); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/off_heap/distinct/OffHeapDistinct.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/off_heap/distinct/OffHeapDistinct.java index e5f4842ab..de41b4e89 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/off_heap/distinct/OffHeapDistinct.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/off_heap/distinct/OffHeapDistinct.java @@ -13,7 +13,7 @@ package com.rawlabs.snapi.truffle.runtime.generator.collection.off_heap_generator.off_heap.distinct; import com.oracle.truffle.api.frame.MaterializedFrame; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.runtime.data_structures.treemap.TreeMapObject; import com.rawlabs.snapi.truffle.runtime.utils.KryoFootPrint; import java.io.File; @@ -30,7 +30,7 @@ public class OffHeapDistinct { // spill // to disk). - private final Rql2TypeWithProperties itemType; // grouped key and value types. + private final SnapiTypeWithProperties itemType; // grouped key and value types. private final int itemSize; // grouped key and value kryo binary size private final int kryoOutputBufferSize, kryoInputBufferSize; // size of the kryo buffers used to write and read the data. @@ -38,7 +38,7 @@ public class OffHeapDistinct { private final MaterializedFrame frame; public OffHeapDistinct( - Rql2TypeWithProperties vType, + SnapiTypeWithProperties vType, MaterializedFrame frame, long blockSize, int kryoOutputBufferSize, @@ -73,7 +73,7 @@ public int getBinarySize() { return binarySize; } - public Rql2TypeWithProperties getItemType() { + public SnapiTypeWithProperties getItemType() { return itemType; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/off_heap/group_by/OffHeapGroupByKey.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/off_heap/group_by/OffHeapGroupByKey.java index bdfb944ad..bbfc86059 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/off_heap/group_by/OffHeapGroupByKey.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/off_heap/group_by/OffHeapGroupByKey.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.runtime.generator.collection.off_heap_generator.off_heap.group_by; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.runtime.data_structures.treemap.TreeMapObject; import com.rawlabs.snapi.truffle.runtime.generator.collection.off_heap_generator.record_shaper.RecordShaper; import com.rawlabs.snapi.truffle.runtime.utils.KryoFootPrint; @@ -29,7 +29,7 @@ public class OffHeapGroupByKey { size; // estimated size of currently memory held objects (when reaching blockSize, spill // to // disk). - private final Rql2TypeWithProperties keyType, rowType; // grouping key and row types. + private final SnapiTypeWithProperties keyType, rowType; // grouping key and row types. private final int kryoOutputBufferSize, kryoInputBufferSize; // size of the kryo buffers used to write and read the data. private final int keySize, rowSize; // grouping key and row kryo estimated binary size @@ -37,8 +37,8 @@ public class OffHeapGroupByKey { private final RecordShaper reshape; public OffHeapGroupByKey( - Rql2TypeWithProperties kType, - Rql2TypeWithProperties rowType, + SnapiTypeWithProperties kType, + SnapiTypeWithProperties rowType, RecordShaper reshape, long maxSize, int kryoOutputBufferSize, @@ -75,11 +75,11 @@ public int getSize() { return size; } - public Rql2TypeWithProperties getKeyType() { + public SnapiTypeWithProperties getKeyType() { return keyType; } - public Rql2TypeWithProperties getRowType() { + public SnapiTypeWithProperties getRowType() { return rowType; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/off_heap/order_by/OffHeapGroupByKeys.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/off_heap/order_by/OffHeapGroupByKeys.java index 7b3cf116d..038811f55 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/off_heap/order_by/OffHeapGroupByKeys.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/off_heap/order_by/OffHeapGroupByKeys.java @@ -12,7 +12,7 @@ package com.rawlabs.snapi.truffle.runtime.generator.collection.off_heap_generator.off_heap.order_by; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.runtime.data_structures.treemap.TreeMapObject; import com.rawlabs.snapi.truffle.runtime.utils.KryoFootPrint; import java.io.File; @@ -29,23 +29,23 @@ public class OffHeapGroupByKeys { // to // disk). - private final Rql2TypeWithProperties[] keyTypes; // grouped key and value types. - private final Rql2TypeWithProperties rowType; // grouped key and value types. + private final SnapiTypeWithProperties[] keyTypes; // grouped key and value types. + private final SnapiTypeWithProperties rowType; // grouped key and value types. private final int keysSize, rowSize; // grouping keys and row kryo binary size private final int kryoOutputBufferSize, kryoInputBufferSize; // size of the kryo buffers used to write and read the data. - private static int keysFootPrint(Rql2TypeWithProperties[] keyType) { + private static int keysFootPrint(SnapiTypeWithProperties[] keyType) { int size = 0; - for (Rql2TypeWithProperties t : keyType) { + for (SnapiTypeWithProperties t : keyType) { size += KryoFootPrint.of(t); } return size; } public OffHeapGroupByKeys( - Rql2TypeWithProperties[] kTypes, - Rql2TypeWithProperties rowType, + SnapiTypeWithProperties[] kTypes, + SnapiTypeWithProperties rowType, int[] keyOrderings, long maxSize, int kryoOutputBufferSize, @@ -80,11 +80,11 @@ public int getSize() { return size; } - public Rql2TypeWithProperties[] getKeyTypes() { + public SnapiTypeWithProperties[] getKeyTypes() { return keyTypes; } - public Rql2TypeWithProperties getRowType() { + public SnapiTypeWithProperties getRowType() { return rowType; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/record_shaper/RecordShaperNodes.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/record_shaper/RecordShaperNodes.java index 169c8895c..01583be80 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/record_shaper/RecordShaperNodes.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/generator/collection/off_heap_generator/record_shaper/RecordShaperNodes.java @@ -15,7 +15,7 @@ import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.runtime.list.ObjectList; import com.rawlabs.snapi.truffle.runtime.record.RecordNodes; @@ -27,8 +27,8 @@ public abstract static class MakeRowNode extends Node { public abstract Object execute(Node node, Object shaper, Object key, Object[] values); - public static Rql2Language getRql2Language(Node node) { - return Rql2Language.get(node); + public static SnapiLanguage getSnapiLanguage(Node node) { + return SnapiLanguage.get(node); } @Specialization(guards = {"shaper != null", "!shaper.forList()"}) @@ -38,7 +38,7 @@ static Object makeRowCollection( Object key, Object[] values, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Language(thisNode)", allowUncached = true) Rql2Language language, + @Cached(value = "getSnapiLanguage(thisNode)", allowUncached = true) SnapiLanguage language, @Cached @Cached.Exclusive RecordNodes.AddPropNode addPropNode1, @Cached @Cached.Exclusive RecordNodes.AddPropNode addPropNode2) { Object record = language.createPureRecord(); @@ -55,7 +55,7 @@ static Object makeRowList( Object key, Object[] values, @Bind("$node") Node thisNode, - @Cached(value = "getRql2Language(thisNode)", allowUncached = true) Rql2Language language, + @Cached(value = "getSnapiLanguage(thisNode)", allowUncached = true) SnapiLanguage language, @Cached @Cached.Exclusive RecordNodes.AddPropNode addPropNode1, @Cached @Cached.Exclusive RecordNodes.AddPropNode addPropNode2) { Object record = language.createPureRecord(); diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/DistinctCollection.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/DistinctCollection.java index 8a9c3e820..931b7070c 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/DistinctCollection.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/DistinctCollection.java @@ -20,21 +20,21 @@ import com.oracle.truffle.api.library.ExportLibrary; import com.oracle.truffle.api.library.ExportMessage; import com.oracle.truffle.api.nodes.Node; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.runtime.generator.collection.GeneratorNodes; import com.rawlabs.snapi.truffle.runtime.iterable.IterableNodes; @ExportLibrary(InteropLibrary.class) public class DistinctCollection implements TruffleObject { final Object iterable; - final Rql2TypeWithProperties rowType; + final SnapiTypeWithProperties rowType; private final MaterializedFrame frame; private final int generatorSlot; private final int offHeapDistinctSlot; public DistinctCollection( Object iterable, - Rql2TypeWithProperties vType, + SnapiTypeWithProperties vType, MaterializedFrame frame, int generatorSlot, int offHeapDistinctSlot) { @@ -49,7 +49,7 @@ public Object getIterable() { return iterable; } - public Rql2TypeWithProperties getRowType() { + public SnapiTypeWithProperties getRowType() { return rowType; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/EquiJoinCollection.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/EquiJoinCollection.java index 5d78e80ce..e8e225bab 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/EquiJoinCollection.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/EquiJoinCollection.java @@ -20,7 +20,7 @@ import com.oracle.truffle.api.library.ExportLibrary; import com.oracle.truffle.api.library.ExportMessage; import com.oracle.truffle.api.nodes.Node; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.runtime.generator.collection.GeneratorNodes; import com.rawlabs.snapi.truffle.runtime.generator.collection.abstract_generator.AbstractGenerator; import com.rawlabs.snapi.truffle.runtime.generator.collection.abstract_generator.compute_next.operations.EquiJoinComputeNext; @@ -30,8 +30,8 @@ public class EquiJoinCollection implements TruffleObject { final Object leftIterable, rightIterable; final Object leftKeyF, rightKeyF, reshapeFun; - final Rql2TypeWithProperties leftRowType, rightRowType; - final Rql2TypeWithProperties keyType; + final SnapiTypeWithProperties leftRowType, rightRowType; + final SnapiTypeWithProperties keyType; private final MaterializedFrame frame; private final int computeNextSlot; private final int shouldContinueSlot; @@ -42,11 +42,11 @@ public class EquiJoinCollection implements TruffleObject { public EquiJoinCollection( Object leftIterable, Object leftKeyF, - Rql2TypeWithProperties leftRowType, + SnapiTypeWithProperties leftRowType, Object rightIterable, Object rightKeyF, - Rql2TypeWithProperties rightRowType, - Rql2TypeWithProperties keyType, + SnapiTypeWithProperties rightRowType, + SnapiTypeWithProperties keyType, Object reshapeFun, MaterializedFrame frame, int computeNextSlot, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/GroupByCollection.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/GroupByCollection.java index e72e15f3b..73336b457 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/GroupByCollection.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/GroupByCollection.java @@ -20,7 +20,7 @@ import com.oracle.truffle.api.library.ExportLibrary; import com.oracle.truffle.api.library.ExportMessage; import com.oracle.truffle.api.nodes.Node; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.runtime.generator.collection.GeneratorNodes; import com.rawlabs.snapi.truffle.runtime.iterable.IterableNodes; @@ -28,8 +28,8 @@ public class GroupByCollection implements TruffleObject { final Object iterable; final Object keyFun; - final Rql2TypeWithProperties keyType; - final Rql2TypeWithProperties rowType; + final SnapiTypeWithProperties keyType; + final SnapiTypeWithProperties rowType; private final MaterializedFrame frame; private final int generatorSlot; private final int keyFunctionSlot; @@ -38,8 +38,8 @@ public class GroupByCollection implements TruffleObject { public GroupByCollection( Object iterable, Object keyFun, - Rql2TypeWithProperties kType, - Rql2TypeWithProperties rowType, + SnapiTypeWithProperties kType, + SnapiTypeWithProperties rowType, MaterializedFrame frame, int generatorSlot, int keyFunctionSlot, @@ -62,11 +62,11 @@ public Object getKeyFun() { return keyFun; } - public Rql2TypeWithProperties getKeyType() { + public SnapiTypeWithProperties getKeyType() { return keyType; } - public Rql2TypeWithProperties getRowType() { + public SnapiTypeWithProperties getRowType() { return rowType; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/JoinCollection.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/JoinCollection.java index 09534b3fe..a400b67c2 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/JoinCollection.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/JoinCollection.java @@ -20,7 +20,7 @@ import com.oracle.truffle.api.library.ExportLibrary; import com.oracle.truffle.api.library.ExportMessage; import com.oracle.truffle.api.nodes.Node; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.runtime.generator.collection.GeneratorNodes; import com.rawlabs.snapi.truffle.runtime.generator.collection.abstract_generator.AbstractGenerator; import com.rawlabs.snapi.truffle.runtime.generator.collection.abstract_generator.compute_next.operations.JoinComputeNext; @@ -31,7 +31,7 @@ public class JoinCollection implements TruffleObject { final Object leftIterable; final Object rightIterable; final Object predicate, remap; - final Rql2TypeWithProperties rightType; + final SnapiTypeWithProperties rightType; private final Boolean reshapeBeforePredicate; private final int kryoOutputBufferSize; @@ -47,7 +47,7 @@ public JoinCollection( Object rightIterable, Object remap, Object predicate, - Rql2TypeWithProperties rightType, + SnapiTypeWithProperties rightType, Boolean reshapeBeforePredicate, int kryoOutputBufferSize, MaterializedFrame frame, diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/OrderByCollection.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/OrderByCollection.java index b8a1f0a62..668158ec8 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/OrderByCollection.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/OrderByCollection.java @@ -20,7 +20,7 @@ import com.oracle.truffle.api.library.ExportLibrary; import com.oracle.truffle.api.library.ExportMessage; import com.oracle.truffle.api.nodes.Node; -import com.rawlabs.snapi.frontend.rql2.source.Rql2TypeWithProperties; +import com.rawlabs.snapi.frontend.snapi.source.SnapiTypeWithProperties; import com.rawlabs.snapi.truffle.runtime.generator.collection.GeneratorNodes; import com.rawlabs.snapi.truffle.runtime.iterable.IterableNodes; @@ -29,8 +29,8 @@ public class OrderByCollection implements TruffleObject { final Object parentIterable; final Object[] keyFunctions; final int[] keyOrderings; - final Rql2TypeWithProperties[] keyTypes; - final Rql2TypeWithProperties rowType; + final SnapiTypeWithProperties[] keyTypes; + final SnapiTypeWithProperties rowType; private final MaterializedFrame frame; private final int generatorSlot; private final int collectionSlot; @@ -40,8 +40,8 @@ public OrderByCollection( Object iterable, Object[] keyFunctions, int[] keyOrderings, - Rql2TypeWithProperties[] keyTypes, - Rql2TypeWithProperties rowType, + SnapiTypeWithProperties[] keyTypes, + SnapiTypeWithProperties rowType, MaterializedFrame frame, int generatorSlot, int collectionSlot, @@ -69,11 +69,11 @@ public int[] getKeyOrderings() { return keyOrderings; } - public Rql2TypeWithProperties[] getKeyTypes() { + public SnapiTypeWithProperties[] getKeyTypes() { return keyTypes; } - public Rql2TypeWithProperties getRowType() { + public SnapiTypeWithProperties getRowType() { return rowType; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/ZipCollection.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/ZipCollection.java index cf416936d..7966bc1e1 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/ZipCollection.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/iterable/operations/ZipCollection.java @@ -19,7 +19,7 @@ import com.oracle.truffle.api.library.ExportLibrary; import com.oracle.truffle.api.library.ExportMessage; import com.oracle.truffle.api.nodes.Node; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.runtime.generator.collection.GeneratorNodes; import com.rawlabs.snapi.truffle.runtime.iterable.IterableNodes; @@ -28,7 +28,7 @@ public class ZipCollection implements TruffleObject { final Object parentIterable1; final Object parentIterable2; - public ZipCollection(Object iterable1, Object iterable2, Rql2Language language) { + public ZipCollection(Object iterable1, Object iterable2, SnapiLanguage language) { this.parentIterable1 = iterable1; this.parentIterable2 = iterable2; } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/kryo/KryoNodes.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/kryo/KryoNodes.java index 646465c3d..524c66bb8 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/kryo/KryoNodes.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/kryo/KryoNodes.java @@ -19,8 +19,8 @@ import com.oracle.truffle.api.nodes.ExplodeLoop; import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.nodes.NodeInfo; -import com.rawlabs.snapi.frontend.rql2.source.*; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.frontend.snapi.source.*; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.TypeGuards; import com.rawlabs.snapi.truffle.ast.tryable_nullable.TryableNullableNodes; import com.rawlabs.snapi.truffle.runtime.generator.collection.GeneratorNodes; @@ -46,20 +46,20 @@ public class KryoNodes { @ImportStatic(TypeGuards.class) public abstract static class KryoReadNode extends Node { - public abstract Object execute(Node node, Input input, Rql2TypeWithProperties t); + public abstract Object execute(Node node, Input input, SnapiTypeWithProperties t); @Specialization(guards = {"isTryable(t)"}) @CompilerDirectives.TruffleBoundary static Object doTryable( Node node, Input input, - Rql2TypeWithProperties t, + SnapiTypeWithProperties t, @Bind("$node") Node thisNode, @Cached(inline = false) @Cached.Exclusive KryoReadNode kryo) { boolean isSuccess = input.readBoolean(); if (isSuccess) { - Rql2TypeWithProperties successType = - (Rql2TypeWithProperties) t.cloneAndRemoveProp(new Rql2IsTryableTypeProperty()); + SnapiTypeWithProperties successType = + (SnapiTypeWithProperties) t.cloneAndRemoveProp(new SnapiIsTryableTypeProperty()); return kryo.execute(thisNode, input, successType); } else { String error = input.readString(); @@ -72,13 +72,13 @@ static Object doTryable( static Object doNullable( Node node, Input input, - Rql2TypeWithProperties t, + SnapiTypeWithProperties t, @Bind("$node") Node thisNode, @Cached(inline = false) @Cached.Exclusive KryoReadNode kryo) { boolean isDefined = input.readBoolean(); if (isDefined) { - Rql2TypeWithProperties innerType = - (Rql2TypeWithProperties) t.cloneAndRemoveProp(new Rql2IsNullableTypeProperty()); + SnapiTypeWithProperties innerType = + (SnapiTypeWithProperties) t.cloneAndRemoveProp(new SnapiIsNullableTypeProperty()); return kryo.execute(thisNode, input, innerType); } else { return NullObject.INSTANCE; @@ -90,11 +90,11 @@ static Object doNullable( static ObjectList doList( Node node, Input input, - Rql2TypeWithProperties t, + SnapiTypeWithProperties t, @Bind("$node") Node thisNode, @Cached(inline = false) @Cached.Exclusive KryoReadNode kryo) { - Rql2ListType listType = (Rql2ListType) t; - Rql2TypeWithProperties innerType = (Rql2TypeWithProperties) listType.innerType(); + SnapiListType listType = (SnapiListType) t; + SnapiTypeWithProperties innerType = (SnapiTypeWithProperties) listType.innerType(); int size = input.readInt(); Object[] values = new Object[size]; for (int i = 0; i < size; i++) { @@ -108,11 +108,11 @@ static ObjectList doList( static Object doIterable( Node node, Input input, - Rql2TypeWithProperties t, + SnapiTypeWithProperties t, @Bind("$node") Node thisNode, @Cached(inline = false) @Cached.Exclusive KryoReadNode kryo) { - Rql2IterableType iterableType = (Rql2IterableType) t; - Rql2TypeWithProperties innerType = (Rql2TypeWithProperties) iterableType.innerType(); + SnapiIterableType iterableType = (SnapiIterableType) t; + SnapiTypeWithProperties innerType = (SnapiTypeWithProperties) iterableType.innerType(); int size = input.readInt(); Object[] values = new Object[size]; for (int i = 0; i < size; i++) { @@ -137,8 +137,8 @@ public static KryoReadNode[] createKryoRead(int size) { return kryoRead; } - public static boolean hasDuplicateKeys(Rql2RecordType t) { - Vector atts = t.atts(); + public static boolean hasDuplicateKeys(SnapiRecordType t) { + Vector atts = t.atts(); List list = new ArrayList<>(); for (int i = 0; i < atts.size(); i++) { list.add(atts.apply(i).idn()); @@ -146,8 +146,8 @@ public static boolean hasDuplicateKeys(Rql2RecordType t) { return list.size() != list.stream().distinct().count(); } - public static Rql2Language getRql2Language(Node node) { - return Rql2Language.get(node); + public static SnapiLanguage getSnapiLanguage(Node node) { + return SnapiLanguage.get(node); } @Specialization(guards = {"isRecordKind(t)"}) @@ -155,17 +155,17 @@ public static Rql2Language getRql2Language(Node node) { static Object doRecord( Node node, Input input, - Rql2RecordType t, + SnapiRecordType t, @Bind("$node") Node thisNode, @Cached(value = "hasDuplicateKeys(t)", allowUncached = true) boolean hasDuplicateKeys, - @Cached(value = "getRql2Language(thisNode)", allowUncached = true) Rql2Language language, + @Cached(value = "getSnapiLanguage(thisNode)", allowUncached = true) SnapiLanguage language, @Cached(value = "createAddProps(t.atts().size())", allowUncached = true) RecordNodes.AddPropNode[] addPropNode, @Cached(value = "addPropNode.length", allowUncached = true) int size, @Cached(value = "createKryoRead(size)", allowUncached = true) KryoReadNode[] kryo) { Object record = language.createPureRecord(); for (int i = 0; i < size; i++) { - Rql2TypeWithProperties attType = getTipe(t, i); + SnapiTypeWithProperties attType = getTipe(t, i); Object value = kryo[i].execute(thisNode, input, attType); addPropNode[i].execute(thisNode, record, getIdn(t, i), value, hasDuplicateKeys); } @@ -173,18 +173,18 @@ static Object doRecord( } @CompilerDirectives.TruffleBoundary - public static Rql2TypeWithProperties getTipe(Rql2RecordType t, int index) { - return (Rql2TypeWithProperties) t.atts().apply(index).tipe(); + public static SnapiTypeWithProperties getTipe(SnapiRecordType t, int index) { + return (SnapiTypeWithProperties) t.atts().apply(index).tipe(); } @CompilerDirectives.TruffleBoundary - public static String getIdn(Rql2RecordType t, int index) { + public static String getIdn(SnapiRecordType t, int index) { return t.atts().apply(index).idn(); } @Specialization(guards = {"isIntervalKind(t)"}) @CompilerDirectives.TruffleBoundary - static IntervalObject doInterval(Node node, Input input, Rql2TypeWithProperties t) { + static IntervalObject doInterval(Node node, Input input, SnapiTypeWithProperties t) { int years = input.readInt(); int months = input.readInt(); int weeks = input.readInt(); @@ -198,7 +198,7 @@ static IntervalObject doInterval(Node node, Input input, Rql2TypeWithProperties @Specialization(guards = {"isTimeKind(t)"}) @CompilerDirectives.TruffleBoundary - static TimeObject doTime(Node node, Input input, Rql2TypeWithProperties t) { + static TimeObject doTime(Node node, Input input, SnapiTypeWithProperties t) { int hours = input.readInt(); int minutes = input.readInt(); int seconds = input.readInt(); @@ -209,7 +209,7 @@ static TimeObject doTime(Node node, Input input, Rql2TypeWithProperties t) { @Specialization(guards = {"isDateKind(t)"}) @CompilerDirectives.TruffleBoundary - static DateObject doDate(Node node, Input input, Rql2TypeWithProperties t) { + static DateObject doDate(Node node, Input input, SnapiTypeWithProperties t) { int year = input.readInt(); int month = input.readInt(); int day = input.readInt(); @@ -218,7 +218,7 @@ static DateObject doDate(Node node, Input input, Rql2TypeWithProperties t) { @Specialization(guards = {"isTimestampKind(t)"}) @CompilerDirectives.TruffleBoundary - static TimestampObject doTimestamp(Node node, Input input, Rql2TypeWithProperties t) { + static TimestampObject doTimestamp(Node node, Input input, SnapiTypeWithProperties t) { int year = input.readInt(); int month = input.readInt(); int day = input.readInt(); @@ -239,55 +239,55 @@ static TimestampObject doTimestamp(Node node, Input input, Rql2TypeWithPropertie @Specialization(guards = {"isBooleanKind(t)"}) @CompilerDirectives.TruffleBoundary - static boolean doBoolean(Node node, Input input, Rql2TypeWithProperties t) { + static boolean doBoolean(Node node, Input input, SnapiTypeWithProperties t) { return input.readBoolean(); } @Specialization(guards = {"isStringKind(t)"}) @CompilerDirectives.TruffleBoundary - static String doString(Node node, Input input, Rql2TypeWithProperties t) { + static String doString(Node node, Input input, SnapiTypeWithProperties t) { return input.readString(); } @Specialization(guards = {"isDecimalKind(t)"}) @CompilerDirectives.TruffleBoundary - static DecimalObject doDecimal(Node node, Input input, Rql2TypeWithProperties t) { + static DecimalObject doDecimal(Node node, Input input, SnapiTypeWithProperties t) { return new DecimalObject(new BigDecimal(input.readString())); } @Specialization(guards = {"isDoubleKind(t)"}) @CompilerDirectives.TruffleBoundary - static double doDouble(Node node, Input input, Rql2TypeWithProperties t) { + static double doDouble(Node node, Input input, SnapiTypeWithProperties t) { return input.readDouble(); } @Specialization(guards = {"isFloatKind(t)"}) @CompilerDirectives.TruffleBoundary - static float doFloat(Node node, Input input, Rql2TypeWithProperties t) { + static float doFloat(Node node, Input input, SnapiTypeWithProperties t) { return input.readFloat(); } @Specialization(guards = {"isLongKind(t)"}) @CompilerDirectives.TruffleBoundary - static long doLong(Node node, Input input, Rql2TypeWithProperties t) { + static long doLong(Node node, Input input, SnapiTypeWithProperties t) { return input.readLong(); } @Specialization(guards = {"isIntKind(t)"}) @CompilerDirectives.TruffleBoundary - static int doInt(Node node, Input input, Rql2TypeWithProperties t) { + static int doInt(Node node, Input input, SnapiTypeWithProperties t) { return input.readInt(); } @Specialization(guards = {"isShortKind(t)"}) @CompilerDirectives.TruffleBoundary - static short doShort(Node node, Input input, Rql2TypeWithProperties t) { + static short doShort(Node node, Input input, SnapiTypeWithProperties t) { return input.readShort(); } @Specialization(guards = {"isByteKind(t)"}) @CompilerDirectives.TruffleBoundary - static byte doByte(Node node, Input input, Rql2TypeWithProperties t) { + static byte doByte(Node node, Input input, SnapiTypeWithProperties t) { return input.readByte(); } } @@ -298,18 +298,18 @@ static byte doByte(Node node, Input input, Rql2TypeWithProperties t) { @GenerateInline public abstract static class KryoWriteNode extends Node { - private static final Rql2TypeProperty isTryable = new Rql2IsTryableTypeProperty(); - private static final Rql2TypeProperty isNullable = new Rql2IsNullableTypeProperty(); + private static final SnapiTypeProperty isTryable = new SnapiIsTryableTypeProperty(); + private static final SnapiTypeProperty isNullable = new SnapiIsNullableTypeProperty(); public abstract void execute( - Node node, Output output, Rql2TypeWithProperties type, Object maybeTryable); + Node node, Output output, SnapiTypeWithProperties type, Object maybeTryable); @Specialization(guards = "isTryable(type)") @CompilerDirectives.TruffleBoundary static void doTryable( Node node, Output output, - Rql2TypeWithProperties type, + SnapiTypeWithProperties type, Object maybeTryable, @Bind("$node") Node thisNode, @Cached TryableNullableNodes.IsErrorNode isErrorNode, @@ -320,7 +320,7 @@ static void doTryable( kryo.execute( thisNode, output, - (Rql2TypeWithProperties) type.cloneAndRemoveProp(isTryable), + (SnapiTypeWithProperties) type.cloneAndRemoveProp(isTryable), maybeTryable); } else { ErrorObject error = (ErrorObject) maybeTryable; @@ -333,7 +333,7 @@ static void doTryable( static void doNullable( Node node, Output output, - Rql2TypeWithProperties type, + SnapiTypeWithProperties type, Object maybeOption, @Bind("$node") Node thisNode, @Cached TryableNullableNodes.IsNullNode isNullNode, @@ -344,7 +344,7 @@ static void doNullable( kryo.execute( thisNode, output, - (Rql2TypeWithProperties) type.cloneAndRemoveProp(isNullable), + (SnapiTypeWithProperties) type.cloneAndRemoveProp(isNullable), maybeOption); } } @@ -354,7 +354,7 @@ static void doNullable( static void doList( Node node, Output output, - Rql2TypeWithProperties type, + SnapiTypeWithProperties type, Object o, @Bind("$node") Node thisNode, @Cached ListNodes.SizeNode sizeNode, @@ -362,8 +362,8 @@ static void doList( @Cached(inline = false) @Cached.Exclusive KryoWriteNode kryo) { int size = (int) sizeNode.execute(thisNode, o); output.writeInt(size); - Rql2TypeWithProperties elementType = - (Rql2TypeWithProperties) ((Rql2ListType) type).innerType(); + SnapiTypeWithProperties elementType = + (SnapiTypeWithProperties) ((SnapiListType) type).innerType(); for (int i = 0; i < size; i++) { Object item = getNode.execute(thisNode, o, i); kryo.execute(thisNode, output, elementType, item); @@ -375,7 +375,7 @@ static void doList( static void doIterable( Node node, Output output, - Rql2TypeWithProperties type, + SnapiTypeWithProperties type, Object o, @Bind("$node") Node thisNode, @Cached GeneratorNodes.GeneratorInitNode generatorInitNode, @@ -384,8 +384,8 @@ static void doIterable( @Cached GeneratorNodes.GeneratorCloseNode generatorCloseNode, @Cached(inline = false) @Cached.Exclusive KryoWriteNode kryo, @Cached(inline = false) IterableNodes.GetGeneratorNode getGeneratorNode) { - Rql2TypeWithProperties elementType = - (Rql2TypeWithProperties) ((Rql2IterableType) type).innerType(); + SnapiTypeWithProperties elementType = + (SnapiTypeWithProperties) ((SnapiIterableType) type).innerType(); Object generator = getGeneratorNode.execute(thisNode, o); try { generatorInitNode.execute(thisNode, generator); @@ -424,7 +424,7 @@ public static KryoWriteNode[] createKryoWrite(int size) { static void doRecord( Node node, Output output, - Rql2RecordType type, + SnapiRecordType type, Object o, @Bind("$node") Node thisNode, @Cached RecordNodes.GetKeysNode getKeysNode, @@ -441,13 +441,13 @@ static void doRecord( } @CompilerDirectives.TruffleBoundary - public static Rql2TypeWithProperties getTipe(Rql2RecordType t, int index) { - return (Rql2TypeWithProperties) t.atts().apply(index).tipe(); + public static SnapiTypeWithProperties getTipe(SnapiRecordType t, int index) { + return (SnapiTypeWithProperties) t.atts().apply(index).tipe(); } @Specialization(guards = {"isDateKind(type)"}) @CompilerDirectives.TruffleBoundary - static void doDate(Node node, Output output, Rql2TypeWithProperties type, DateObject o) { + static void doDate(Node node, Output output, SnapiTypeWithProperties type, DateObject o) { LocalDate date = o.getDate(); output.writeInt(date.getYear()); output.writeInt(date.getMonthValue()); @@ -456,7 +456,7 @@ static void doDate(Node node, Output output, Rql2TypeWithProperties type, DateOb @Specialization(guards = {"isTimeKind(type)"}) @CompilerDirectives.TruffleBoundary - static void doTime(Node node, Output output, Rql2TypeWithProperties type, TimeObject o) { + static void doTime(Node node, Output output, SnapiTypeWithProperties type, TimeObject o) { LocalTime time = o.getTime(); output.writeInt(time.getHour()); output.writeInt(time.getMinute()); @@ -467,7 +467,7 @@ static void doTime(Node node, Output output, Rql2TypeWithProperties type, TimeOb @Specialization(guards = {"isTimestampKind(type)"}) @CompilerDirectives.TruffleBoundary static void doTimestamp( - Node node, Output output, Rql2TypeWithProperties type, TimestampObject o) { + Node node, Output output, SnapiTypeWithProperties type, TimestampObject o) { LocalDateTime timestamp = o.getTimestamp(); output.writeInt(timestamp.getYear()); output.writeInt(timestamp.getMonthValue()); @@ -481,7 +481,7 @@ static void doTimestamp( @Specialization(guards = {"isIntervalKind(type)"}) @CompilerDirectives.TruffleBoundary static void doInterval( - Node node, Output output, Rql2TypeWithProperties type, IntervalObject o) { + Node node, Output output, SnapiTypeWithProperties type, IntervalObject o) { output.writeInt(o.getYears()); output.writeInt(o.getMonths()); output.writeInt(o.getWeeks()); @@ -494,55 +494,55 @@ static void doInterval( @Specialization(guards = {"isByteKind(type)"}) @CompilerDirectives.TruffleBoundary - static void doByte(Node node, Output output, Rql2TypeWithProperties type, byte o) { + static void doByte(Node node, Output output, SnapiTypeWithProperties type, byte o) { output.writeByte(o); } @Specialization(guards = {"isShortKind(type)"}) @CompilerDirectives.TruffleBoundary - static void doShort(Node node, Output output, Rql2TypeWithProperties type, short o) { + static void doShort(Node node, Output output, SnapiTypeWithProperties type, short o) { output.writeShort(o); } @Specialization(guards = {"isIntKind(type)"}) @CompilerDirectives.TruffleBoundary - static void doInt(Node node, Output output, Rql2TypeWithProperties type, int o) { + static void doInt(Node node, Output output, SnapiTypeWithProperties type, int o) { output.writeInt(o); } @Specialization(guards = {"isLongKind(type)"}) @CompilerDirectives.TruffleBoundary - static void doLong(Node node, Output output, Rql2TypeWithProperties type, long o) { + static void doLong(Node node, Output output, SnapiTypeWithProperties type, long o) { output.writeLong(o); } @Specialization(guards = {"isFloatKind(type)"}) @CompilerDirectives.TruffleBoundary - static void doFloat(Node node, Output output, Rql2TypeWithProperties type, float o) { + static void doFloat(Node node, Output output, SnapiTypeWithProperties type, float o) { output.writeFloat(o); } @Specialization @CompilerDirectives.TruffleBoundary - static void doDouble(Node node, Output output, Rql2TypeWithProperties type, double o) { + static void doDouble(Node node, Output output, SnapiTypeWithProperties type, double o) { output.writeDouble(o); } @Specialization @CompilerDirectives.TruffleBoundary - static void doDecimal(Node node, Output output, Rql2TypeWithProperties type, DecimalObject o) { + static void doDecimal(Node node, Output output, SnapiTypeWithProperties type, DecimalObject o) { output.writeString(o.getBigDecimal().toString()); } @Specialization @CompilerDirectives.TruffleBoundary - static void doString(Node node, Output output, Rql2TypeWithProperties type, String o) { + static void doString(Node node, Output output, SnapiTypeWithProperties type, String o) { output.writeString(o); } @Specialization @CompilerDirectives.TruffleBoundary - static void doBool(Node node, Output output, Rql2TypeWithProperties type, boolean o) { + static void doBool(Node node, Output output, SnapiTypeWithProperties type, boolean o) { output.writeBoolean(o); } } diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/or/OrObject.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/or/OrObject.java index b48462fd5..0a9184f58 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/or/OrObject.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/or/OrObject.java @@ -17,7 +17,7 @@ import com.oracle.truffle.api.library.CachedLibrary; import com.oracle.truffle.api.library.ExportLibrary; import com.oracle.truffle.api.library.ExportMessage; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.runtime.list.StringList; @ExportLibrary(InteropLibrary.class) @@ -45,7 +45,7 @@ boolean hasLanguage() { @ExportMessage Class> getLanguage() { - return Rql2Language.class; + return SnapiLanguage.class; } @ExportMessage diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/primitives/DateObject.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/primitives/DateObject.java index cfb591fd3..7c8727f5f 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/primitives/DateObject.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/primitives/DateObject.java @@ -20,7 +20,7 @@ import com.oracle.truffle.api.interop.TruffleObject; import com.oracle.truffle.api.library.ExportLibrary; import com.oracle.truffle.api.library.ExportMessage; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import java.time.LocalDate; @ExportLibrary(InteropLibrary.class) @@ -57,7 +57,7 @@ boolean hasLanguage() { @ExportMessage Class> getLanguage() { - return Rql2Language.class; + return SnapiLanguage.class; } @ExportMessage diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/primitives/DecimalObject.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/primitives/DecimalObject.java index f23dbf195..b72adc605 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/primitives/DecimalObject.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/primitives/DecimalObject.java @@ -18,7 +18,7 @@ import com.oracle.truffle.api.interop.TruffleObject; import com.oracle.truffle.api.library.ExportLibrary; import com.oracle.truffle.api.library.ExportMessage; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import java.math.BigDecimal; @ExportLibrary(InteropLibrary.class) @@ -40,7 +40,7 @@ final boolean hasLanguage() { @ExportMessage final Class> getLanguage() { - return Rql2Language.class; + return SnapiLanguage.class; } @ExportMessage diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/primitives/LocationObject.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/primitives/LocationObject.java index 26d512fcb..e4ae35205 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/primitives/LocationObject.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/primitives/LocationObject.java @@ -19,8 +19,8 @@ import com.oracle.truffle.api.interop.UnsupportedMessageException; import com.oracle.truffle.api.library.ExportLibrary; import com.oracle.truffle.api.library.ExportMessage; -import com.rawlabs.snapi.frontend.rql2.extensions.LocationDescription; -import com.rawlabs.snapi.frontend.rql2.extensions.LocationDescription$; +import com.rawlabs.snapi.frontend.snapi.extensions.LocationDescription; +import com.rawlabs.snapi.frontend.snapi.extensions.LocationDescription$; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; import com.rawlabs.utils.sources.api.Location; import com.rawlabs.utils.sources.bytestream.api.ByteStreamLocation; diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/record/DuplicateKeyRecord.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/record/DuplicateKeyRecord.java index 1525326e8..9837a4982 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/record/DuplicateKeyRecord.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/record/DuplicateKeyRecord.java @@ -25,7 +25,7 @@ import com.oracle.truffle.api.object.DynamicObject; import com.oracle.truffle.api.object.Shape; import com.rawlabs.compiler.utils.RecordFieldsNaming; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import java.util.Arrays; import java.util.Vector; @@ -95,7 +95,7 @@ boolean hasLanguage() { @ExportMessage Class> getLanguage() { - return Rql2Language.class; + return SnapiLanguage.class; } @ExportMessage diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/record/PureRecord.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/record/PureRecord.java index e97282802..c8bbb6179 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/record/PureRecord.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/record/PureRecord.java @@ -22,7 +22,7 @@ import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.object.DynamicObject; import com.oracle.truffle.api.object.Shape; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; @ExportLibrary(InteropLibrary.class) public class PureRecord extends DynamicObject implements TruffleObject { @@ -37,7 +37,7 @@ boolean hasLanguage() { @ExportMessage Class> getLanguage() { - return Rql2Language.class; + return SnapiLanguage.class; } @ExportMessage diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/record/PureRecordNodes.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/record/PureRecordNodes.java index 86fd91804..229e5dabf 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/record/PureRecordNodes.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/record/PureRecordNodes.java @@ -20,7 +20,7 @@ import com.oracle.truffle.api.nodes.NodeInfo; import com.oracle.truffle.api.nodes.UnexpectedResultException; import com.oracle.truffle.api.object.DynamicObjectLibrary; -import com.rawlabs.snapi.truffle.Rql2Language; +import com.rawlabs.snapi.truffle.SnapiLanguage; import com.rawlabs.snapi.truffle.ast.PropertyType; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleInternalErrorException; @@ -139,7 +139,7 @@ static Object exec( @Cached AddPropNode addPropNode, @Cached GetKeysNode getKeysNode, @Cached GetValueNode getValueNode) { - Rql2Language lang = Rql2Language.get(thisNode); + SnapiLanguage lang = SnapiLanguage.get(thisNode); PureRecord newRecord = lang.createPureRecord(); Object[] keys = getKeysNode.execute(thisNode, pureRecord); for (Object k : keys) { diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/utils/KryoFootPrint.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/utils/KryoFootPrint.java index 36f91fbf5..1799122c2 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/utils/KryoFootPrint.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/runtime/utils/KryoFootPrint.java @@ -13,52 +13,52 @@ package com.rawlabs.snapi.truffle.runtime.utils; import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; -import com.rawlabs.snapi.frontend.rql2.source.*; +import com.rawlabs.snapi.frontend.snapi.source.*; import com.rawlabs.snapi.truffle.runtime.exceptions.TruffleRuntimeException; import scala.collection.immutable.Vector; public class KryoFootPrint { - private static final Rql2TypeProperty nullable = new Rql2IsNullableTypeProperty(); - private static final Rql2TypeProperty tryable = new Rql2IsTryableTypeProperty(); + private static final SnapiTypeProperty nullable = new SnapiIsNullableTypeProperty(); + private static final SnapiTypeProperty tryable = new SnapiIsTryableTypeProperty(); @TruffleBoundary - public static int of(Rql2TypeWithProperties type) { + public static int of(SnapiTypeWithProperties type) { if (type.props().contains(tryable)) { - return 1 + of((Rql2TypeWithProperties) type.cloneAndRemoveProp(tryable)); + return 1 + of((SnapiTypeWithProperties) type.cloneAndRemoveProp(tryable)); } else if (type.props().contains(nullable)) { - return 1 + of((Rql2TypeWithProperties) type.cloneAndRemoveProp(nullable)); - } else if (type instanceof Rql2BoolType || type instanceof Rql2ByteType) { + return 1 + of((SnapiTypeWithProperties) type.cloneAndRemoveProp(nullable)); + } else if (type instanceof SnapiBoolType || type instanceof SnapiByteType) { return 1; - } else if (type instanceof Rql2ShortType) { + } else if (type instanceof SnapiShortType) { return 2; - } else if (type instanceof Rql2IntType || type instanceof Rql2FloatType) { + } else if (type instanceof SnapiIntType || type instanceof SnapiFloatType) { return 4; - } else if (type instanceof Rql2LongType || type instanceof Rql2DoubleType) { + } else if (type instanceof SnapiLongType || type instanceof SnapiDoubleType) { return 8; - } else if (type instanceof Rql2DecimalType) { + } else if (type instanceof SnapiDecimalType) { return 32; - } else if (type instanceof Rql2StringType) { + } else if (type instanceof SnapiStringType) { return 32; - } else if (type instanceof Rql2BinaryType) { + } else if (type instanceof SnapiBinaryType) { return 256; - } else if (type instanceof Rql2TimeType - || type instanceof Rql2IntervalType - || type instanceof Rql2DateType - || type instanceof Rql2TimestampType) { + } else if (type instanceof SnapiTimeType + || type instanceof SnapiIntervalType + || type instanceof SnapiDateType + || type instanceof SnapiTimestampType) { return 16; - } else if (type instanceof Rql2ListType) { - return 4 + 30 * of((Rql2TypeWithProperties) ((Rql2ListType) (type)).innerType()); - } else if (type instanceof Rql2IterableType) { + } else if (type instanceof SnapiListType) { + return 4 + 30 * of((SnapiTypeWithProperties) ((SnapiListType) (type)).innerType()); + } else if (type instanceof SnapiIterableType) { // same as ListType - return 4 + 30 * of((Rql2TypeWithProperties) ((Rql2IterableType) (type)).innerType()); - } else if (type instanceof Rql2UndefinedType) { + return 4 + 30 * of((SnapiTypeWithProperties) ((SnapiIterableType) (type)).innerType()); + } else if (type instanceof SnapiUndefinedType) { return 0; - } else if (type instanceof Rql2RecordType) { - Vector atts = ((Rql2RecordType) (type)).atts(); + } else if (type instanceof SnapiRecordType) { + Vector atts = ((SnapiRecordType) (type)).atts(); int n = atts.size(); int size = 0; - for (int i = 0; i < n; i++) size += of((Rql2TypeWithProperties) atts.apply(i).tipe()); + for (int i = 0; i < n; i++) size += of((SnapiTypeWithProperties) atts.apply(i).tipe()); return size; } else { throw new TruffleRuntimeException("Unknown type: " + type); diff --git a/snapi-truffle/src/main/java/module-info.java b/snapi-truffle/src/main/java/module-info.java index 401fcef38..b8a9f458e 100644 --- a/snapi-truffle/src/main/java/module-info.java +++ b/snapi-truffle/src/main/java/module-info.java @@ -10,7 +10,7 @@ * licenses/APL.txt. */ -import com.rawlabs.snapi.truffle.Rql2LanguageProvider; +import com.rawlabs.snapi.truffle.SnapiLanguageProvider; module raw.snapi.truffle { // Direct dependencies @@ -54,5 +54,5 @@ requires jul.to.slf4j; provides com.oracle.truffle.api.provider.TruffleLanguageProvider with - Rql2LanguageProvider; + SnapiLanguageProvider; }