class TypeChecker extends tessla.TypedTessla.IdentifierFactory with Translator[TypedSpecification]
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- TypeChecker
- Translator
- IdentifierFactory
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
- new TypeChecker(spec: FlatTessla.Specification)
Type Members
- type Env = Map[FlatTessla.Identifier, TypedTessla.Identifier]
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def abort(): Nothing
- Attributes
- protected
- Definition Classes
- Translator
- def abortOnError(): Unit
- Attributes
- protected
- Definition Classes
- Translator
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val boolType: TypedTessla.BuiltInType
- def checkLiftability(functionType: TypedTessla.FunctionType): Boolean
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def error(error: TesslaError): Unit
- Attributes
- protected
- Definition Classes
- Translator
- val errors: ArrayBuffer[TesslaError]
- Attributes
- protected
- Definition Classes
- Translator
- def findPredef(name: String, env: Env, loc: Location): TypedTessla.Identifier
- def findPredef(name: String, env: Env): TypedTessla.Identifier
- val floatType: TypedTessla.BuiltInType
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def identifierCounter: Long
- Attributes
- protected
- Definition Classes
- IdentifierFactory
- def insertInferredType(id: TypedTessla.Identifier, inferredType: TypedTessla.Type, loc: Location): Unit
- val intType: TypedTessla.BuiltInType
- def isBuiltIn(exp: FlatTessla.Expression): Boolean
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isLiftableMacro(exp: FlatTessla.Expression): Boolean
- def isSubtypeOrEqual(parent: TypedTessla.Type, child: TypedTessla.Type): Boolean
- def liftConstant(constant: TypedTessla.Identifier, defs: TypedTessla.Definitions, env: Env, loc: Location): TypedTessla.Identifier
- def liftFunctionType(functionType: TypedTessla.FunctionType): TypedTessla.FunctionType
- def makeIdentifier(name: String): TypedTessla.Identifier
- Attributes
- protected
- Definition Classes
- IdentifierFactory
- def makeIdentifier(): TypedTessla.Identifier
- Attributes
- protected
- Definition Classes
- IdentifierFactory
- def makeIdentifier(nameOpt: Option[String]): TypedTessla.Identifier
- Attributes
- protected
- Definition Classes
- IdentifierFactory
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def parameterTypes(mac: FlatTessla.Macro): Seq[(Option[RuntimeEvaluation], FlatTessla.Type)]
- def processTypeAnnotation(entry: FlatTessla.VariableEntry, env: Env): Unit
- def requiredEntries(defs: FlatTessla.Definitions, expression: FlatTessla.Expression): Seq[FlatTessla.VariableEntry]
- def requiredEntries(defs: FlatTessla.Definitions, entry: FlatTessla.VariableEntry): Seq[FlatTessla.VariableEntry]
Return all the entries that need to be type inferred before the current entry, i.e.
Return all the entries that need to be type inferred before the current entry, i.e. all the entries that are used by this entry and do not have an explicit type annotation.
- def streamType(t: TypedTessla.Type): TypedTessla.BuiltInType
- val stringType: TypedTessla.BuiltInType
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def translate(): Result[TypedSpecification]
- Definition Classes
- Translator
- def translateAnnotation(annotation: FlatTessla.Annotation): TypedTessla.Annotation
- def translateDefs(defs: FlatTessla.Definitions, parent: Option[TypedTessla.Definitions], parentEnv: Env): (TypedTessla.Definitions, Env)
- def translateDefsWithParents(defs: FlatTessla.Definitions): (TypedTessla.Definitions, Env)
- def translateEntry(entry: FlatTessla.VariableEntry, defs: TypedTessla.Definitions, env: Env): TypedTessla.VariableEntry
- def translateExpression(expression: FlatTessla.Expression, declaredType: Option[TypedTessla.Type], id: Option[TypedTessla.Identifier], defs: TypedTessla.Definitions, env: Env): (TypedTessla.Expression, TypedTessla.Type)
- def translateOutStream(stream: FlatTessla.OutStream, defs: TypedTessla.Definitions, env: Env): TypedTessla.OutStream
- def translateSpec(): TypedSpecification
- Definition Classes
- TypeChecker → Translator
- def translateType(typ: FlatTessla.Type, env: Env): TypedTessla.Type
- def tryWithDefault[R](default: => R)(body: => R): R
- Attributes
- protected
- Definition Classes
- Translator
- def typeSubst(expected: TypedTessla.Type, actual: TypedTessla.Type, typeParams: Set[TypedTessla.Identifier], substitutions: Map[TypedTessla.Identifier, TypedTessla.Type]): TypedTessla.Type
- def unwrapResult[T](result: Result[T]): T
- Attributes
- protected
- Definition Classes
- Translator
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def warn(loc: Location, message: String): Unit
- Attributes
- protected
- Definition Classes
- Translator
- def warn(diagnostic: Diagnostic): Unit
- Attributes
- protected
- Definition Classes
- Translator
- val warnings: ArrayBuffer[Diagnostic]
- Attributes
- protected
- Definition Classes
- Translator
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.