This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | Lexer API Cleanup | ||
---|---|---|---|
Product: | editor | Reporter: | Miloslav Metelka <mmetelka> |
Component: | Lexer | Assignee: | Miloslav Metelka <mmetelka> |
Status: | RESOLVED FIXED | ||
Severity: | blocker | CC: | jjancura, jlahoda, mfukala, tor |
Priority: | P2 | Keywords: | API, API_REVIEW_FAST |
Version: | 6.x | ||
Hardware: | PC | ||
OS: | All | ||
Issue Type: | TASK | Exception Reporter: | |
Attachments: | Committed files log |
Description
Miloslav Metelka
2007-10-25 15:26:41 UTC
Asking for fastrack review. I agree with all changes. I am OK with the changes. I'm fine with the changes. For #5 you will have to go through all the code using TokenHierarchy.get(Document) and fix the cases that check for null. For example this is used in highlighting layer factories to check if a language has already been lexerified and new SyntaxHighlighting layer can be used or if we need NonLexerBasedSyntaxHighlighting layer that works with old o.n.editor.Syntax, etc. There might be other places using it in a similar way. Maybe it needs to be replaced by Language.find(document.getProperty("mimeType")). 6. Speaking of Language.find(String mimePath), as Hanz pointed out this method currently only works for top level mime types. In fact it makes no sense to use it for mimePath and we should change the parameter's name and update its javadoc. The same for LanguageProvider.findLanguage() that it delegates to. I can do that if you want. Looks fine to me. Please update this issue when you integrate so I can test it a lot once the change (only #5 affects me) goes in. #6: It's done. Language.find(String) and LanguageProvider.findLanguage(String) can only be used for top level mime types. Checking in lexer/test/unit/src/org/netbeans/lib/lexer/LanguageManagerTest.java; /cvs/lexer/test/unit/src/org/netbeans/lib/lexer/LanguageManagerTest.java,v <-- LanguageManagerTest.java new revision: 1.11; previous revision: 1.10 done Checking in lexer/nbbridge/test/build.xml; /cvs/lexer/nbbridge/test/build.xml,v <-- build.xml new revision: 1.5; previous revision: 1.4 done Checking in lexer/src/org/netbeans/lib/lexer/LanguageManager.java; /cvs/lexer/src/org/netbeans/lib/lexer/LanguageManager.java,v <-- LanguageManager.java new revision: 1.13; previous revision: 1.12 done Checking in languages/engine/src/org/netbeans/modules/languages/lexer/SLanguageProvider.java; /cvs/languages/engine/src/org/netbeans/modules/languages/lexer/SLanguageProvider.java,v <-- SLanguageProvider.java new revision: 1.19; previous revision: 1.18 done Checking in lexer/test/unit/src/org/netbeans/lib/lexer/test/simple/SimpleLanguageProvider.java; /cvs/lexer/test/unit/src/org/netbeans/lib/lexer/test/simple/SimpleLanguageProvider.java,v <-- SimpleLanguageProvider.java new revision: 1.13; previous revision: 1.12 done Checking in lexer/src/org/netbeans/spi/lexer/LanguageProvider.java; /cvs/lexer/src/org/netbeans/spi/lexer/LanguageProvider.java,v <-- LanguageProvider.java new revision: 1.10; previous revision: 1.9 done Checking in lexer/nbbridge/src/org/netbeans/modules/lexer/nbbridge/MimeLookupLanguageProvider.java; /cvs/lexer/nbbridge/src/org/netbeans/modules/lexer/nbbridge/MimeLookupLanguageProvider.java,v <-- MimeLookupLanguageProvider.java new revision: 1.9; previous revision: 1.8 done Checking in lexer/src/org/netbeans/api/lexer/Language.java; /cvs/lexer/src/org/netbeans/api/lexer/Language.java,v <-- Language.java new revision: 1.13; previous revision: 1.12 done Checking in lexer/test/unit/src/org/netbeans/lib/lexer/test/TestLanguageProvider.java; /cvs/lexer/test/unit/src/org/netbeans/lib/lexer/test/TestLanguageProvider.java,v <-- TestLanguageProvider.java new revision: 1.3; previous revision: 1.2 done Created attachment 52541 [details]
Committed files log
I will also increase the spec. version and update apichanges.xml. Fixed apichanges, lexer javadocs, fixed dependency versions. Checking in lexer/src/org/netbeans/spi/lexer/TokenFactory.java; /cvs/lexer/src/org/netbeans/spi/lexer/TokenFactory.java,v <-- TokenFactory.java new revision: 1.11; previous revision: 1.10 done Checking in lexer/src/org/netbeans/spi/lexer/MutableTextInput.java; /cvs/lexer/src/org/netbeans/spi/lexer/MutableTextInput.java,v <-- MutableTextInput.java new revision: 1.8; previous revision: 1.7 done Checking in lexer/nbproject/project.properties; /cvs/lexer/nbproject/project.properties,v <-- project.properties new revision: 1.19; previous revision: 1.18 done Checking in web/el/lexer/nbproject/project.xml; /cvs/web/el/lexer/nbproject/project.xml,v <-- project.xml new revision: 1.4; previous revision: 1.3 done Checking in editor/lib/nbproject/project.xml; /cvs/editor/lib/nbproject/project.xml,v <-- project.xml new revision: 1.15; previous revision: 1.14 done Checking in editor/bracesmatching/nbproject/project.xml; /cvs/editor/bracesmatching/nbproject/project.xml,v <-- project.xml new revision: 1.2; previous revision: 1.1 done Checking in lexer/arch.xml; /cvs/lexer/arch.xml,v <-- arch.xml new revision: 1.13; previous revision: 1.12 done Checking in contrib/EditorBracesMatching/nbproject/project.xml; /cvs/contrib/EditorBracesMatching/nbproject/project.xml,v <-- project.xml new revision: 1.12; previous revision: 1.11 done Checking in lexer/src/org/netbeans/api/lexer/Token.java; /cvs/lexer/src/org/netbeans/api/lexer/Token.java,v <-- Token.java new revision: 1.11; previous revision: 1.10 done Checking in xml/tageditorsupport/nbproject/project.xml; /cvs/xml/tageditorsupport/nbproject/project.xml,v <-- project.xml new revision: 1.15; previous revision: 1.14 done Checking in ruby/gsf/nbproject/project.xml; /cvs/ruby/gsf/nbproject/project.xml,v <-- project.xml new revision: 1.13; previous revision: 1.12 done Checking in editor/lib2/nbproject/project.xml; /cvs/editor/lib2/nbproject/project.xml,v <-- project.xml new revision: 1.6; previous revision: 1.5 done Checking in java/editor/nbproject/project.xml; /cvs/java/editor/nbproject/project.xml,v <-- project.xml new revision: 1.45; previous revision: 1.44 done Checking in editor/options/nbproject/project.xml; /cvs/editor/options/nbproject/project.xml,v <-- project.xml new revision: 1.28; previous revision: 1.27 done Checking in html/editor/nbproject/project.xml; /cvs/html/editor/nbproject/project.xml,v <-- project.xml new revision: 1.29; previous revision: 1.28 done Checking in scripting/php/lexer/nbproject/project.xml; /cvs/scripting/php/lexer/nbproject/project.xml,v <-- project.xml new revision: 1.4; previous revision: 1.3 done Checking in xml/lexer/nbproject/project.xml; /cvs/xml/lexer/nbproject/project.xml,v <-- project.xml new revision: 1.3; previous revision: 1.2 done Checking in ruby/editing/nbproject/project.xml; /cvs/ruby/editing/nbproject/project.xml,v <-- project.xml new revision: 1.20; previous revision: 1.19 done Checking in javadoc/nbproject/project.xml; /cvs/javadoc/nbproject/project.xml,v <-- project.xml new revision: 1.32; previous revision: 1.31 done Checking in java/hints/nbproject/project.xml; /cvs/java/hints/nbproject/project.xml,v <-- project.xml new revision: 1.38; previous revision: 1.37 done Checking in java/source/nbproject/project.xml; /cvs/java/source/nbproject/project.xml,v <-- project.xml new revision: 1.38; previous revision: 1.37 done Checking in web/jspsyntax/nbproject/project.xml; /cvs/web/jspsyntax/nbproject/project.xml,v <-- project.xml new revision: 1.41; previous revision: 1.40 done Checking in lexer/api/apichanges.xml; /cvs/lexer/api/apichanges.xml,v <-- apichanges.xml new revision: 1.25; previous revision: 1.24 done Checking in ruby/refactoring/nbproject/project.xml; /cvs/ruby/refactoring/nbproject/project.xml,v <-- project.xml new revision: 1.4; previous revision: 1.3 done Checking in java/lexer/nbproject/project.xml; /cvs/java/lexer/nbproject/project.xml,v <-- project.xml new revision: 1.7; previous revision: 1.6 done Checking in languages/engine/nbproject/project.xml; /cvs/languages/engine/nbproject/project.xml,v <-- project.xml new revision: 1.22; previous revision: 1.21 done Checking in html/lexer/nbproject/project.xml; /cvs/html/lexer/nbproject/project.xml,v <-- project.xml new revision: 1.7; previous revision: 1.6 done Checking in ruby/rhtml/nbproject/project.xml; /cvs/ruby/rhtml/nbproject/project.xml,v <-- project.xml new revision: 1.16; previous revision: 1.15 done Checking in contrib/JavadocFirstSentence/nbproject/project.xml; /cvs/contrib/JavadocFirstSentence/nbproject/project.xml,v <-- project.xml new revision: 1.4; previous revision: 1.3 You seem to have broken compilation of scripting/ejs, at least. Please check for other users of this API and make sure they are still compilable. Apologies, I did a clean build of the full cluster config and I have also attempted to fix tests of the affected modules. But I did not know about the javac bugs that will be revealed by incremental building. I have fixed scripting/ejs. Checking in EJSTokenId.java; /cvs/scripting/ejs/src/org/netbeans/modules/languages/ejs/lexer/api/EJSTokenId.java,v <-- EJSTokenId.java new revision: 1.4; previous revision: 1.3 |