3.5.5 Common Base Type
Given a set of multiple types, a common base type is a type which all types of the set unify against:
class Base {
public function new() { }
}
class Child1 extends Base { }
class Child2 extends Base { }
class Main {
static public function main() {
var a = [new Child1(), new Child2()];
$type(a); // Array<Base>
}
}
Although Base
is not mentioned, the Haxe Compiler manages to infer it as the common type of Child1
and Child2
. The Haxe Compiler employs this kind of unification in the following situations:
- array declarations
if
/else
- cases of a
switch