Package editor
Class GosuDocument
- java.lang.Object
-
- javax.swing.text.AbstractDocument
-
- javax.swing.text.PlainDocument
-
- editor.GosuDocument
-
- All Implemented Interfaces:
Serializable
,Document
public class GosuDocument extends PlainDocument
This is quite primitive in that it simply provides support for lexically analyzing the Gosu source.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
GosuDocument.Scanner
-
Nested classes/interfaces inherited from class javax.swing.text.AbstractDocument
AbstractDocument.AbstractElement, AbstractDocument.AttributeContext, AbstractDocument.BranchElement, AbstractDocument.Content, AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, AbstractDocument.LeafElement
-
-
Field Summary
-
Fields inherited from class javax.swing.text.PlainDocument
lineLimitAttribute, tabSizeAttribute
-
Fields inherited from class javax.swing.text.AbstractDocument
BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName
-
Fields inherited from interface javax.swing.text.Document
StreamDescriptionProperty, TitleProperty
-
-
Constructor Summary
Constructors Constructor Description GosuDocument()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GosuDocument.Scanner
createScanner()
List<IParseTree>
getLocations()
ParseResultsException
getParseResultsException()
Pair<Boolean,ParseWarningForDeprecatedMember>
getParseWarningStartingAt(int iPos)
int
getScannerStart(int p)
Fetch a reasonable location to start scanning given the desired start location.Integer
getStyleCodeAtPosition(int iPosition)
Returns a style code for the absolute position in the document or null if no code is mapped.boolean
hasErrorStartingAt(int iPos)
protected void
insertUpdate(AbstractDocument.DefaultDocumentEvent chng, AttributeSet attr)
Updates document structure as a result of text insertion.protected void
removeUpdate(AbstractDocument.DefaultDocumentEvent chng)
Updates any document structure as a result of text removal.void
setLocations(List<IParseTree> locations)
The parsed Locations for the document.void
setLocationsOffset(int locationsOffset)
void
setParseResultsException(ParseResultsException pe)
void
setTokenizerInstructor(ITokenizerInstructor tokenizerInstructor)
-
Methods inherited from class javax.swing.text.PlainDocument
createDefaultRoot, getDefaultRootElement, getParagraphElement, insertString
-
Methods inherited from class javax.swing.text.AbstractDocument
addDocumentListener, addUndoableEditListener, createBranchElement, createLeafElement, createPosition, dump, fireChangedUpdate, fireInsertUpdate, fireRemoveUpdate, fireUndoableEditUpdate, getAsynchronousLoadPriority, getAttributeContext, getBidiRootElement, getContent, getCurrentWriter, getDocumentFilter, getDocumentListeners, getDocumentProperties, getEndPosition, getLength, getListeners, getProperty, getRootElements, getStartPosition, getText, getText, getUndoableEditListeners, postRemoveUpdate, putProperty, readLock, readUnlock, remove, removeDocumentListener, removeUndoableEditListener, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock
-
-
-
-
Method Detail
-
createScanner
public GosuDocument.Scanner createScanner()
- Returns:
- A new lexical analyzer for this document.
-
setParseResultsException
public void setParseResultsException(ParseResultsException pe)
-
getParseResultsException
public ParseResultsException getParseResultsException()
-
setLocations
public void setLocations(List<IParseTree> locations)
The parsed Locations for the document.
-
getLocations
public List<IParseTree> getLocations()
-
setLocationsOffset
public void setLocationsOffset(int locationsOffset)
-
hasErrorStartingAt
public boolean hasErrorStartingAt(int iPos)
-
getParseWarningStartingAt
public Pair<Boolean,ParseWarningForDeprecatedMember> getParseWarningStartingAt(int iPos)
-
getStyleCodeAtPosition
public Integer getStyleCodeAtPosition(int iPosition)
Returns a style code for the absolute position in the document or null if no code is mapped.
-
getScannerStart
public int getScannerStart(int p)
Fetch a reasonable location to start scanning given the desired start location. This allows for adjustments needed to accomodate multiline comments.
-
insertUpdate
protected void insertUpdate(AbstractDocument.DefaultDocumentEvent chng, AttributeSet attr)
Updates document structure as a result of text insertion. This will happen within a write lock. The superclass behavior of updating the line map is executed followed by marking any comment areas that should backtracked before scanning.- Overrides:
insertUpdate
in classPlainDocument
- Parameters:
chng
- the change eventattr
- the set of attributes
-
removeUpdate
protected void removeUpdate(AbstractDocument.DefaultDocumentEvent chng)
Updates any document structure as a result of text removal. This will happen within a write lock. The superclass behavior of updating the line map is executed followed by placing a lexical update command on the analyzer queue.- Overrides:
removeUpdate
in classPlainDocument
- Parameters:
chng
- the change event
-
setTokenizerInstructor
public void setTokenizerInstructor(ITokenizerInstructor tokenizerInstructor)
-
-