RAD Studio (Common)
ContentsIndex
PreviousUpNext
Terminology for Generics

Terminology used to describe generics (parameterized types) is defined in this section.

Type parameterized type 
A type declaration which requires type parameters to be supplied in order to form an actual type.
'List<Item>' is a type parameterized type in the following code:
type
List<Item> = class
...
end;  
Parameterized type 
Same as type parameterized type.  
Type parameter 
A parameter declared in a parameterized type declaration or a method header in order to use as a type for another declaration inside its parameterized type declaration or method body. It will be bound to real type argument. Item is a type parameter in the following code:
type
List<Item> = class
...
end;  
Type argument 
A type used with type identifier in order to make instantiated type. In List<Integer>, if List is a parameterized type, Integer is a type argument.  
Instantiated type 
The combination of a parameterized type with a set of parameters.  
Constructed type 
Same as instantiated typed.  
Closed constructed type 
A constructed type having all its parameters resolved to actual types. List<Integer> is closed because integer is an actual type.  
Open constructed type 
A constructed type having at least one parameter that is a type parameter. If T is a type parameter of a containing class, List<T> is an open constructed type.  
Instantiation 
Compiler generates real instruction code for methods defined in parameterized types and real virtual method table for closed constructed type.
 
Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
What do you think about this topic? Send feedback!