模块  jdk.jshell
软件包  jdk.jshell

Interface SourceCodeAnalysis.SnippetWrapper

  • Enclosing class:
    SourceCodeAnalysis

    public static interface SourceCodeAnalysis.SnippetWrapper
    将Java源代码片段包装到有效的顶级Java源代码中。 包装将始终是导入或包含顶级的合成类。 如果生成了一个合成类,它将由package和import声明继续,并且可能包含合成类成员。

    除了映射表单之外,该接口还提供上下文和位置映射信息。

    • 方法详细信息

      • source

        String source()
        返回包装的输入。 对于wrappers(String) ,这是输入中的代码段的来源。 N变量的变量声明将映射到N包装器,源分离。

        对于wrapper(Snippet) ,这是Snippet.source()

        结果
        与包装器对应的输入源。
      • wrapped

        String wrapped()
        返回包装source()的Java类定义,如果是导入,则返回导入源。

        如果输入不是有效的Snippet,则这将不是有效的类/导入定义。

        源可以被划分并映射到包装的源内的不同位置。

        结果
        源代码包含在顶级Java代码中
      • fullClassName

        String fullClassName()
        返回wrapped()类的完全限定类名。 对于错误输入,返回最佳猜测。
        结果
        合成包装类的名称; 如果是导入,则不定义名称
      • sourceToWrappedPosition

        int sourceToWrappedPosition​(int pos)
        将源中的字符位置映射到包装内的字符位置。
        参数
        pos - 在 source()的职位
        结果
        对应的位置在 wrapped()
      • wrappedToSourcePosition

        int wrappedToSourcePosition​(int pos)
        在源中包含到字符位置内的字符位置。
        参数
        pos - 在 wrapped()的职位
        结果
        对应的位置在 source()