Когда найден идентификатор переменной, он
разрешается в следующем порядке :
- локальные переменные (объявленная последней имеет приоритет)
- члены класса (текущий класс и унаследованные поля)
- статические поля текущего класса
- конструкторы перечислений (enum), которые были либо декларированы в этом файле, либо импортированы.
enum Axis {
x;
y;
z;
}
class C {
static var x : Int;
var x : Int;
function new() {
// x - переменная член this.x
{
var x : String;
// x - локальная переменная
}
}
function f(x : String) {
// x - параметр функции
}
static function f() {
// x - статическая переменная класса
}
}
class D {
function new() {
// x - x Axis
}
}
Идентификаторы типов разрешаются в соответствии с импортированными пакетами, как будет объяснено позже.