parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

MoKo 22.11.2015 01:08

Сначала надо искать метод в классе
Для начала надо вспомнить, что в парсере по сути нет разницы между методом и полем (с точки зрения поиска). Да, мы сейчас немного развели их для хеша и таблицы, но объекты не трогали. И Миша правильно пишет:
боюсь, что изменение приоритета приведёт к большому количеству вылезших несовместимостей.
Например с GET_DEFAULT и использующим его кодом придется проститься. :)

Текущее поведение в парсере с самого начала, в байткоде команда так и называется GET_ELEMENT_OR_OPERATOR.

Но я обычно не пишу в классах ^self и особо не страдаю от этого. Если кто себе мусорит в MAIN непонятными названиями, то он в общем сам себе Буратино. :) Что можно попробовать сделать - отселить операторы в отдельный namespace, чтобы уменьшить вероятность конфликта. Но если что-то писал свои операторы типа ^ifdef и пользовался ими в классах (в MAIN они понятно продолжат работать) - такой код сломается. Для совместимости можно например сделать так, что по умолчанию операторы будут жить в main, но опционально можно поменять имя класса операторов. Ну или просто не мусорить в MAIN. :)

Ну и в любом случае это не bug. :)