Package com.io7m.cedarbridge.schema.ast
Record Class CBASTTypeVariant
java.lang.Object
java.lang.Record
com.io7m.cedarbridge.schema.ast.CBASTTypeVariant
- Record Components:
userData- The user datalexical- The lexical infoname- The type namedocumentations- The documentation elementsparameters- The type parameterscases- The variant cases
- All Implemented Interfaces:
CBASTDeclarationType,CBASTElementType,CBASTTypeDeclarationType,com.io7m.jlexing.core.LexicalType<URI>
public record CBASTTypeVariant(CBASTMutableUserData userData, com.io7m.jlexing.core.LexicalPosition<URI> lexical, CBASTTypeName name, List<CBASTDocumentation> documentations, List<CBASTTypeParameterName> parameters, List<CBASTTypeVariantCase> cases)
extends Record
implements CBASTTypeDeclarationType
A variant declaration.
-
Constructor Summary
ConstructorsConstructorDescriptionCBASTTypeVariant(CBASTMutableUserData userData, com.io7m.jlexing.core.LexicalPosition<URI> lexical, CBASTTypeName name, List<CBASTDocumentation> documentations, List<CBASTTypeParameterName> parameters, List<CBASTTypeVariantCase> cases) A variant declaration. -
Method Summary
Modifier and TypeMethodDescriptioncases()Returns the value of thecasesrecord component.Returns the value of thedocumentationsrecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.com.io7m.jlexing.core.LexicalPosition<URI> lexical()Returns the value of thelexicalrecord component.name()Returns the value of thenamerecord component.Returns the value of theparametersrecord component.final StringtoString()Returns a string representation of this record class.userData()Returns the value of theuserDatarecord component.
-
Constructor Details
-
CBASTTypeVariant
public CBASTTypeVariant(CBASTMutableUserData userData, com.io7m.jlexing.core.LexicalPosition<URI> lexical, CBASTTypeName name, List<CBASTDocumentation> documentations, List<CBASTTypeParameterName> parameters, List<CBASTTypeVariantCase> cases) A variant declaration.- Parameters:
userData- The user datalexical- The lexical infoname- The type namedocumentations- The documentation elementsparameters- The type parameterscases- The variant cases
-
-
Method Details
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
userData
Returns the value of theuserDatarecord component.- Specified by:
userDatain interfaceCBASTElementType- Returns:
- the value of the
userDatarecord component
-
lexical
Returns the value of thelexicalrecord component.- Specified by:
lexicalin interfaceCBASTElementType- Specified by:
lexicalin interfacecom.io7m.jlexing.core.LexicalType<URI>- Returns:
- the value of the
lexicalrecord component
-
name
Returns the value of thenamerecord component.- Specified by:
namein interfaceCBASTTypeDeclarationType- Returns:
- the value of the
namerecord component
-
documentations
Returns the value of thedocumentationsrecord component.- Specified by:
documentationsin interfaceCBASTTypeDeclarationType- Returns:
- the value of the
documentationsrecord component
-
parameters
Returns the value of theparametersrecord component.- Specified by:
parametersin interfaceCBASTTypeDeclarationType- Returns:
- the value of the
parametersrecord component
-
cases
Returns the value of thecasesrecord component.- Returns:
- the value of the
casesrecord component
-