Call
A call is the invocation of a function or method.
Related concepts: FunctionMethodReturn
Closest Wikipedia entry: Subroutine — In computer programming, a function (also procedure, method, subroutine, routine, or subprogram) is a callable unit of software logic that has a well-defined interface and behavior and can be invoked multiple times. Callable units provide a powerful programming tool. The primary purpose is to allow for the decomposition of a large and/or complicated problem into chunks that have relatively low cognitive load and to assign the chunks meaningful names (unless they are anonymous).
Misconceptions about Call52 documented Misconceptions
Check YourselfBaseCaseNotNeeded — Java
Recursive computations do not necessarily need a base caseBaseCaseNotNeeded — Scratch
Recursive computations do not necessarily need a base caseBaseCaseSelfRecursive — Java
The base case of a structural recursion consists of a recursive self-callCallNotStaticallyChecked — Java
A method invocation on a reference of a type that does not have that method won't compileCallOnPrimitive — Java
One can invoke a method on primitive valuesCallRequiresVariable — Java
One needs a variable to invoke a methodCallWithoutFrame — Java
A method invocation does not necessarily allocate a stack frameCallbackParametersInCaller — JavaScript
Parameters of a callback function may be written as parameters of the caller functionCallerFrameContainsCalleeFormal — Java
Stack frame of caller includes variables for callee's formal parametersCannotChainAttributeToObjectInstantiation — Python
Method calls, and attribute accesses in general, cannot be chained to a constructor invocation.CannotChainMemberAccesses — Java
Member accesses cannot be chained togetherCannotChainMemberToConstructor — Java
Method calls or field accesses cannot be chained to a constructor invocationChainedMethodsNotCalledFromOutside — Java
Chained methods are all called on the object at the beginning of the chainConstructorAllocates — Java
The constructor allocates the objectConstructorReturnsObject — Java
Constructors need to return objectsConstructorWithoutNew — Java
One can write the constructor name, without new, to instantiate a classDeferredReturn — Java
A return statement in the middle of a method doesn't return immediatelyDeferredReturn — Python
A return statement in the middle of a function doesn't return immediatelyFrameIsClassInstance — Java
A stack frame is the same as an instance of a classFunctionAsValueWithParentheses — JavaScript
To use a function as a value, one needs to have parentheses after its nameFunctionsCannotBeImmediatelyInvoked — JavaScript
Functions cannot be called in the expression in which they are definedInitCreates — Python
__init__ must create a new objectInitReturnsObject — Python
__init__ needs to return an objectInlineCallInExpressionTree — Java
The expression tree of an expression involving a call inlines the call's computation of the returned valueInterproceduralEdge — Java
In an intra-procedural control-flow graph, method call nodes point to the called methodNoCallOnStringLiteral — Java
One cannot invoke methods on String literalsNoFunctionCallsChaining — JavaScript
It is not allowed to chain function callsNoInsideMethodCallInConstructor — Java
It is foirbidden to call other methods on the same object while inside its constructorNoStringToString — Java
One cannot invoke toString() on a StringNumberOfParametersMatchArguments — JavaScript
Functions must be called with the same number of arguments as defined in their signatureObjectLabeledWithConstructorSignature — Java
In stack and heap diagrams, an object on the heap is labeled like a stack frame of a constructor callObjectsMustBeNamed — Java
A variable is needed to instantiate an objectObjectsMustBeNamed — Python
A variable is needed to instantiate an objectOutsideInFunctionNesting — Python
Nested function calls are invoked outside inOutsideInMethodNesting — Java
Nested method calls are invoked outside inParenthesesOnlyIfArgument — Java
() are optional for method calls without argumentsParenthesesOnlyIfArgument — Python
() are optional for function calls without argumentsRecursiveCallSiteNoReturn — Java
Tail-recursive call sites have no continuationReturnCall — Java
Return statements need () around the return valueReturnCall — Python
Return statements need () around the return valueReturnUnwindsMultipleFrames — Java
A return statement can unwind multiple call stack framesReturnUnwindsMultipleFrames — Python
A return statement can unwind multiple call stack framesRightToLeftChaining — Java
Chained accesses are invoked from right to leftRightToLeftChaining — Python
Chained accesses are invoked from right to leftSetTimeout0IsSynchronous — JavaScript
Scheduling the execution of a function after 0 milliseconds with setTimeout is equivalent to a synchronous callStackTraceIsCallHistory — Java
A stack trace is the sequence of previously called methodsStaticCallPolymorphic — Java
A static method call is dispatched polymorphically at runtime based on the argument typesStaticDispatch — Java
The method to be called is determined by the static typeStaticFrameInGlobals — Java
Stack frame of static method calls lives in the global memory areaSuperAlwaysHasParentheses — Java
To call a method on a superclass, parentheses are needed after the keyword superSuperNotFirstStatement — Java
super() can be called anywhere in the constructor of a subclassThisChildInCallExpression — Java
Instance method or constructor call nodes in expression trees have a child labeled "this"