Module  jdk.jshell
软件包  jdk.jshell

Interface SourceCodeAnalysis.SnippetWrapper

  • Enclosing class:
    SourceCodeAnalysis


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

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

    • 方法详细信息

      • source

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

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

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

        String wrapped​()
        返回一个包含source()的Java类定义,如果导入是导入源。

        如果输入不是有效的代码段,则这不会是有效的类/导入定义。

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

        结果
        源码包装成顶级Java代码
      • fullClassName

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

        int sourceToWrappedPosition​(int pos)
        将字符位置在源文件中包含的字符位置。
        参数
        pos - 位置在 source()
        结果
        相应位置在 wrapped()
      • wrappedToSourcePosition

        int wrappedToSourcePosition​(int pos)
        将字符位置映射到源中的字符位置。
        参数
        pos - 位置在 wrapped()
        结果
        相应位置在 source()