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 classGosuDocument.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.ScannercreateScanner()List<IParseTree>getLocations()ParseResultsExceptiongetParseResultsException()Pair<Boolean,ParseWarningForDeprecatedMember>getParseWarningStartingAt(int iPos)intgetScannerStart(int p)Fetch a reasonable location to start scanning given the desired start location.IntegergetStyleCodeAtPosition(int iPosition)Returns a style code for the absolute position in the document or null if no code is mapped.booleanhasErrorStartingAt(int iPos)protected voidinsertUpdate(AbstractDocument.DefaultDocumentEvent chng, AttributeSet attr)Updates document structure as a result of text insertion.protected voidremoveUpdate(AbstractDocument.DefaultDocumentEvent chng)Updates any document structure as a result of text removal.voidsetLocations(List<IParseTree> locations)The parsed Locations for the document.voidsetLocationsOffset(int locationsOffset)voidsetParseResultsException(ParseResultsException pe)voidsetTokenizerInstructor(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:
insertUpdatein 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:
removeUpdatein classPlainDocument- Parameters:
chng- the change event
-
setTokenizerInstructor
public void setTokenizerInstructor(ITokenizerInstructor tokenizerInstructor)
-
-