Class JavaParser

java.lang.Object
org.fife.ui.rsyntaxtextarea.parser.AbstractParser
org.fife.rsta.ac.java.JavaParser
All Implemented Interfaces:
org.fife.ui.rsyntaxtextarea.parser.Parser

public class JavaParser extends org.fife.ui.rsyntaxtextarea.parser.AbstractParser
Parses Java code in an RSyntaxTextArea.

Like all RSTA Parsers, a JavaParser instance is notified when the RSTA's text content changes. After a small delay, it will parse the content as Java code, building an AST and looking for any errors. When parsing is complete, a property change event of type PROPERTY_COMPILATION_UNIT is fired. Listeners can check the new value of the property for the CompilationUnit built that represents the source code in the text area. Note that the CompilationUnit may be incomplete if there were parsing/syntax errors (it will usually be complete "up to" the error in the content).

This parser cannot be shared amongst multiple instances of RSyntaxTextArea.

Please keep in mind that this class is a work-in-progress!

Version:
0.5
  • Field Details

    • PROPERTY_COMPILATION_UNIT

      public static final String PROPERTY_COMPILATION_UNIT
      The property change event that's fired when the document is re-parsed. Applications can listen for this property change and update themselves accordingly.
      See Also:
    • cu

      private CompilationUnit cu
    • support

      private PropertyChangeSupport support
    • result

      private org.fife.ui.rsyntaxtextarea.parser.DefaultParseResult result
  • Constructor Details

    • JavaParser

      public JavaParser(org.fife.ui.rsyntaxtextarea.RSyntaxTextArea textArea)
      Constructor.
      Parameters:
      textArea - The text area to parse.
  • Method Details

    • addNotices

      private void addNotices(org.fife.ui.rsyntaxtextarea.RSyntaxDocument doc)
      Adds all notices from the Java parser to the results object.
    • addPropertyChangeListener

      public void addPropertyChangeListener(String prop, PropertyChangeListener l)
      Adds a listener to this parser.
      Parameters:
      prop - The property to listen for changes to.
      l - The listener to add.
      See Also:
    • getCompilationUnit

      public CompilationUnit getCompilationUnit()
      Returns the compilation unit from the last time the text area was parsed.
      Returns:
      The compilation unit, or null if it hasn't yet been parsed or an unexpected error occurred while parsing.
    • getOffset

      public int getOffset(org.fife.ui.rsyntaxtextarea.RSyntaxDocument doc, ParserNotice notice)
      Returns the offset into the document of a parser notice.
      Parameters:
      doc - The document.
      notice - The parser notice.
      Returns:
      The offset, or -1 if it is invalid.
    • parse

      public org.fife.ui.rsyntaxtextarea.parser.ParseResult parse(org.fife.ui.rsyntaxtextarea.RSyntaxDocument doc, String style)
    • removePropertyChangeListener

      public void removePropertyChangeListener(String prop, PropertyChangeListener l)
      Removes a property change listener from this parser.
      Parameters:
      prop - The property being listened to.
      l - The listener to remove.
      See Also: