Interface GlslTypeSpecifier
- All Superinterfaces:
GlslType
- All Known Implementing Classes:
GlslStructSpecifier,GlslTypeSpecifier.Array,GlslTypeSpecifier.BuiltinType,GlslTypeSpecifier.Name
public sealed interface GlslTypeSpecifier
extends GlslType
permits GlslStructSpecifier, GlslTypeSpecifier.Array, GlslTypeSpecifier.BuiltinType, GlslTypeSpecifier.Name
- Since:
- 1.0.0
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classAGlslTypeSpecifierarray.static enumBase built-in GLSL types.static final classAGlslTypeSpecifierreferring to a previously defined struct name. -
Method Summary
Modifier and TypeMethodDescriptionstatic GlslTypeSpecifierarray(GlslTypeSpecifier specifier, @Nullable GlslNode size) default GlslSpecifiedTypedefault GlslStructSpecifiergetName()default booleanisNamed()default booleanisStruct()static GlslTypeSpecifierstatic GlslStructSpecifierstruct(String name, Collection<GlslStructField> fields)
-
Method Details
-
getName
String getName()- Returns:
- The GLSL name of this type
-
isNamed
default boolean isNamed()- Returns:
- If this type is
GlslTypeSpecifier.Nameor anGlslTypeSpecifier.Arrayof Name
-
isStruct
default boolean isStruct()- Returns:
- If this type is
GlslStructSpecifieror anGlslTypeSpecifier.Arrayof GlslStructSpecifier
-
asStructSpecifier
- Throws:
IllegalStateException
-
named
-
array
-
struct
-
asSpecifiedType
- Specified by:
asSpecifiedTypein interfaceGlslType- Returns:
- This type represented as a specified type
-