Uses of Record Class
org.ek9lang.compiler.ir.data.CallMetaDataDetails
Packages that use CallMetaDataDetails
Package
Description
IR Data Structures - Metadata and detail classes for IR instructions.
IR Support Utilities - Helper classes for IR generation and processing.
-
Uses of CallMetaDataDetails in org.ek9lang.compiler.ir.data
Methods in org.ek9lang.compiler.ir.data that return CallMetaDataDetailsModifier and TypeMethodDescriptionCallDetails.metaData()Returns the value of themetaDatarecord component.Constructors in org.ek9lang.compiler.ir.data with parameters of type CallMetaDataDetailsModifierConstructorDescriptionCallDetails(String targetObject, String targetTypeName, String methodName, List<String> parameterTypes, String returnTypeName, List<String> arguments, CallMetaDataDetails metaData, boolean isVirtualCall, boolean isTraitCall, boolean isExplicitTraitDefaultCall) Convenience constructor that defaults isExternTarget to true.CallDetails(String targetObject, String targetTypeName, String methodName, List<String> parameterTypes, String returnTypeName, List<String> arguments, CallMetaDataDetails metaData, boolean isVirtualCall, boolean isTraitCall, boolean isExplicitTraitDefaultCall, boolean isExternTarget) Creates an instance of aCallDetailsrecord class. -
Uses of CallMetaDataDetails in org.ek9lang.compiler.ir.support
Classes in org.ek9lang.compiler.ir.support that implement interfaces with type arguments of type CallMetaDataDetailsModifier and TypeClassDescriptionclassExtracts call metadata from symbols for use in IR generation.Methods in org.ek9lang.compiler.ir.support that return CallMetaDataDetailsModifier and TypeMethodDescription -
Uses of CallMetaDataDetails in org.ek9lang.compiler.phase7.calls
Methods in org.ek9lang.compiler.phase7.calls that return CallMetaDataDetailsModifier and TypeMethodDescriptionMetadata for a zero-argument call (operand._isSet(),resource._close()).ResolvemethodName(argumentTypes)ontargetTypeand read the metadata off the resolved callee.SynthesisedCallMetaData.forConstructor(ISymbol targetType, List<ISymbol> argumentTypes) Metadata for a CONSTRUCTOR call on the given type - the default constructor whenargumentTypesis empty, otherwise the matching overload (e.g.static CallMetaDataDetailsSynthesisedCallMetaData.forNamedOperatorOnly(String methodName) The honest metadata for a callee with NO target symbol available at all - the OperatorMap declaration where the name is a declared EK9 operator, otherwise no clause.SynthesisedCallMetaData.forSynthesisedCallee(ISymbol target, String methodName, List<ISymbol> argumentTypes) Metadata for a callee the COMPILER itself synthesised, where a symbol may legitimately not exist - returns null, meaning no metadata clause, when there is nothing measured to report.SynthesisedCallMetaData.forSynthesisedConstructor(ISymbol targetType, List<ISymbol> argumentTypes) A compiler-synthesised CONSTRUCTOR - seeSynthesisedCallMetaData.forSynthesisedCallee(ISymbol, String, List).static CallMetaDataDetailsSynthesisedCallMetaData.fromOperatorDeclaration(String methodName) THE OperatorMap-derived metadata for a declared EK9 operator - the second honest source, used when the target type carries no resolvable member for the callee. -
Uses of CallMetaDataDetails in org.ek9lang.compiler.phase7.support
Methods in org.ek9lang.compiler.phase7.support with parameters of type CallMetaDataDetailsModifier and TypeMethodDescriptionstatic CallDetailsCallDetailsFactory.call(String targetObject, String targetTypeName, String methodName, List<String> parameterTypes, String returnTypeName, List<String> arguments, CallMetaDataDetails metaData) A non-virtual, non-trait call tomethodNameontargetObject.static CallDetailsCallDetailsFactory.call(String targetObject, ISymbol targetType, String methodName, List<String> parameterTypes, String returnTypeName, List<String> arguments, CallMetaDataDetails metaData) The same call, but taking the target type as a SYMBOL so BOTH the emitted type name and the virtual-dispatch flag derive from it - they then cannot disagree.static CallDetailsCallDetailsFactory.constructorCall(String typeName, List<String> parameterTypes, List<String> arguments, CallMetaDataDetails metaData) A constructor call ontypeName: target object, target type and return type are alltypeNameand the method isIRConstants.INIT_METHOD.static CallDetailsCallDetailsFactory.defaultConstructorCall(String typeName, CallMetaDataDetails metaData) The no-argument default constructor call ontypeName.static CallDetailsCallDetailsFactory.functionCall(String functionInstanceVar, String functionTypeName, List<String> parameterTypes, String returnTypeName, List<String> arguments, CallMetaDataDetails metaData, boolean isDelegateCall) THE shared shape for invoking a function through its_callmethod - use this rather than deciding the dispatch flag at each of the three sites that emit one.static Optional<CallDetails> TextFactoryDispatch.redirectForTextBase(IScope constructorParentScope, String typeName, List<String> parameterTypes, List<String> argumentVariables, CallMetaDataDetails metaData) IfconstructorParentScopeis a TEXT base type, return the static_textFactoryCallDetailsto emit (viaCallInstr.callStatic) instead of a direct constructor call; otherwiseOptional.empty()and the caller emits a normal constructor call.