Class Parser

  • All Implemented Interfaces:
    AutoCloseable

    public class Parser
    extends Object
    Parsers are stateful objects that can be assigned a language and used to produce a Tree based on some source code. Instances of this class can not be created without an initially set language.
    • Constructor Detail

      • Parser

        public Parser​(Language language)
        Parameters:
        language - The language used for parsing.
        Throws:
        NullPointerException - if the specified language is null
        UnsatisfiedLinkError - if the specified language has not been linked to the system library
    • Method Detail

      • close

        public void close()
        Delete the parser, freeing all the memory that it used.
        Specified by:
        close in interface AutoCloseable
      • setLanguage

        public void setLanguage​(Language language)
        Set the language that the parser should use for parsing.
        Parameters:
        language - The language used for parsing.
        Throws:
        NullPointerException - if the specified language is null
        UnsatisfiedLinkError - if the specified language has not been linked to the system library
      • parseString

        public Tree parseString​(String source)
                         throws UnsupportedEncodingException
        Use the parser to parse some source code and create a syntax tree.
        Parameters:
        source - The source code string to be parsed.
        Returns:
        A syntax tree matching the provided source.
        Throws:
        UnsupportedEncodingException - If the UTF-16LE character set is not supported
      • parseString

        public Tree parseString​(String source,
                                Tree oldTree)
                         throws UnsupportedEncodingException
        Use the parser to incrementally parse a changed source code string, reusing unchanged parts of the tree to speed up the process.
        Parameters:
        source - The source code string to be parsed.
        oldTree - The syntax tree before changes were made.
        Returns:
        A syntax tree matching the provided source.
        Throws:
        UnsupportedEncodingException - If the UTF-16LE character set is not supported
      • parseFile

        public Tree parseFile​(Path path)
                       throws IOException
        Use the parser to parse some source code found in a file at the specified path.
        Parameters:
        path - The path of the file to be parsed.
        Returns:
        A tree-sitter Tree matching the provided source.
        Throws:
        IOException - If an I/O error occurs reading from the file or a malformed or unmappable byte sequence is read.
        OutOfMemoryError - If the file is extremely large, for example larger than 2GB.
      • isNull

        public final boolean isNull()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object