package reflect

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

Type Members

  1. sealed trait Binding extends AnyRef

    A compiler binding.

    A compiler binding. Bindings store static type information that the compiler uses to perform type inference. Caustic has a relatively simple static type system. A type is a binding that may be the result of an expression. A simple type may be passed to or returned by a function or be used as a field of a struct. A record type may have fields. A built-in type is a compiler provided record and may represent either a primitive value or a collection of values. Programs may define four kinds of bindings. A variable binds a name to a type. A struct binds a name to a collection of fields. A function binds a name to a list of arguments and a return type all of simple type. A service binds a name to a collection of functions.

  2. sealed trait BuiltIn extends Record
  3. case class CFunction (name: String, args: List[Simple], returns: Simple) extends Type with Product with Serializable
  4. case class CList (value: Primitive) extends Collection with Product with Serializable
  5. case class CMap (key: Primitive, value: Primitive) extends Collection with Product with Serializable
  6. case class CPointer (to: Record) extends Simple with Product with Serializable
  7. case class CService (functions: Map[String, CFunction]) extends Binding with Product with Serializable
  8. case class CSet (value: Primitive) extends Collection with Product with Serializable
  9. case class CStruct (fields: Map[String, Simple]) extends Record with Product with Serializable
  10. case class CVariable (of: Simple) extends Binding with Product with Serializable
  11. sealed trait Collection extends BuiltIn
  12. sealed trait Primitive extends BuiltIn
  13. sealed trait Record extends Simple
  14. case class Result (of: Type, value: String) extends Product with Serializable

    A type-tagged value.

    A type-tagged value.

    of

    Type.

    value

    Code.

  15. sealed trait Simple extends Type
  16. sealed trait Type extends Binding
  17. class Universe extends AnyRef

    A collection of bindings.

Value Members

  1. def isAssignable(x: Type, y: Type): Boolean

  2. def isBoolean(x: Type): Boolean

  3. def isNumeric(x: Type): Boolean

  4. def isPassable(x: Seq[Type], y: Seq[Type]): Boolean

  5. def isPrimitive(x: Type): Boolean

  6. def lub(x: Type, y: Type): Type

    Returns the least upper bound of the specified types.

    Returns the least upper bound of the specified types.

    x

    A type.

    y

    Another type.

    returns

    Least upper bound.

  7. def lub(x: Primitive, y: Primitive): Primitive

    Returns the least upper bound of the specified primitive types.

    Returns the least upper bound of the specified primitive types.

    x

    A primitive.

    y

    Another primitive.

    returns

    Least upper bound.

  8. object CBoolean extends Primitive with Product with Serializable
  9. object CDouble extends Primitive with Product with Serializable
  10. object CInt extends Primitive with Product with Serializable
  11. object CNull extends Primitive with Product with Serializable
  12. object CString extends Primitive with Product with Serializable
  13. object CUnit extends Primitive with Product with Serializable
  14. object Universe

Inherited from AnyRef

Inherited from Any

Ungrouped