o

org.kiama.example.picojava

TypeAnalyser

object TypeAnalyser

Source
TypeAnalyser.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TypeAnalyser
  2. AnyRef
  3. 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 def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  10. val hasCycleOnSuperclassChain: (ClassDecl) ⇒ Boolean

    True if there is a cycle somewhere on the superclass chain, false otherwise.

    True if there is a cycle somewhere on the superclass chain, false otherwise.

    syn lazy boolean ClassDecl.hasCycleOnSuperclassChain() circular [true]; eq ClassDecl.hasCycleOnSuperclassChain() { if (hasSuperclass() && getSuperclass().decl() instanceof ClassDecl) //First, check if there is a superclass return ((ClassDecl) getSuperclass().decl()).hasCycleOnSuperclassChain(); else return false;

  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. val isSubtypeOf: (TypeDecl) ⇒ (TypeDecl) ⇒ Boolean

    Is this declaration for a type that is a subtype of the provided type.

    Is this declaration for a type that is a subtype of the provided type. The unknown type is a subtype of all types.

    syn lazy boolean TypeDecl.isSubtypeOf(TypeDecl typeDecl); eq TypeDecl.isSubtypeOf(TypeDecl typeDecl) = typeDecl.isSuperTypeOf(this); eq ClassDecl.isSubtypeOf(TypeDecl typeDecl) = typeDecl.isSuperTypeOfClassDecl(this); eq UnknownDecl.isSubtypeOf(TypeDecl typeDecl) = true;

  14. val isSuperTypeOf: (TypeDecl) ⇒ (TypeDecl) ⇒ Boolean

    Is this declaration for a type that is a supertype of the provided type? The unknown type is a supertype of all types.

    Is this declaration for a type that is a supertype of the provided type? The unknown type is a supertype of all types.

    syn lazy boolean TypeDecl.isSuperTypeOf(TypeDecl typeDecl) = this == typeDecl; eq UnknownDecl.isSuperTypeOf(TypeDecl typeDecl) = true;

  15. val isSuperTypeOfClassDecl: (ClassDecl) ⇒ (TypeDecl) ⇒ Boolean

    Is this declaration for a type that is a supertype of the provided class type? The unknown type is a supertype of all class types.

    Is this declaration for a type that is a supertype of the provided class type? The unknown type is a supertype of all class types.

    syn lazy boolean TypeDecl.isSuperTypeOfClassDecl(ClassDecl typeDecl) = this == typeDecl || typeDecl.superClass() != null && typeDecl.superClass().isSubtypeOf(this); eq UnknownDecl.isSuperTypeOfClassDecl(ClassDecl typeDecl) = true;

  16. val isUnknown: (Decl) ⇒ Boolean

    Is this declaration unknown?

    Is this declaration unknown?

    syn boolean Decl.isUnknown() = false; eq UnknownDecl.isUnknown() = true;

  17. val isValue: (Exp) ⇒ Boolean

    Is this expression a value or not?

    Is this expression a value or not?

    syn boolean Exp.isValue(); eq Exp.isValue() = true; eq Dot.isValue() = getIdnUse().isValue(); eq TypeUse.isValue() = false; Note! If we did not have the rewrites below, the above equation would have to instead be written as: eq IdnUse.isValue() = !(decl() instanceof TypeDecl)

    FIXME: currently using the "without rewrites" version

  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  21. val superClass: (ClassDecl) ⇒ ClassDecl

    Return the superclass of a class (or null if none).

    Return the superclass of a class (or null if none).

    syn lazy ClassDecl ClassDecl.superClass(); eq ClassDecl.superClass() { if (hasSuperclass() && getSuperclass().decl() instanceof ClassDecl && !hasCycleOnSuperclassChain()) return (ClassDecl) getSuperclass().decl(); else return null; }

  22. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  23. val tipe: (PicoJavaTree) ⇒ TypeDecl

    Return the type of a construct or unknownDecl if none.

    Return the type of a construct or unknownDecl if none.

    syn lazy TypeDecl Decl.type(); syn lazy TypeDecl Exp.type(); eq TypeDecl.type() = this; eq VarDecl.type() = getType().decl().type(); eq IdnUse.type() = decl().type(); eq Dot.type() = getIdnUse().type(); eq BooleanLiteral.type() = booleanType();

  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped