Class DSLSupport

java.lang.Object
com.oracle.truffle.api.dsl.DSLSupport

public abstract class DSLSupport extends Object
APIs to support share code in generated code. APIs in this class are aggressively deprecated and removed in this class.
Since:
23.0
  • Method Details

    • lookupEnumConstants

      public static <T extends Enum<?>> T[] lookupEnumConstants(Class<T> c)
      Looks up shared enum constants for DSL generated code. This avoids unnecessary enum arrays in the heap when the DSL creates constants with enum values to avoid the memory overhead of calling the values() method of enum classes.
      Since:
      23.0
    • maybeInsert

      public static <T extends NodeInterface> T maybeInsert(Node node, T o)
      Inserts a node if a NodeInterface dynamically implements Node. Intended for generated code only.
      Since:
      23.0
    • maybeInsert

      public static <T extends NodeInterface> T[] maybeInsert(Node node, T[] o)
      Inserts a node array if a NodeInterface[] dynamically implements Node[]. Intended for generated code only.
      Since:
      23.0
    • assertIdempotence

      public static boolean assertIdempotence(boolean guardValue)
      Helper method for DSL generated code to assert idempotence.
      Since:
      23.0
      See Also: