# Hierarchy For Package jif.types.principal

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - polyglot.types.TypeObject_c (implements polyglot.types.TypeObject)
    - jif.types.Param_c (implements jif.types.Param)
      - jif.types.principal.Principal_c (implements jif.types.principal.Principal)
        - jif.types.principal.BottomPrincipal_c (implements jif.types.principal.BottomPrincipal)
        - jif.types.principal.ConjunctivePrincipal_c (implements jif.types.principal.ConjunctivePrincipal)
        - jif.types.principal.DisjunctivePrincipal_c (implements jif.types.principal.DisjunctivePrincipal)
        - jif.types.principal.DynamicPrincipal_c (implements jif.types.principal.DynamicPrincipal)
        - jif.types.principal.ExternalPrincipal_c (implements jif.types.principal.ExternalPrincipal)
        - jif.types.principal.ParamPrincipal_c (implements jif.types.principal.ParamPrincipal)
        - jif.types.principal.TopPrincipal_c (implements jif.types.principal.TopPrincipal)
        - jif.types.principal.UnknownPrincipal_c (implements jif.types.principal.UnknownPrincipal)
        - jif.types.principal.VarPrincipal_c (implements jif.types.principal.VarPrincipal)

## Interface Hierarchy

- java.lang.Cloneable
  - polyglot.util.Copy<T>
    - polyglot.types.TypeObject (also extends java.io.Serializable)
      - jif.types.Param
        - jif.types.ActsForParam
          - jif.types.principal.Principal
            - jif.types.principal.BottomPrincipal
            - jif.types.principal.ConjunctivePrincipal
            - jif.types.principal.DisjunctivePrincipal
            - jif.types.principal.DynamicPrincipal
            - jif.types.principal.ExternalPrincipal
            - jif.types.principal.ParamPrincipal
            - jif.types.principal.TopPrincipal
            - jif.types.principal.UnknownPrincipal
            - jif.types.principal.VarPrincipal (also extends jif.types.label.Variable)
- java.io.Serializable
  - polyglot.types.TypeObject (also extends polyglot.util.Copy<T>)
    - jif.types.Param
      - jif.types.ActsForParam
        - jif.types.principal.Principal
          - jif.types.principal.BottomPrincipal
          - jif.types.principal.ConjunctivePrincipal
          - jif.types.principal.DisjunctivePrincipal
          - jif.types.principal.DynamicPrincipal
          - jif.types.principal.ExternalPrincipal
          - jif.types.principal.ParamPrincipal
          - jif.types.principal.TopPrincipal
          - jif.types.principal.UnknownPrincipal
          - jif.types.principal.VarPrincipal (also extends jif.types.label.Variable)
- jif.types.label.Variable
  - jif.types.principal.VarPrincipal (also extends jif.types.principal.Principal)