Record Class EfunSignature
java.lang.Object
java.lang.Record
io.github.protasm.jvmud.compiler.efun.EfunSignature
- Record Components:
symbol- function symbol containing the LPC-facing name and return typeparameterTypes- LPC parameter types for this overload
Describes the LPC-facing signature of an engine function.
The Symbol stores the function name and return type. The parameter list stores the
LPC types accepted by one concrete overload. JVMud overloads efuns by arity, so two signatures may
share a name when their parameter counts differ.
-
Constructor Summary
ConstructorsConstructorDescriptionEfunSignature(Symbol symbol, List<LPCType> parameterTypes) Creates an immutable signature. -
Method Summary
Modifier and TypeMethodDescriptionintarity()Returns the exact number of LPC arguments accepted by this overload.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.name()Returns the LPC-facing function name.Returns the value of theparameterTypesrecord component.Returns the LPC return type.symbol()Returns the value of thesymbolrecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
EfunSignature
-
-
Method Details
-
name
Returns the LPC-facing function name.- Returns:
- function name used in LPC calls and registry lookup
-
returnType
Returns the LPC return type.- Returns:
- return type advertised to semantic analysis and generated bytecode
-
arity
public int arity()Returns the exact number of LPC arguments accepted by this overload.- Returns:
- parameter count
-
toString
-
hashCode
-
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). -
symbol
-
parameterTypes
Returns the value of theparameterTypesrecord component.- Returns:
- the value of the
parameterTypesrecord component
-