de.fosd.typechef

typesystem

package typesystem

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. typesystem
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. sealed abstract class AType extends AnyRef

  2. case class CAnonymousStruct(fields: ConditionalTypeMap, isUnion: Boolean = false) extends AType with Product with Serializable

  3. case class CArray(t: AType, length: Int = -1) extends AType with Product with Serializable

  4. sealed abstract class CBasicType extends AnyRef

  5. case class CBool() extends AType with Product with Serializable

  6. trait CBuiltIn extends CEnv with CTypes with CDeclTyping

    all compiler-specific built-in stuff

  7. case class CBuiltinVaList() extends AType with Product with Serializable

  8. case class CChar() extends CBasicType with Product with Serializable

  9. case class CCompound() extends AType with Product with Serializable

    CCompound is a workaround for initializers.

  10. trait CDeclTyping extends CTypes with CEnv with CTypeSystemInterface with CDeclUseInterface

    parsing types from declarations (top level declarations, parameters, etc)

  11. trait CDeclUse extends CDeclUseInterface with CEnv with CEnvCache

  12. trait CDeclUseInterface extends CEnv

  13. case class CDouble() extends AType with Product with Serializable

  14. trait CEnv extends AnyRef

    bundles all environments during type checking

  15. trait CEnvCache extends CTypeSystemInterface

  16. trait CExprTyping extends CTypes with CEnv with CDeclTyping with CTypeSystemInterface with CDeclUseInterface

    typing C expressions

  17. case class CFloat() extends AType with Product with Serializable

  18. class CFunction extends AType

  19. case class CIgnore() extends AType with Product with Serializable

    CIgnore is a type for stuff we currently do not want to check it can be cast to anything and is not considered an error

  20. case class CInt() extends CBasicType with Product with Serializable

  21. case class CInt128() extends CBasicType with Product with Serializable

  22. case class CLong() extends CBasicType with Product with Serializable

  23. case class CLongDouble() extends AType with Product with Serializable

  24. case class CLongLong() extends CBasicType with Product with Serializable

  25. trait COptionProvider extends AnyRef

  26. case class CPointer(t: AType) extends AType with Product with Serializable

  27. case class CShort() extends CBasicType with Product with Serializable

  28. abstract class CSignSpecifier extends AType

  29. case class CSignUnspecified(b: CBasicType) extends CSignSpecifier with Product with Serializable

  30. case class CSigned(b: CBasicType) extends CSignSpecifier with Product with Serializable

  31. case class CStruct(s: String, isUnion: Boolean = false) extends AType with Product with Serializable

    struct and union are handled in the same construct but distinguished with a flag

  32. case class CType(atype: AType, isObject: Boolean, isVolatile: Boolean, isConstant: Boolean) extends Product with Serializable

    Missing from used formalization:

  33. trait CTypeCache extends CTypeSystemInterface

  34. trait CTypeEnv extends CTypes with CTypeSystemInterface with CEnv with CDeclTyping

  35. trait CTypeSystem extends CTypes with CEnv with CDeclTyping with CTypeEnv with CExprTyping with CBuiltIn with CDeclUseInterface

    checks an AST (from CParser) for type errors (especially dangling references)

  36. class CTypeSystemFrontend extends CTypeSystem with CInferInterface

    checks an AST (from CParser) for type errors (especially dangling references)

  37. trait CTypeSystemInterface extends CEnv

    hooks that other analysis can override to collect/cache their own information

  38. trait CTypes extends COptionProvider

    helper functions

  39. case class CUnknown(msg: String = "") extends AType with Product with Serializable

    errors

  40. case class CUnsigned(b: CBasicType) extends CSignSpecifier with Product with Serializable

  41. case class CVarArgs() extends AType with Product with Serializable

  42. case class CVoid() extends AType with Product with Serializable

  43. case class CZero() extends AType with Product with Serializable

    zero is a special type for the constant 0 that is all: a function and an integer and a pointer

  44. abstract class ConditionalCMap[T] extends AnyRef

    map from names to ASTs with their conditional types (or other conditional information)

  45. class ConditionalTypeMap extends ConditionalCMap[CType]

    maintains a map from names to types a name may be mapped to alternative types with different feature expressions

  46. class ConditionalVarEnv extends ConditionalCMap[(CType, DeclarationKind, Int, Linkage)]

    storing the following information per variable:

  47. type DeclUseMap = IdentityIdHashMap

  48. sealed trait DeclarationKind extends AnyRef

  49. trait ICTypeSysOptions extends AnyRef

    Options for the type system (what is supposed to be checked, what should issue errors or warnings)

  50. case class IdentityIdHashMap(iIdHashMap: IdentityHashMap[Id, List[Id]]) extends Iterable[(Id, List[Id])] with Product with Serializable

    Wrapper case class for IdentityHashMap as java's IdentityHashMap allows get(Anyref)

  51. sealed trait Linkage extends AnyRef

  52. trait LinuxDefaultOptions extends ICTypeSysOptions

  53. type UseDeclMap = IdentityIdHashMap

Value Members

  1. object CFunction

  2. object CObj

  3. object CType extends Serializable

    xml reader

  4. object CUndefined extends CUnknown

  5. object ExternalLinkage extends Linkage

  6. object InternalLinkage extends Linkage

  7. object KDeclaration extends DeclarationKind

  8. object KDefinition extends DeclarationKind

  9. object KEnumVar extends DeclarationKind

  10. object KParameter extends DeclarationKind

  11. object LinuxDefaultOptions extends LinuxDefaultOptions

  12. object NoLinkage extends Linkage

  13. package linker

Inherited from AnyRef

Inherited from Any

Ungrouped