Package editor
Class GosuDocument
java.lang.Object
javax.swing.text.AbstractDocument
javax.swing.text.PlainDocument
editor.GosuDocument
- All Implemented Interfaces:
Serializable
,Document
This is quite primitive in that it simply provides support for lexically
analyzing the Gosu source.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class
(package private) class
Class to provide Reader functionality from a portion of a Document.class
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
FieldsModifier and TypeFieldDescriptionprivate char[]
private ITokenizerInstructor
private List<IParseTree>
private int
private ParseResultsException
(package private) static final Object
Key to be used in AttributeSet's holding a value of Token.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 -
Method Summary
Modifier and TypeMethodDescriptiongetParseWarningStartingAt
(int iPos) int
getScannerStart
(int p) Fetch a reasonable location to start scanning given the desired start location.getStyleCodeAtPosition
(int iPosition) Returns a style code for the absolute position in the document or null if no code is mapped.private Integer
getStyleCodeForParsedElement
(int iPosition, IParsedElement parsedElem) Given a IParsedElement return a special Style.boolean
hasErrorStartingAt
(int iPos) protected void
Updates document structure as a result of text insertion.protected void
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
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
-
Field Details
-
CommentAttribute
Key to be used in AttributeSet's holding a value of Token. -
_pe
-
_locations
-
_locationsOffset
private int _locationsOffset -
_charArray
private char[] _charArray -
_instructor
-
-
Constructor Details
-
GosuDocument
public GosuDocument()
-
-
Method Details
-
createScanner
- Returns:
- A new lexical analyzer for this document.
-
setParseResultsException
-
getParseResultsException
-
setLocations
The parsed Locations for the document. -
getLocations
-
setLocationsOffset
public void setLocationsOffset(int locationsOffset) -
hasErrorStartingAt
public boolean hasErrorStartingAt(int iPos) -
getParseWarningStartingAt
-
getStyleCodeAtPosition
Returns a style code for the absolute position in the document or null if no code is mapped. -
getStyleCodeForParsedElement
Given a IParsedElement return a special Style. Or return null if no special style exists for the IParsedElement. -
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
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
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
-