| <html> |
| <!-- |
| |
| NO NO NO NO NO! |
| |
| ==============> DO NOT EDIT ME! <====================== |
| |
| AUTOMATICALLY GENERATED FROM APICHANGES.XML, DO NOT EDIT |
| |
| SEE lexer/api/doc/changes/apichanges.xml |
| |
| --> |
| |
| <head> |
| <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| |
| <title>Lexer API Changes by Date</title> |
| |
| <link rel="stylesheet" href="prose.css" type="text/css"> |
| |
| <meta name="CATEGORY" content="OtherDevelopmentDoc"> |
| |
| <meta name="DESCRIPTION" content="A cross-indexed list of all changes made to the Lexer API."> |
| |
| </head> |
| |
| <body> |
| |
| |
| <h1>Introduction</h1> |
| |
| |
| <h2>What do the Dates Mean?</h2> |
| |
| |
| <p>The supplied dates indicate when the API change was made, on the CVS |
| trunk. From this you can generally tell whether the change should be |
| present in a given build or not; for trunk builds, simply whether it |
| was made before or after the change; for builds on a stabilization |
| branch, whether the branch was made before or after the given date. In |
| some cases corresponding API changes have been made both in the trunk |
| and in an in-progress stabilization branch, if they were needed for a |
| bug fix; this ought to be marked in this list.</p> |
| |
| <!-- The actual lists of changes, as summaries and details: --> |
| |
| |
| <hr> |
| <h1> |
| <a name="list-all-apis">Index of APIs</a> |
| </h1> |
| <ul> |
| <li> |
| <a href="#api">Lexer API</a> |
| </li> |
| <li> |
| <a href="#spi">Lexer SPI</a> |
| </li> |
| <li> |
| <a href="#swing">Lexer Swing API</a> |
| </li> |
| </ul> |
| <h1> |
| <a name="incompat-by-date">Incompatible changes by date</a> |
| </h1> |
| <p>Fuller descriptions of all changes can be found below (follow links).</p> |
| <p>Not all deprecations are listed here, assuming that the deprecated |
| APIs continue to essentially work. For a full deprecation list, please |
| consult the |
| <a href="deprecated-list.html">Javadoc</a>.</p> |
| <ul> |
| <li>(Nov 5 '07) <a href="#Lexer-API-Cleanup">Lexer API Cleanup</a> |
| </li> |
| <li>(Nov 3 '07) <a href="#LexerInput.integerState-removed">Removing LexerInput.integerState</a> |
| </li> |
| <li>(Aug 30 '07) <a href="#embedding.joinSections.support">Support for embeddings that join sections</a> |
| </li> |
| <li>(May 16 '07) <a href="#api.Language.refresh.remove">Removed previously added Language.refresh().</a> |
| </li> |
| <li>(Mar 1 '07) <a href="#api.PartType.added">Added PartType for token parts support</a> |
| </li> |
| <li>(Jan 16 '07) <a href="#api.tokensequence.move.semantics">Changed TokenSequence.move() and moveIndex() use</a> |
| </li> |
| <li>(Dec 7 '06) <a href="#api.lexer.release">Added Lexer.release()</a> |
| </li> |
| <li>(Nov 23 '06) <a href="#api.customembedding">Adding custom embedding creation TokenSequence.createEmbedding()</a> |
| </li> |
| <li>(Oct 12 '06) <a href="#spi.languageprovider.findLanguageEmbedding">LanguageProvider.findEmbeddedLanguage() changed to findLanguageEmbedding</a> |
| </li> |
| <li>(Oct 11 '06) <a href="#generification.improved">Improved generification</a> |
| </li> |
| <li>(Sep 18 '06) <a href="#api.tokensequence.move">TokenSequence.moveOffset() renamed to move()</a> |
| </li> |
| <li>(Aug 30 '06) <a href="#spi.tokenhandler">Removed TokenIdFilter and TokenHandler</a> |
| </li> |
| <li>(May 5 '06) <a href="#api.rebuild">Rebuilt the API and SPI completely</a> |
| </li> |
| </ul> |
| <h1> |
| <a name="all-by-date">All changes by date</a> |
| </h1> |
| <ul> |
| <li>(May 28 '08) <a href="#Joined-sections-Lexing">Joined Sections Lexing</a> |
| </li> |
| <li>(Nov 5 '07) <a href="#Lexer-API-Cleanup">Lexer API Cleanup</a> |
| </li> |
| <li>(Nov 3 '07) <a href="#LexerInput.integerState-removed">Removing LexerInput.integerState</a> |
| </li> |
| <li>(Oct 5 '07) <a href="#TokenSequence.removeEmbedding-added">Possibility to remove a previously created custom embedding</a> |
| </li> |
| <li>(Aug 30 '07) <a href="#embedding.joinSections.support">Support for embeddings that join sections</a> |
| </li> |
| <li>(Aug 17 '07) <a href="#api.LanguageHierarchy.embeddingPresence.added">Added LanguageHierarchy.embeddingPresence()</a> |
| </li> |
| <li>(Jun 5 '07) <a href="#api.TokenHierarchy.embeddedTokenSequences.added">Added TokenHierarchy.embeddedTokenSequences</a> |
| </li> |
| <li>(May 16 '07) <a href="#api.Language.refresh.remove">Removed previously added Language.refresh().</a> |
| </li> |
| <li>(Apr 27 '07) <a href="#api.Language.refresh">Added Language.refresh().</a> |
| </li> |
| <li>(Apr 13 '07) <a href="#api.TokenHierarchy.tokenSequenceList">Added TokenHierarchy.tokenSequenceList().</a> |
| </li> |
| <li>(Mar 23 '07) <a href="#api.TokenChange.isBoundsChange">Added TokenChange.isBoundsChange().</a> |
| </li> |
| <li>(Mar 1 '07) <a href="#api.PartType.added">Added PartType for token parts support</a> |
| </li> |
| <li>(Jan 16 '07) <a href="#api.tokensequence.move.semantics">Changed TokenSequence.move() and moveIndex() use</a> |
| </li> |
| <li>(Dec 7 '06) <a href="#api.lexer.release">Added Lexer.release()</a> |
| </li> |
| <li>(Nov 23 '06) <a href="#api.customembedding">Adding custom embedding creation TokenSequence.createEmbedding()</a> |
| </li> |
| <li>(Oct 18 '06) <a href="#api.languageDescription.find">Adding LanguageDescription.find(String mimePath)</a> |
| </li> |
| <li>(Oct 12 '06) <a href="#spi.languageprovider.findLanguageEmbedding">LanguageProvider.findEmbeddedLanguage() changed to findLanguageEmbedding</a> |
| </li> |
| <li>(Oct 11 '06) <a href="#generification.improved">Improved generification</a> |
| </li> |
| <li>(Sep 18 '06) <a href="#api.tokensequence.move">TokenSequence.moveOffset() renamed to move()</a> |
| </li> |
| <li>(Sep 14 '06) <a href="#spi.languageprovider">Added LanguageProvider</a> |
| </li> |
| <li>(Aug 30 '06) <a href="#spi.tokenhandler">Removed TokenIdFilter and TokenHandler</a> |
| </li> |
| <li>(May 5 '06) <a href="#api.rebuild">Rebuilt the API and SPI completely</a> |
| </li> |
| <li>(May 16 '03) <a href="#lexerinput.getreadtext">Added LexerInput.getReadText() and LexerInput.isEOFLookahead()</a> |
| </li> |
| <li>(Sep 20 '02) <a href="#lexerinput.readlength">Added LexerInput.getReadLength() and LexerInput.createToken(TokenId, tokenLength) |
| and renamed TokenTextMatcher to SampleTextMatcher</a> |
| </li> |
| <li>(Sep 20 '02) <a href="#api.lexer.swing">Added swing subpackage to API</a> |
| </li> |
| </ul> |
| <h1> |
| <a name="all-by-version">Changes by version</a> |
| </h1> |
| <p> |
| These API specification versions may be used to indicate that a module |
| requires a certain API feature in order to function. For example, if you |
| see here a feature you need which is labelled <samp>1.20</samp>, your |
| manifest should contain in its main attributes the line: |
| </p> |
| <pre>OpenIDE-Module-Module-Dependencies: org.netbeans.modules.lexer/1 > 1.20</pre> |
| <ul> |
| <li> |
| (1.28) <a href="#Joined-sections-Lexing">Joined Sections Lexing</a> |
| </li> |
| <li> |
| (1.25) <a href="#Lexer-API-Cleanup">Lexer API Cleanup</a> |
| </li> |
| <li> |
| (1.24) <a href="#LexerInput.integerState-removed">Removing LexerInput.integerState</a> |
| </li> |
| <li> |
| (1.23) <a href="#TokenSequence.removeEmbedding-added">Possibility to remove a previously created custom embedding</a> |
| </li> |
| <li> |
| (1.22) <a href="#embedding.joinSections.support">Support for embeddings that join sections</a> |
| </li> |
| <li> |
| (1.21) <a href="#api.LanguageHierarchy.embeddingPresence.added">Added LanguageHierarchy.embeddingPresence()</a> |
| </li> |
| <li> |
| (1.20) <a href="#api.TokenHierarchy.embeddedTokenSequences.added">Added TokenHierarchy.embeddedTokenSequences</a> |
| </li> |
| <li> |
| (1.19) <a href="#api.Language.refresh.remove">Removed previously added Language.refresh().</a> |
| </li> |
| <li> |
| (1.18) <a href="#api.Language.refresh">Added Language.refresh().</a> |
| </li> |
| <li> |
| (1.17) <a href="#api.TokenHierarchy.tokenSequenceList">Added TokenHierarchy.tokenSequenceList().</a> |
| </li> |
| <li> |
| (1.16) <a href="#api.TokenChange.isBoundsChange">Added TokenChange.isBoundsChange().</a> |
| </li> |
| <li> |
| (1.14) <a href="#api.PartType.added">Added PartType for token parts support</a> |
| </li> |
| <li> |
| (1.13) <a href="#api.tokensequence.move.semantics">Changed TokenSequence.move() and moveIndex() use</a> |
| </li> |
| <li> |
| (1.12) <a href="#api.lexer.release">Added Lexer.release()</a> |
| </li> |
| <li> |
| (1.11) <a href="#api.customembedding">Adding custom embedding creation TokenSequence.createEmbedding()</a> |
| </li> |
| <li> |
| (1.10) <a href="#api.languageDescription.find">Adding LanguageDescription.find(String mimePath)</a> |
| </li> |
| <li> |
| (1.9) <a href="#spi.languageprovider.findLanguageEmbedding">LanguageProvider.findEmbeddedLanguage() changed to findLanguageEmbedding</a> |
| </li> |
| <li> |
| (1.8) <a href="#generification.improved">Improved generification</a> |
| </li> |
| <li> |
| (1.7) <a href="#api.tokensequence.move">TokenSequence.moveOffset() renamed to move()</a> |
| </li> |
| <li> |
| (1.6) <a href="#spi.languageprovider">Added LanguageProvider</a> |
| </li> |
| <li> |
| (1.5) <a href="#spi.tokenhandler">Removed TokenIdFilter and TokenHandler</a> |
| </li> |
| <li> |
| (1.4) <a href="#api.rebuild">Rebuilt the API and SPI completely</a> |
| </li> |
| <li> |
| (1.3) <a href="#lexerinput.getreadtext">Added LexerInput.getReadText() and LexerInput.isEOFLookahead()</a> |
| </li> |
| <li> |
| (1.2) <a href="#lexerinput.readlength">Added LexerInput.getReadLength() and LexerInput.createToken(TokenId, tokenLength) |
| and renamed TokenTextMatcher to SampleTextMatcher</a> |
| </li> |
| <li> |
| (1.1) <a href="#api.lexer.swing">Added swing subpackage to API</a> |
| </li> |
| </ul> |
| <h1> |
| <a name="all-by-class">Changes by affected class</a> |
| </h1> |
| <hr> |
| <h1> |
| <a name="details-by-api">Details of all changes by API and date</a> |
| </h1> |
| <hr style="width:50%"> |
| <h2> |
| <a name="api">Lexer API</a> |
| </h2> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="Joined-sections-Lexing">Joined Sections Lexing</a> |
| </h3> |
| <em>May 28 '08; API spec. version: 1.28; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=117450"> |
| #117450</a></em> |
| <br> |
| |
| <p> |
| Embeddings that request input sections to be joined before lexing |
| are now lexed as a single section. |
| <br> |
| |
| <code>Token.isRemoved()</code> was added to check whether a particular token |
| is still present in token hierarchy or whether it was removed as part of a modification. |
| </p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="Lexer-API-Cleanup">Lexer API Cleanup</a> |
| </h3> |
| <em>Nov 5 '07; API spec. version: 1.25; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=120052"> |
| #120052</a></em> |
| <br> |
| |
| <p> |
| Support for token hierarchy snapshots and generic character preprocessing |
| was removed from the API and SPI since there were no usecases yet |
| and it should be possible to add the functionality later in a backward compatible way. |
| Some more changes regarding generification etc. were performed. |
| </p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="LexerInput.integerState-removed">Removing LexerInput.integerState</a> |
| </h3> |
| <em>Nov 3 '07; API spec. version: 1.24; made by: vstejskal; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=88641"> |
| #88641</a></em> |
| <br> |
| |
| <p> |
| |
| <code>LexerInput.integerState()</code> was removed. |
| </p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="TokenSequence.removeEmbedding-added">Possibility to remove a previously created custom embedding</a> |
| </h3> |
| <em>Oct 5 '07; API spec. version: 1.23; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=94365"> |
| #94365</a></em> |
| <br> |
| |
| <p> |
| |
| <code>TokenSequence.removeEmbedding()</code> was added as counterpart |
| to <code>TokenSequence.createEmbedding()</code>. |
| <br> |
| Also <code>TokenSequence.isValid()</code> was added to check whether |
| the token sequence can be used for iteration (no modifications |
| of the underlying input in the meantime). |
| </p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="embedding.joinSections.support">Support for embeddings that join sections</a> |
| </h3> |
| <em>Aug 30 '07; API spec. version: 1.22; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=87014"> |
| #87014</a></em> |
| <br> |
| |
| <p> |
| Joining sections embeddings now supported and some minor changes |
| were introduced like adding <code>LanguagePath.parent()</code>. |
| Some is* methods with trivial implementations were removed from LanguagePath. |
| <code>TokenChange.embeddedChange(Language)</code> was removed because |
| there might be multiple such changes and they can be gathered |
| with existing methods. |
| </p> |
| |
| <br> |
| <em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="api.LanguageHierarchy.embeddingPresence.added">Added LanguageHierarchy.embeddingPresence()</a> |
| </h3> |
| <em>Aug 17 '07; API spec. version: 1.21; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=112465"> |
| #112465</a></em> |
| <br> |
| |
| <p> |
| Added <code>LanguageHierarchy.embeddingPresence()</code> method |
| and <code>EmbeddingPresence</code> enum to speed up queries |
| for embedded token sequences. |
| </p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="api.TokenHierarchy.embeddedTokenSequences.added">Added TokenHierarchy.embeddedTokenSequences</a> |
| </h3> |
| <em>Jun 5 '07; API spec. version: 1.20; made by: vstejskal</em> |
| <br> |
| |
| <p> |
| Added <code>TokenHierarchy.embeddedTokenSequences</code> method. |
| </p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="api.Language.refresh.remove">Removed previously added Language.refresh().</a> |
| </h3> |
| <em>May 16 '07; API spec. version: 1.19; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=102435"> |
| #102435</a></em> |
| <br> |
| |
| <p> |
| Removed previously added <code>Language.refresh()</code> since |
| there is an alternative in using LanguageProvider.firePropertyChange(PROP_LANGUAGE). |
| </p> |
| |
| <br> |
| <em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="api.Language.refresh">Added Language.refresh().</a> |
| </h3> |
| <em>Apr 27 '07; API spec. version: 1.18; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=102435"> |
| #102435</a></em> |
| <br> |
| |
| <p> |
| Added <code>Language.refresh()</code> to allow languages framework |
| and other clients to update contents of a language dynamically. |
| </p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="api.TokenHierarchy.tokenSequenceList">Added TokenHierarchy.tokenSequenceList().</a> |
| </h3> |
| <em>Apr 13 '07; API spec. version: 1.17; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=95569"> |
| #95569</a></em> |
| <br> |
| |
| <p> |
| Added <code>TokenHierarchy.tokenSequenceList()</code> to find |
| token sequences having certain language path throughout the whole input source |
| or just within given offset bounds. |
| <br> |
| Also added <code>LanguagePath.embedded(language)</code> |
| and <code>LanguagePath.embedded(suffixLanguagePath)</code>. |
| </p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="api.TokenChange.isBoundsChange">Added TokenChange.isBoundsChange().</a> |
| </h3> |
| <em>Mar 23 '07; API spec. version: 1.16; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=93644"> |
| #93644</a></em> |
| <br> |
| |
| <p> |
| Added <code>TokenChange.isBoundsChange()</code> to check |
| for changes that only modify token bounds (see method's javadoc). |
| <br> |
| Improved incrementality for embedded sections for bounds changes. |
| </p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="api.PartType.added">Added PartType for token parts support</a> |
| </h3> |
| <em>Mar 1 '07; API spec. version: 1.14; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=91184"> |
| #91184</a></em> |
| <br> |
| |
| <p> |
| Added <code>PartType</code> enum and <code>Token.partType()</code> |
| that identifies whether the token is COMPLETE or which part |
| of a complete token this part represents (START, INNER or END). |
| </p> |
| |
| <br> |
| <em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="api.tokensequence.move.semantics">Changed TokenSequence.move() and moveIndex() use</a> |
| </h3> |
| <em>Jan 16 '07; API spec. version: 1.13; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=90796"> |
| #90796</a></em> |
| <br> |
| |
| <p> |
| Changed the <code>TokenSequence.move()</code> to position <b>before</b> the particular token |
| that "contains" the offset (or after the last token if the given offset |
| is too high). Additional <code>moveNext()</code> is necessary |
| to actually move to the next token. |
| <br> |
| |
| <code>TokenSequence.moveIndex()</code> was modified in a similar way |
| (see javadocs). |
| <br> |
| |
| <code>TokenSequence.moveFirst()</code> and <code>moveLast()</code> |
| were replaced by <code>moveStart()</code> that positionins before |
| the first token and by <code>moveEnd()</code> that positions |
| after the last token. |
| <br> |
| |
| <code>TokenSequence.isEmpty()</code> added to check whether there are |
| no tokens in the TS. |
| </p> |
| |
| <br> |
| <em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="api.lexer.release">Added Lexer.release()</a> |
| </h3> |
| <em>Dec 7 '06; API spec. version: 1.12; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=89000"> |
| #89000</a></em> |
| <br> |
| |
| <p> |
| Added <code>Lexer.release()</code> useful for lexer instances caching. |
| </p> |
| |
| <br> |
| <em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="api.customembedding">Adding custom embedding creation TokenSequence.createEmbedding()</a> |
| </h3> |
| <em>Nov 23 '06; API spec. version: 1.11; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=86473"> |
| #86473</a></em> |
| <br> |
| |
| <p> |
| Extracted <code>TokenHierarchyEvent.Type</code> inner class |
| into <code>TokenHierarchyEventType</code> top-level class. |
| <br> |
| Adding <code>TokenSequence.createEmbedding()</code> |
| method for creation of a custom embedding. |
| <code>TokenHierarchyEventType.EMBEDDING</code> fired |
| after embedding creation. |
| <br> |
| Affected offset information (<code>affectedStartOffset()</code> |
| and <code>affectedEndOffset()</code>) moved |
| from <code>TokenChange</code> to <code>TokenHierarchyEvent</code> |
| |
| <br> |
| There can be now more than one embedded change in a TokenChange. |
| <br> |
| Removed <code>tokenComplete</code> parameter from |
| <code>LanguageHierarchy.embedding()</code> because the token incompletness |
| will be handled in a different way. |
| <br> |
| Swapped order of <code>token</code> and <code>languagePath</code> |
| parameters in <code>LanguageProvider</code> to be in sync with |
| <code>LanguageHierarchy.embedding()</code>. |
| <br> |
| |
| <code>LanguageEmbedding</code> is now a final class |
| (instead of abstract class) with private constructor |
| and static <code>create()</code> method. That allows better control |
| over the evolution of the class and it also allows to cache the created embeddings |
| to save memory. |
| <br> |
| |
| <code>LanguageEmbedding</code> is now generified with the |
| <code>T extends TokenId</code> which is a generification |
| of the language which it contains. |
| <br> |
| |
| <code>TokenHierarchy.languagePaths()</code> set contains all language paths |
| used in the token hierarchy. <code>TokenHierarchyEventType.LANGUAGE_PATHS</code> |
| fired after change of that set. |
| </p> |
| |
| <br> |
| <em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="api.languageDescription.find">Adding LanguageDescription.find(String mimePath)</a> |
| </h3> |
| <em>Oct 18 '06; API spec. version: 1.10; made by: vstejskal</em> |
| <br> |
| |
| <p> |
| Adding the LanguageDescription.find(String mimePath) method, which can |
| be used for looking up <code>LanguageDescription</code>s by their |
| mime types. |
| </p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="generification.improved">Improved generification</a> |
| </h3> |
| <em>Oct 11 '06; API spec. version: 1.8; made by: mmetelka</em> |
| <br> |
| |
| <p> |
| Generification of methods of LanguagePath, TokenSequence and other classes |
| has been improved. |
| </p> |
| |
| <br> |
| <em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="api.rebuild">Rebuilt the API and SPI completely</a> |
| </h3> |
| <em>May 5 '06; API spec. version: 1.4; made by: mmetelka</em> |
| <br> |
| |
| <p> |
| The original API and SPI were <b>rebuilt completely</b> (under editor_api branch) |
| to comply with the standard requirements for the NetBeans APIs and allow |
| for better API evolution in the future. |
| <br> |
| The major version of the lexer module was increased to 2. |
| </p> |
| |
| <br> |
| <em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="lexerinput.getreadtext">Added LexerInput.getReadText() and LexerInput.isEOFLookahead()</a> |
| </h3> |
| <em>May 16 '03; API spec. version: 1.3; made by: mmetelka</em> |
| <br> |
| There were two methods added into <code>org.netbeans.api.lexer.LexerInput</code>: |
| <ul> |
| |
| <li> |
| <code>LexerInput.getReadText(int start, int end)</code> |
| </li> |
| |
| <li> |
| <code>LexerInput.isEOFLookahead()</code> |
| </li> |
| |
| </ul> |
| |
| |
| <p>LexerInput.backup(int count) now accepts negative values too |
| to redo character backups. |
| </p> |
| |
| |
| <p>These methods are necessary for more efficient handling of the input.</p> |
| |
| |
| <p>Unfortunately this change is incompatible as the LexerInput is interface.</p> |
| |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="lexerinput.readlength">Added LexerInput.getReadLength() and LexerInput.createToken(TokenId, tokenLength) |
| and renamed TokenTextMatcher to SampleTextMatcher</a> |
| </h3> |
| <em>Sep 20 '02; API spec. version: 1.2; made by: mmetelka</em> |
| <br> |
| There were two methods added into <code>org.netbeans.api.lexer.LexerInput</code>: |
| <ul> |
| |
| <li> |
| <code>LexerInput.getReadLength()</code> |
| </li> |
| |
| <li> |
| <code>LexerInput.createToken(TokenId id, int tokenLength)</code> |
| </li> |
| |
| </ul> |
| These methods are necessary for efficient support of the Antlr lexers. |
| <br>Unfortunately this change is incompatible as the LexerInput |
| is interface. |
| |
| <p> |
| The <code>TokenTextMatcher</code> was renamed to <code>SampleTextMatcher</code> |
| which should be better name than the original one. Documentation was also updatged. |
| It should be now more clear that there can be zero or more samples for the text |
| of each token and that the <code>SampleTextMatcher</code> encapsulates |
| the given samples and can check whether the token's text matches one of them. |
| </p> |
| |
| <hr style="width:50%"> |
| <h2> |
| <a name="spi">Lexer SPI</a> |
| </h2> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="spi.languageprovider.findLanguageEmbedding">LanguageProvider.findEmbeddedLanguage() changed to findLanguageEmbedding</a> |
| </h3> |
| <em>Oct 12 '06; API spec. version: 1.9; made by: vstejskal</em> |
| <br> |
| |
| <p> |
| LanguageProvider.findEmbeddedLanguage() method signature was changed. |
| The method is now called findLanguageEmbedding and returns |
| LanguageEmbedding instead of just LanguageDescription. |
| </p> |
| |
| <br> |
| <em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="api.tokensequence.move">TokenSequence.moveOffset() renamed to move()</a> |
| </h3> |
| <em>Sep 18 '06; API spec. version: 1.7; made by: mmetelka</em> |
| <br> |
| |
| <p> |
| TokenSequence.moveOffset() was renamed to TokenSequence.move(). |
| The original TokenSequence.move() which is seldom used |
| was renamed to TokenSequence.moveIndex(). |
| </p> |
| |
| <br> |
| <em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="spi.languageprovider">Added LanguageProvider</a> |
| </h3> |
| <em>Sep 14 '06; API spec. version: 1.6; made by: vstejskal</em> |
| <br> |
| |
| <p> |
| The LanguageProvider class was added to the SPI package. It is possible |
| to register instances of this class in the default lookup. The lexer |
| module will use them to find LanguageDescriptions for documents ( |
| according to their mime types) and for tokens, which contain embedded |
| language. |
| </p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="spi.tokenhandler">Removed TokenIdFilter and TokenHandler</a> |
| </h3> |
| <em>Aug 30 '06; API spec. version: 1.5; made by: mmetelka</em> |
| <br> |
| |
| <p> |
| The TokenIdFilter class was removed from the API. Instead of it |
| Set<? extends TokenId> should be used where appropriate. |
| <br> |
| With the TokenFactory now being final the TokenHandler is no longer needed. |
| The few remaining overridable SPI methods were moved to LanguageHierarchy |
| and the TokenHandler class was removed. |
| <br> |
| LanguagePath and InputAttributes parameters were added |
| to LanguageHierarchy.createLexer() (to the end of the existing |
| parameters) in order to allow the lexer to react to input attributes. |
| <br> |
| For consistency the parameters of LanguageHierarchy.embedding() |
| were reordered so that the LanguagePath and InputAttributes parameters |
| are also at the end of the list and in the same order. |
| </p> |
| |
| <br> |
| <em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em> |
| <hr style="width:50%"> |
| <h2> |
| <a name="swing">Lexer Swing API</a> |
| </h2> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="api.lexer.swing">Added swing subpackage to API</a> |
| </h3> |
| <em>Sep 20 '02; API spec. version: 1.1; made by: mmetelka</em> |
| <br> |
| |
| <p> |
| That API subpackage will contain swing-related API of the lexer |
| in the org.netbeans.api.lexer.swing package. |
| <br>I have removed Language.find(String mimeType) - it never worked. |
| <br>I have added Language.getValidId(int intId). |
| |
| <br>The whole API and implementation was moved from libsrc |
| to src (libsrc is now abandoned) in order to better adhere |
| to module conventions. |
| </p> |
| |
| |
| |
| </body> |
| |
| </html> |