Call
A call is the invocation of a function or method.
Related concepts: FunctionMethodReturn
Closest Wikipedia entry: Subroutine
Misconceptions about Call47 documented Misconceptions
Check YourselfBaseCaseNotNeeded
Recursive computations do not necessarily need a base case
BaseCaseSelfRecursive
The base case of a structural recursion consists of a recursive self-call
CallNotStaticallyChecked
A method invocation on a reference of a type that does not have that method won't compile
CallOnPrimitive
One can invoke a method on primitive values
CallRequiresVariable
One needs a variable to invoke a method
CallWithoutFrame
A method invocation does not necessarily allocate a stack frame
CallerFrameContainsCalleeFormal
Stack frame of caller includes variables for callee's formal parameters
CannotChainMemberAccesses
Member accesses cannot be chained together
CannotChainMemberToConstructor
Method calls or field accesses cannot be chained to a constructor invocation
ChainedMethodsNotCalledFromOutside
Chained methods are all called on the object at the beginning of the chain
ConstructorAllocates
The constructor allocates the object
ConstructorReturnsObject
Constructors need to return objects
ConstructorWithoutNew
One can write the constructor name, without new, to instantiate a class
DeferredReturn
A return statement in the middle of a method doesn't return immediately
FrameIsClassInstance
A stack frame is the same as an instance of a class
NoCallOnStringLiteral
One cannot invoke methods on String literals
NoInsideMethodCallInConstructor
It is foirbidden to call other methods on the same object while inside its constructor
NoStringToString
One cannot invoke toString() on a String
ObjectsMustBeNamed
A variable is needed to instantiate an object
OutsideInMethodNesting
Nested method calls are invoked outside in
ParenthesesOnlyIfArgument
() are optional for method calls without arguments
RecursiveCallSiteNoReturn
Tail-recursive call sites of non-void methods need no return statement
ReturnCall
Return statements need () around the return value
ReturnUnwindsMultipleFrames
A return statement can unwind multiple call stack frames
RightToLeftChaining
Chained accesses are invoked from right to left
StackTraceIsCallHistory
A stack trace is the sequence of previously called methods
StaticCallPolymorphic
A static method call is dispatched polymorphically at runtime based on the argument types
StaticDispatch
The method to be called is determined by the static type
SuperAlwaysHasParentheses
To call a method on a superclass, parentheses are needed after the keyword super
SuperNotFirstStatement
super() can be called anywhere in the constructor of a subclass