Uses of Record Class
org.ek9lang.compiler.ir.data.CallDetails
Packages that use CallDetails
Package
Description
IR Instruction Classes - The instruction set for EK9 intermediate representation.
-
Uses of CallDetails in org.ek9lang.compiler.ir.instructions
Methods in org.ek9lang.compiler.ir.instructions with parameters of type CallDetailsModifier and TypeMethodDescriptionstatic CallInstrCallInstr.call(String result, DebugInfo debugInfo, CallDetails callDetails) Create method call with complete type information from resolved symbols: CALL result = object.method(args...)static CallInstrCallInstr.callStatic(String result, DebugInfo debugInfo, CallDetails callDetails) Create static method call with complete type information: CALL_STATIC result = Type.method(args...)static CallInstrCallInstr.callStatic(VariableDetails variableDetails, CallDetails callDetails) static CallInstrCallInstr.constructor(String result, DebugInfo debugInfo, CallDetails callDetails) Create constructor call with complete type information: CALL result = Type.<init>(args...)static CallInstrCallInstr.operator(String result, DebugInfo debugInfo, CallDetails callDetails) Create EK9 operator call with complete type information: CALL result = object._operatorMethod(args...) Common operators: _add, _sub, _eq, _lt, _addAss, _isSet, etc.static CallInstrCallInstr.operator(VariableDetails variableDetails, CallDetails callDetails) -
Uses of CallDetails in org.ek9lang.compiler.phase7.calls
Classes in org.ek9lang.compiler.phase7.calls that implement interfaces with type arguments of type CallDetailsModifier and TypeClassDescriptionfinal classProvides IR Call details for making a call to the EK9 Boolean type to call the _false() method.final classJust provides the IR Call details for making a call to the Ek9 Boolean type to call the _true() method.final classSupplies the call details to get a Boolean false value.Methods in org.ek9lang.compiler.phase7.calls that return CallDetailsModifier and TypeMethodDescriptionlhs._and(rhs)returning a Boolean.Create CallDetails for _isSet() call on the specified operand.CallDetailsBuilder.CallDetailsResult.callDetails()Returns the value of thecallDetailsrecord component.CallDetailsForOfFalse.get()The unary~on a Boolean, returning the inverted Boolean.lhs._or(rhs)returning a Boolean.Constructors in org.ek9lang.compiler.phase7.calls with parameters of type CallDetailsModifierConstructorDescriptionCallDetailsResult(CallDetails callDetails, List<IRInstr> allInstructions) Creates an instance of aCallDetailsResultrecord class. -
Uses of CallDetails in org.ek9lang.compiler.phase7.generation
Methods in org.ek9lang.compiler.phase7.generation with parameters of type CallDetailsModifier and TypeMethodDescriptionvoidIRInstructionBuilder.callStatic(String targetVariable, CallDetails callDetails) Create a static call instruction using current context.voidIRInstructionBuilder.callWithTarget(String targetVariable, CallDetails callDetails) Create a call instruction with target variable using current context. -
Uses of CallDetails in org.ek9lang.compiler.phase7.generator
Methods in org.ek9lang.compiler.phase7.generator that return CallDetailsModifier and TypeMethodDescriptionprotected abstract CallDetailsAbstractShortCircuitGenerator.getCallDetails(String lhsVariable, String rhsVariable) protected CallDetailsShortCircuitAndGenerator.getCallDetails(String lhsVariable, String rhsVariable) protected CallDetailsShortCircuitOrGenerator.getCallDetails(String lhsVariable, String rhsVariable) protected CallDetailsAbstractStreamStageGenerator.streamFunctionCall(FunctionSymbol fn, String funcInstanceVar, List<ISymbol> flowingTypes, List<String> argVars, String returnTypeName, DebugInfo debugInfo, List<IRInstr> setupInstructions) THE shared builder for a stream stage-function_callinvocation - used by every stage that invokes a resolved function on the flowing element(s): filter/reject and split predicates, map and tee mappers, uniq and group key-functions, and the join fold.Methods in org.ek9lang.compiler.phase7.generator with parameters of type CallDetailsModifier and TypeMethodDescription(package private) voidStreamEmissionEngine.bufferSortEmit(String sourceVar, String sourceTypeName, String hasNextMethod, String nextMethod, CallDetails closeCall, ISymbol bucketType, List<EK9Parser.StreamPartContext> preSortStages, EK9Parser.StreamPartContext sortStage, List<EK9Parser.StreamPartContext> postSortStages, TerminalSetup terminalSetup, DebugInfo debugInfo, List<IRInstr> instructions) (package private) IteratorSetupStreamPipelineMachinery.drainSourceToIterator(String sourceVar, String sourceTypeName, String hasNextMethod, String nextMethod, CallDetails closeCall, ISymbol bucketType, DebugInfo debugInfo, List<IRInstr> instructions) MATERIALISE a buffering value source (a GROUP/SPLIT tracker's hasNextGroup/nextGroup, or an async executor's hasNext/next) into a fresh raw EK9_LIST buffer and return an IteratorSetup over it. -
Uses of CallDetails in org.ek9lang.compiler.phase7.support
Methods in org.ek9lang.compiler.phase7.support that return CallDetailsModifier 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.ListBufferCalls.create()new org.ek9.lang::List()- an empty raw buffer typed as the List itself.new org.ek9.lang::List()where the buffer is immediately viewed asreturnTypeName- used where the drain target is declared at the collection type the stage produces rather than at the raw List.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.buffer.iterator()- iterate the drained buffer to emit downstream.buffer._pipe(item)- append one drained element.Methods in org.ek9lang.compiler.phase7.support that return types with arguments of type CallDetailsModifier and TypeMethodDescriptionstatic 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.