Идентификаторы

Когда найден идентификатор переменной, он разрешается в следующем порядке :
  • локальные переменные (объявленная последней имеет приоритет)
  • члены класса (текущий класс и унаследованные поля)
  • статические поля текущего класса
  • конструкторы перечислений (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
        }
    }
Идентификаторы типов разрешаются в соответствии с импортированными пакетами, как будет объяснено позже.