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
Learn more about member selection
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  12. 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;

  13. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  14. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  15. 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;

  16. 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;

  17. 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;

  18. val isUnknown: (Decl) ⇒ Boolean

    Is this declaration unknown?

    Is this declaration unknown?

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

  19. 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

  20. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  21. final def notify(): Unit

    Definition Classes
    AnyRef
  22. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  23. 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; }

  24. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  25. 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();

  26. def toString(): String

    Definition Classes
    AnyRef → Any
  27. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped