Packages

object CodeGenerator extends Logging

Linear Supertypes
Logging, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CodeGenerator
  2. Logging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final val DEFAULT_JVM_HUGE_METHOD_LIMIT: Int(8000)
  5. final val GENERATED_CLASS_SIZE_THRESHOLD: Int(1000000)
  6. final val JAVA_BOOLEAN: String("boolean")

    Name of Java primitive data type

  7. final val JAVA_BYTE: String("byte")
  8. final val JAVA_DOUBLE: String("double")
  9. final val JAVA_FLOAT: String("float")
  10. final val JAVA_INT: String("int")
  11. final val JAVA_LONG: String("long")
  12. final val JAVA_SHORT: String("short")
  13. final val MAX_JVM_CONSTANT_POOL_SIZE: Int(65535)
  14. final val MAX_JVM_METHOD_PARAMS_LENGTH: Int(255)
  15. final val MERGE_SPLIT_METHODS_THRESHOLD: Int(3)
  16. final val MUTABLESTATEARRAY_SIZE_LIMIT: Int(32768)
  17. final val OUTER_CLASS_VARIABLES_THRESHOLD: Int(10000)
  18. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  19. def boxedType(dt: DataType): String
  20. def boxedType(jt: String): String

    Returns the boxed type in Java.

  21. def calculateParamLength(params: Seq[Expression]): Int

    Returns the length of parameters for a Java method descriptor.

    Returns the length of parameters for a Java method descriptor. this contributes one unit and a parameter of type long or double contributes two units. Besides, for nullable parameter, we also need to pass a boolean parameter for the null status.

  22. def calculateParamLengthFromExprValues(params: Seq[ExprValue]): Int
  23. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  24. def compile(code: CodeAndComment): (GeneratedClass, ByteCodeStats)

    Compile the Java source code into a Java class, using Janino.

    Compile the Java source code into a Java class, using Janino.

    returns

    a pair of a generated class and the bytecode statistics of generated functions.

  25. def createArrayAssignment(dstArray: String, elementType: DataType, srcArray: String, dstArrayIndex: String, srcArrayIndex: String, needNullCheck: Boolean): String

    Generates assignment code for an ArrayData

    Generates assignment code for an ArrayData

    dstArray

    name of the array to be assigned

    elementType

    data type of the elements in destination and source arrays

    srcArray

    name of the array to be read

    dstArrayIndex

    an index variable to access each element of destination array

    srcArrayIndex

    an index variable to access each element of source array

    needNullCheck

    value which shows whether a nullcheck is required for the returning assignment

    returns

    code representing an assignment to each element of the ArrayData, which requires a pair of destination and source loop index variables

  26. def createArrayData(arrayName: String, elementType: DataType, numElements: String, additionalErrorMessage: String): String

    Generates code creating a UnsafeArrayData or GenericArrayData based on given parameters.

    Generates code creating a UnsafeArrayData or GenericArrayData based on given parameters.

    arrayName

    name of the array to create

    elementType

    data type of the elements in source array

    numElements

    code representing the number of elements the array should contain

    additionalErrorMessage

    string to include in the error message

    returns

    code representing the allocation of ArrayData

  27. def defaultValue(dt: DataType, typedNull: Boolean = false): String
  28. def defaultValue(jt: String, typedNull: Boolean): String

    Returns the representation of default value for a given Java Type.

    Returns the representation of default value for a given Java Type.

    jt

    the string name of the Java type

    typedNull

    if true, for null literals, return a typed (with a cast) version

  29. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  30. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  31. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  32. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  33. def getLocalInputVariableValues(ctx: CodegenContext, expr: Expression, subExprs: Map[Expression, SubExprEliminationState] = Map.empty): Set[VariableValue]

    Extracts all the input variables from references and subexpression elimination states for a given expr.

    Extracts all the input variables from references and subexpression elimination states for a given expr. This result will be used to split the generated code of expressions into multiple functions.

  34. def getValue(input: String, dataType: DataType, ordinal: String): String

    Returns the specialized code to access a value from inputRow at ordinal.

  35. def getValueFromVector(vector: String, dataType: DataType, rowId: String): String

    Returns the specialized code to access a value from a column vector for a given DataType.

  36. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  37. def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  38. def initializeLogIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  39. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  40. def isPrimitiveType(dt: DataType): Boolean
  41. def isPrimitiveType(jt: String): Boolean

    Returns true if a Java type is Java primitive primitive type

  42. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  43. def isValidParamLength(paramLength: Int): Boolean

    In Java, a method descriptor is valid only if it represents method parameters with a total length less than a pre-defined constant.

  44. def javaClass(dt: DataType): Class[_]
  45. def javaType(dt: DataType): String

    Returns the Java type for a DataType.

  46. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  47. def logDebug(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  48. def logDebug(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  49. def logError(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  50. def logError(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  51. def logInfo(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  52. def logInfo(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  53. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  54. def logTrace(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  55. def logTrace(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  56. def logWarning(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  57. def logWarning(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  58. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  59. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  60. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  61. def primitiveTypeName(dt: DataType): String
  62. def primitiveTypeName(jt: String): String

    Returns the name used in accessor and setter for a Java primitive type.

  63. val primitiveTypes: Seq[String]

    List of java primitive data types

  64. def setArrayElement(array: String, elementType: DataType, i: String, value: String, isNull: Option[String] = None): String

    Generates code of setter for an ArrayData.

  65. def setColumn(row: String, dataType: DataType, ordinal: Int, value: String): String

    Returns the code to update a column in Row for a given DataType.

  66. def setValue(vector: String, rowId: String, dataType: DataType, value: String): String

    Returns the specialized code to set a given value in a column vector for a given DataType.

  67. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  68. def toString(): String
    Definition Classes
    AnyRef → Any
  69. def typeName(clazz: Class[_]): String
  70. def updateColumn(vector: String, rowId: String, dataType: DataType, ev: ExprCode, nullable: Boolean): String

    Returns the specialized code to set a given value in a column vector for a given DataType that could potentially be nullable.

  71. def updateColumn(row: String, dataType: DataType, ordinal: Int, ev: ExprCode, nullable: Boolean, isVectorized: Boolean = false): String

    Update a column in MutableRow from ExprCode.

    Update a column in MutableRow from ExprCode.

    isVectorized

    True if the underlying row is of type ColumnarBatch.Row, false otherwise

  72. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  73. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  74. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped