Spec-Zone.ru › OpenJDK 25

Интерфейс SourceCodeAnalysis.SnippetWrapper

Вмещающий класс:
SourceCodeAnalysis
public static interface SourceCodeAnalysis.SnippetWrapper
Обёртка фрагмента исходного кода Java в корректный исходный код Java верхнего уровня. Обёртка всегда представляет собой либо импорт, либо включает синтетический класс верхнего уровня. Если создаётся синтетический класс, перед ним размещаются объявления пакета и импорта; он может содержать синтетические члены класса.

Этот интерфейс, помимо отображённой формы, предоставляет сведения о контексте и сопоставлении позиций.

Начиная с:
9

Краткое описание методов

Модификатор и тип Метод Описание
String fullClassName()
Возвращает полное имя класса wrapped().
Snippet.Kind kind()
Возвращает Snippet.Kind для source().
String source()
Возвращает обёрнутый входной текст.
int sourceToWrappedPosition(int pos)
Сопоставляет позицию символа в исходном тексте с позицией символа в обёрнутом тексте.
String wrapped()
Возвращает определение класса Java, оборачивающее source(), либо, если это импорт, исходный текст импорта.
int wrappedToSourcePosition(int pos)
Сопоставляет позицию символа в обёрнутом тексте с позицией символа в исходном тексте.

Подробное описание методов

source

String source()
Возвращает обёрнутый входной текст. Для wrappers(String) это исходный текст фрагмента внутри входного текста. Объявление переменной из N переменных будет сопоставлено с N обёртками, для которых исходный текст будет разделён.

Для wrapper(Snippet) это Snippet.source().

Возвращает:
исходный текст входных данных, соответствующий обёртке.

wrapped

String wrapped()
Возвращает определение класса Java, оборачивающее source(), либо, если это импорт, исходный текст импорта.

Если входные данные не являются допустимым Snippet, результат не будет допустимым определением класса или импорта.

Исходный текст может быть разделён и сопоставлен с разными позициями в обёрнутом тексте.

Возвращает:
исходный текст, обёрнутый в код Java верхнего уровня

fullClassName

String fullClassName()
Возвращает полное имя класса wrapped(). Для некорректных входных данных возвращается наиболее вероятный вариант.
Возвращает:
имя синтетического класса-обёртки; если это импорт, имя не определено

kind

Snippet.Kind kind()
Возвращает Snippet.Kind для source().
Возвращает:
перечисление, представляющее общий тип фрагмента.

sourceToWrappedPosition

int sourceToWrappedPosition(int pos)
Сопоставляет позицию символа в исходном тексте с позицией символа в обёрнутом тексте.
Параметры:
pos — позиция в source()
Возвращает:
соответствующая позиция в wrapped()

wrappedToSourcePosition

int wrappedToSourcePosition(int pos)
Сопоставляет позицию символа в обёрнутом тексте с позицией символа в исходном тексте.
Параметры:
pos — позиция в wrapped()
Возвращает:
соответствующая позиция в source()

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/jdk.jshell/jdk/jshell/SourceCodeAnalysis.SnippetWrapper.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API