Record Class AspectProxyDetails
java.lang.Object
java.lang.Record
org.ek9lang.compiler.ir.data.AspectProxyDetails
- Record Components:
baseTypeFqn- The 'as' type FQN — determines which methods to proxydelegateTypeFqn- Concrete type FQN — for JoinPoint componentFqndelegateTemp- Variable holding pre-constructed delegate instanceaspectTemps- Variables holding pre-constructed aspect instances (in registration order)aspectTypeFqns- FQNs of aspect types (for field declarations in proxy class)proxyMethods- Method signatures to proxy (populated from base type during IR generation)resultVariable- Variable to store the proxy instancesourceToken- Source location for deterministic proxy namingdebugInfo- Debug information for source mapping
public record AspectProxyDetails(String baseTypeFqn, String delegateTypeFqn, String delegateTemp, List<String> aspectTemps, List<String> aspectTypeFqns, List<AspectProxyDetails.ProxyMethodInfo> proxyMethods, String resultVariable, IToken sourceToken, DebugInfo debugInfo)
extends Record
Details for the CREATE_ASPECT_PROXY IR instruction.
Contains all information needed by backends to generate a synthetic proxy class that wraps a delegate component with ordered aspect instances for AOP weaving.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordMethod signature information for proxy class generation. -
Constructor Summary
ConstructorsConstructorDescriptionAspectProxyDetails(String baseTypeFqn, String delegateTypeFqn, String delegateTemp, List<String> aspectTemps, List<String> aspectTypeFqns, List<AspectProxyDetails.ProxyMethodInfo> proxyMethods, String resultVariable, IToken sourceToken, DebugInfo debugInfo) Create aspect proxy details with validation. -
Method Summary
Modifier and TypeMethodDescriptionintGet the number of aspects.Returns the value of theaspectTempsrecord component.Returns the value of theaspectTypeFqnsrecord component.Returns the value of thebaseTypeFqnrecord component.Returns the value of thedebugInforecord component.Returns the value of thedelegateTemprecord component.Returns the value of thedelegateTypeFqnrecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.Returns the value of theproxyMethodsrecord component.Returns the value of theresultVariablerecord component.Returns the value of thesourceTokenrecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
AspectProxyDetails
public AspectProxyDetails(String baseTypeFqn, String delegateTypeFqn, String delegateTemp, List<String> aspectTemps, List<String> aspectTypeFqns, List<AspectProxyDetails.ProxyMethodInfo> proxyMethods, String resultVariable, IToken sourceToken, DebugInfo debugInfo) Create aspect proxy details with validation.
-
-
Method Details
-
aspectCount
public int aspectCount()Get the number of aspects. -
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). -
baseTypeFqn
Returns the value of thebaseTypeFqnrecord component.- Returns:
- the value of the
baseTypeFqnrecord component
-
delegateTypeFqn
Returns the value of thedelegateTypeFqnrecord component.- Returns:
- the value of the
delegateTypeFqnrecord component
-
delegateTemp
Returns the value of thedelegateTemprecord component.- Returns:
- the value of the
delegateTemprecord component
-
aspectTemps
Returns the value of theaspectTempsrecord component.- Returns:
- the value of the
aspectTempsrecord component
-
aspectTypeFqns
Returns the value of theaspectTypeFqnsrecord component.- Returns:
- the value of the
aspectTypeFqnsrecord component
-
proxyMethods
Returns the value of theproxyMethodsrecord component.- Returns:
- the value of the
proxyMethodsrecord component
-
resultVariable
Returns the value of theresultVariablerecord component.- Returns:
- the value of the
resultVariablerecord component
-
sourceToken
Returns the value of thesourceTokenrecord component.- Returns:
- the value of the
sourceTokenrecord component
-
debugInfo
-