Разрешенное поле / информация - что это значит? - PullRequest
3 голосов
/ 13 мая 2011

Я использую реализацию интерфейса IField. У меня проблема с пониманием «разрешенного поля» - что это значит? Там даже существует функция isResolved (), которая:

Возвращает, представляет ли это поле разрешенное поле. Если поле решено, его ключ содержит решено информация.

Что это значит? Есть ли какое-то второе значение слова «решено», которого я не могу найти ни в словаре, ни в Интернете?

Ответы [ 2 ]

0 голосов
/ 15 мая 2011

«Разрешено» относится к привязкам.Цитировать из javadoc org.eclipse.jdt.core.dom.IBinding

Привязка представляет именованный объект на языке Java.Мир привязок дает интегрированную картину структуры программы, если смотреть с точки зрения компилятора.«ключ» - это та уникальная информация.Вы можете найти немного больше информации о привязках в этом руководстве .

Связывания являются дорогостоящими и, следовательно, они не всегда «разрешаются», например, при создании AST с помощью org.eclipse.jdt..core.dom.ASTParser вы можете вызвать ASTParser # setResolveBindings (логическое значение), чтобы указать, требуется ли вам привязка или нет.Следовательно, функция isResolved () указывает, доступна ли информация о привязке или нет, если это так, то getKey () возвращает этот уникальный ключ.

0 голосов
/ 14 мая 2011

Resolved может означать «имеет разрешенный тип», т.е. поле с универсальным типом разрешается, когда известен тип времени выполнения

подсказка в некотором исходном коде jdt

ResolvedBinaryMethod : Handle representing a binary method that is resolved.
The uniqueKey contains the genericSignature of the resolved method. Use BindingKey to decode it.

Речь идет о родовой сигнатуре ... кажется, что "решено" имеет отношение к типу дженериков: -)

...