Package icyllis.arc3d.compiler.tree

# Class Modifiers

java.lang.Object
icyllis.arc3d.compiler.tree.Node
icyllis.arc3d.compiler.tree.Modifiers

public final class Modifiers extends Node
Represents a layout block and a set of modifier keywords (in, out, uniform, etc.) appearing before a variable or interface block declaration, as in:

     layout(location = 2) smooth in float2 v_TexCoord;
     layout(binding = 1, set = 0) uniform UniformBlock {
         float u_Radius;
     };

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class icyllis.arc3d.compiler.tree.Node

  `Node.ElementKind, Node.ExpressionKind, Node.StatementKind, Node.SymbolKind`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `kBuffer_Flag`
  `static final int`
  `kCoherent_Flag`
  `static final int`
  `kConst_Flag`
  `static final int`
  `kCount_Flag`
  `static final int`
  `kFlat_Flag`
  `static final int`
  `kIn_Flag`
  `static final int`
  `kInline_Flag`
  `static final int`
  `kInterpolation_Flags`
  `static final int`
  `kMemory_Flags`
  `static final int`
  `kNoInline_Flag`
  `static final int`
  `kNoPerspective_Flag`
  `static final int`
  `kOut_Flag`
  `static final int`
  `kPure_Flag`
  `static final int`
  `kReadOnly_Flag`
  `static final int`
  `kRestrict_Flag`
  `static final int`
  `kSmooth_Flag`
  `static final int`
  `kStorage_Flags`
  `static final int`
  `kSubroutine_Flag`
  `static final int`
  `kUniform_Flag`
  `static final int`
  `kVolatile_Flag`
  `static final int`
  `kWorkgroup_Flag`
  `static final int`
  `kWriteOnly_Flag`

  ### Fields inherited from class icyllis.arc3d.compiler.tree.Node

  `mPosition`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Modifiers(int position)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `accept(TreeVisitor visitor)`
  Visit this AST with a given visitor.
  `boolean`
  `checkFlags(Context context, int permittedFlags)`
  `boolean`
  `checkLayoutFlags(Context context, int permittedLayoutFlags)`
  `void`
  `clearFlag(int mask)`
  `void`
  `clearLayoutFlag(int mask)`
  `static String`
  `describeFlag(int flag)`
  `static String`
  `describeFlags(int flags)`
  `static String`
  `describeFlags(int flags, boolean padded)`
  `boolean`
  `equals(Object o)`
  `int`
  `flags()`
  `int`
  `hashCode()`
  `boolean`
  `isBuffer()`
  `boolean`
  `isConst()`
  `boolean`
  `isUniform()`
  `Layout`
  `layout()`
  `int`
  `layoutBuiltin()`
  `int`
  `layoutFlags()`
  `int`
  `layoutOffset()`
  `void`
  `setFlag(Context context, int mask, int pos)`
  `void`
  `setLayoutFlag(Context context, int mask, String name, int pos)`
  `String`
  `toString()`

  ### Methods inherited from class icyllis.arc3d.compiler.tree.Node

  `getEndOffset, getStartOffset`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### kSmooth_Flag

    public static final int kSmooth_Flag
    See Also:
      - Constant Field Values

  - ### kFlat_Flag

    public static final int kFlat_Flag
    See Also:
      - Constant Field Values

  - ### kNoPerspective_Flag

    public static final int kNoPerspective_Flag
    See Also:
      - Constant Field Values

  - ### kConst_Flag

    public static final int kConst_Flag
    See Also:
      - Constant Field Values

  - ### kUniform_Flag

    public static final int kUniform_Flag
    See Also:
      - Constant Field Values

  - ### kIn_Flag

    public static final int kIn_Flag
    See Also:
      - Constant Field Values

  - ### kOut_Flag

    public static final int kOut_Flag
    See Also:
      - Constant Field Values

  - ### kCoherent_Flag

    public static final int kCoherent_Flag
    See Also:
      - Constant Field Values

  - ### kVolatile_Flag

    public static final int kVolatile_Flag
    See Also:
      - Constant Field Values

  - ### kRestrict_Flag

    public static final int kRestrict_Flag
    See Also:
      - Constant Field Values

  - ### kReadOnly_Flag

    public static final int kReadOnly_Flag
    See Also:
      - Constant Field Values

  - ### kWriteOnly_Flag

    public static final int kWriteOnly_Flag
    See Also:
      - Constant Field Values

  - ### kBuffer_Flag

    public static final int kBuffer_Flag
    See Also:
      - Constant Field Values

  - ### kWorkgroup_Flag

    public static final int kWorkgroup_Flag
    See Also:
      - Constant Field Values

  - ### kSubroutine_Flag

    public static final int kSubroutine_Flag
    See Also:
      - Constant Field Values

  - ### kPure_Flag

    public static final int kPure_Flag
    See Also:
      - Constant Field Values

  - ### kInline_Flag

    public static final int kInline_Flag
    See Also:
      - Constant Field Values

  - ### kNoInline_Flag

    public static final int kNoInline_Flag
    See Also:
      - Constant Field Values

  - ### kCount_Flag

    public static final int kCount_Flag
    See Also:
      - Constant Field Values

  - ### kInterpolation_Flags

    public static final int kInterpolation_Flags
    See Also:
      - Constant Field Values

  - ### kMemory_Flags

    public static final int kMemory_Flags
    See Also:
      - Constant Field Values

  - ### kStorage_Flags

    public static final int kStorage_Flags
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### Modifiers

    public Modifiers(int position)

- ## Method Details

  - ### describeFlag

    public static String describeFlag(int flag)

  - ### layout

    public Layout layout()

  - ### layoutFlags

    public int layoutFlags()

  - ### setLayoutFlag

    public void setLayoutFlag(@Nonnull Context context, int mask, String name, int pos)

  - ### clearLayoutFlag

    public void clearLayoutFlag(int mask)

  - ### checkLayoutFlags

    public boolean checkLayoutFlags(@Nonnull Context context, int permittedLayoutFlags)

  - ### flags

    public int flags()

  - ### setFlag

    public void setFlag(@Nonnull Context context, int mask, int pos)

  - ### clearFlag

    public void clearFlag(int mask)

  - ### checkFlags

    public boolean checkFlags(@Nonnull Context context, int permittedFlags)

  - ### isConst

    public boolean isConst()

  - ### isUniform

    public boolean isUniform()

  - ### isBuffer

    public boolean isBuffer()

  - ### layoutOffset

    public int layoutOffset()

  - ### layoutBuiltin

    public int layoutBuiltin()

  - ### accept

    public boolean accept(@Nonnull TreeVisitor visitor)
    Description copied from class: `Node`
    Visit this AST with a given visitor.
    Specified by:
      `accept` in class `Node`
    Returns:
      true to stop recursion and propagate true up the stack, false to continue

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### equals

    public boolean equals(Object o)
    Overrides:
      `equals` in class `Object`

  - ### toString

    @Nonnull public String toString()
    Specified by:
      `toString` in class `Node`
    Returns:
      a string representation of this AST node

  - ### describeFlags

    public static String describeFlags(int flags)

  - ### describeFlags

    public static String describeFlags(int flags, boolean padded)