All Downloads are FREE. Search and download functionalities are using the official Maven repository.

raw.compiler.rql2.errors.Errors.scala Maven / Gradle / Ivy

There is a newer version: 0.33.11
Show newest version
/*
 * 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 raw.compiler.rql2.errors

import raw.compiler.base.errors.ErrorCompilerMessage
import raw.compiler.base.source.{BaseNode, Type}

object KeyNotComparable {
  val message: String = "key is not comparable"
  val code = "keyNotComparable"
}
final case class KeyNotComparable(node: BaseNode) extends ErrorCompilerMessage {
  val code: String = KeyNotComparable.code
}

object ItemsNotComparable {
  val message: String = "items are not comparable"
  val code = "itemsNotComparable"
}
final case class ItemsNotComparable(node: BaseNode) extends ErrorCompilerMessage {
  val code: String = ItemsNotComparable.code
}

object CannotDetermineTypeOfParameter {
  val message: String = "cannot determine type of parameter"
  val code = "cannotDetermineTypeOfParameter"
}
final case class CannotDetermineTypeOfParameter(node: BaseNode) extends ErrorCompilerMessage {
  val code: String = CannotDetermineTypeOfParameter.code
}

object OutputTypeRequiredForRecursiveFunction {
  val message: String = "output type required for recursive function"
  val code = "outputTypeRequiredForRecursiveFunction"
}
final case class OutputTypeRequiredForRecursiveFunction(node: BaseNode) extends ErrorCompilerMessage {
  val code: String = OutputTypeRequiredForRecursiveFunction.code
}

object RepeatedOptionalArguments {
  val message: String = "repeated optional arguments"
  val code = "repeatedOptionalArguments"
}
final case class RepeatedOptionalArguments(node: BaseNode) extends ErrorCompilerMessage {
  val code: String = RepeatedOptionalArguments.code
}

object OrderSpecMustFollowOrderingFunction {
  val message: String = "order specification must follow each ordering key function"
  val code = "orderSpecMustFollowOrderingFunction"
}
final case class OrderSpecMustFollowOrderingFunction(node: BaseNode) extends ErrorCompilerMessage {
  val code: String = OrderSpecMustFollowOrderingFunction.code
}

object InvalidOrderSpec {
  val message: String = "invalid order specification"
  val code = "invalidOrderSpec"
}
final case class InvalidOrderSpec(node: BaseNode, spec: String) extends ErrorCompilerMessage {
  val code: String = InvalidOrderSpec.code
}

object PackageNotFound {
  val message: String = "package not found"
  val code = "packageNotFound"
}
final case class PackageNotFound(node: BaseNode) extends ErrorCompilerMessage {
  val code: String = PackageNotFound.code
}

object NamedParameterAfterOptionalParameter {
  val message: String = "mandatory parameters must be before optional parameters"
  val code = "namedParameterAfterOptionalParameter"
}
final case class NamedParameterAfterOptionalParameter(node: BaseNode) extends ErrorCompilerMessage {
  val code: String = NamedParameterAfterOptionalParameter.code
}

object MandatoryArgumentAfterOptionalArgument {
  val message: String = "mandatory arguments must be before optional arguments"
  val code = "mandatoryArgumentAfterOptionalArgument"
}
final case class MandatoryArgumentAfterOptionalArgument(node: BaseNode) extends ErrorCompilerMessage {
  val code: String = MandatoryArgumentAfterOptionalArgument.code
}

object InvalidType {
  val message: String = "invalid type"
  val code = "invalidType"
}
final case class InvalidType(node: BaseNode) extends ErrorCompilerMessage {
  val code: String = InvalidType.code
}

object RepeatedFieldNames {
  val message: String = "record has more than one field with the same name"
  val code = "repeatedFieldNames"
}
final case class RepeatedFieldNames(node: BaseNode, field: String) extends ErrorCompilerMessage {
  val code: String = RepeatedFieldNames.code
}

object FunctionOrMethodExpected {
  val message: String = "function or method expected"
  val code = "functionOrMethodExpected"
}
final case class FunctionOrMethodExpected(node: BaseNode, t: Type) extends ErrorCompilerMessage {
  val code: String = FunctionOrMethodExpected.code
}

object UnexpectedOptionalArgument {
  val message: String = "found unknown optional argument"
  val code = "unexpectedOptionalArgument"
}
final case class UnexpectedOptionalArgument(node: BaseNode) extends ErrorCompilerMessage {
  val code: String = UnexpectedOptionalArgument.code
}

object NoOptionalArgumentsExpected {
  val message: String = "no optional arguments expected"
  val code = "noOptionalArgumentsExpected"
}
final case class NoOptionalArgumentsExpected(node: BaseNode) extends ErrorCompilerMessage {
  val code: String = NoOptionalArgumentsExpected.code
}

object ExpectedTypeButGotExpression {
  val message: String = "expected type but got expression"
  val code = "expectedTypeButGotExpression"
}
final case class ExpectedTypeButGotExpression(node: BaseNode) extends ErrorCompilerMessage {
  val code: String = ExpectedTypeButGotExpression.code
}

object UnexpectedArguments {
  val message: String = "too many arguments found"
  val code = "unexpectedArguments"
}
final case class UnexpectedArguments(node: BaseNode) extends ErrorCompilerMessage {
  val code: String = UnexpectedArguments.code
}

object FailedToEvaluate {
  val message: String = "failed to evaluate"
  val code = "failedToEvaluate"
}
final case class FailedToEvaluate(node: BaseNode, optionalMessage: Option[String] = None) extends ErrorCompilerMessage {
  val code: String = FailedToEvaluate.code
}

object MandatoryArgumentsMissing {
  val message: String = "missing mandatory arguments"
  val code = "mandatoryArgumentsMissing"
}
final case class MandatoryArgumentsMissing(node: BaseNode, argsMissing: Seq[String]) extends ErrorCompilerMessage {
  val code: String = MandatoryArgumentsMissing.code
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy