jif.ast

## Interface DowngradeExpr

- All Superinterfaces:
    java.lang.Cloneable, polyglot.util.Copy<polyglot.ast.Node>, polyglot.ast.Expr, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.ast.Prefix, polyglot.ast.Receiver, java.io.Serializable, polyglot.ast.Term, polyglot.ast.Typed
  All Known Subinterfaces:
    DeclassifyExpr, EndorseExpr
  All Known Implementing Classes:
    DeclassifyExpr_c, DowngradeExpr_c, EndorseExpr_c

      public interface DowngradeExpr
      extends polyglot.ast.Expr

  Superinterface for downgrade expressions.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface polyglot.util.Copy

      `polyglot.util.Copy.Util`

    - ### Nested classes/interfaces inherited from interface polyglot.ast.Term

      `polyglot.ast.Term.Instance`

  - ### Field Summary

    - ### Fields inherited from interface polyglot.ast.Term

      `ENTRY, EXIT`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `LabelNode` | `bound()`
    `DowngradeExpr` | `bound(LabelNode label)`
    `java.lang.String` | `downgradeKind()`
    `polyglot.ast.Expr` | `expr()`
    `DowngradeExpr` | `expr(polyglot.ast.Expr expr)`
    `LabelNode` | `label()`
    `DowngradeExpr` | `label(LabelNode label)`

    - ### Methods inherited from interface polyglot.ast.Expr

      `constantValue, constantValueSet, isConstant, precedence, printSubExpr, printSubExpr, type`

    - ### Methods inherited from interface polyglot.ast.Node

      `del, del, dump, error, error, ext, ext, ext, ext, isDisambiguated, isTypeChecked, position, position, visit, visitEdge`

    - ### Methods inherited from interface polyglot.ast.NodeOps

      `addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, extRewrite, extRewriteEnter, extRewriteOverride, lang, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChild, visitChildren, visitList`

    - ### Methods inherited from interface polyglot.util.Copy

      `copy`

    - ### Methods inherited from interface polyglot.ast.Typed

      `type`

    - ### Methods inherited from interface polyglot.ast.Term

      `exceptions, exceptions, reachable, reachable`

- - ### Method Detail

    - #### label

          LabelNode label()

    - #### label

          DowngradeExpr label(LabelNode label)

    - #### expr

          polyglot.ast.Expr expr()

    - #### expr

          DowngradeExpr expr(polyglot.ast.Expr expr)

    - #### bound

          LabelNode bound()

    - #### bound

          DowngradeExpr bound(LabelNode label)

    - #### downgradeKind

          java.lang.String downgradeKind()

      Returns:
        Name of the kind of downgrade, e.g. "declassify" or "endorse"