From: Andreas L. <lu...@ip...> - 2001-06-21 09:33:59
|
I checked in important bug fixes and new features. You can access this prerelease via anonymous CVS: touch ~/.cvspass # if file does not exist already cvs -d:pserver:ano...@cv...:/cvsroot/recoder login cvs -z3 -d:pserver:ano...@cv...:/cvsroot/recoder co RECODER Please report any remaining bugs and problems. Andreas Ludwig -- Andreas Ludwig, Universität Karlsruhe, Institut für Programmstrukturen, Adenauerring 20a, Gebäude 50.41, 76131 Karlsruhe, Germany tel:+49/721/608-6087 http://i44www.info.uni-karlsruhe.de/~ludwig fax:+49/721/30047 mailto:lu...@ip... === very important changes === The "assert" keyword can be switched on and off via the jdk1.4 - property. Run with -Djdk1.4=true set to activate assert statement parsing. Recoder can now import class file information via Java reflection. The new recoder.bytecode.ReflectionImport class will take care for that. NameInfo is now a PropertyChangeListener of the project settings and listens to changes of the search mode. As a consequence, the autoLoad and preferPrecompiled switches in DefaultNameInfo have been replaced by a more general solution. The new property class.search.mode defines the search priorities when looking for logical class type names: The !autoLoad setting is "". The preferPrecompiled setting is "cs". The default setting is "sc". To use the VM classes as final resort: "scr" (You should not call ensureSystemClassesAreInPath if you want to use reflection as primary source for classes in "sr" setting). There is one potential problem: Blank finals cannot be distinguished from initialized static finals in bytecode; are they Java Compile-Time Constants? This could make a difference for overloading resolution and automatic type narrowing. Added ErrorHandler. Check modes have been removed from CrossReferenceSourceInfo. Subclasses of DefaultErrorHandler can achieve this effects easily by overriding specialized functions. Analysis exceptions now carry context information. NameInfo controls placeholders for unknown program model elements. Not all errors are reported; the situation is no longer really terrible, it is now just bad. The FileRepositories no longer yield parser exceptions for logical class type queries. Parser and IOExceptions are passed to the error handler instead. --- quite important changes --- doclet now works with 1.3.1, but not with 1.4.0beta Bugfix: ParenthesizedExpression is now a StatementExpression. Made sourcefile repository and datafile location more robust against failures and security issues. The default sourcefile repository will now create missing package directories (and the output path) only if actually printing. The project settings now correctly override properties with environmental settings (-D options). Only hard-coded defaults will be reported as defaults. Bugfix in recoder.kit.transformation.RenamePackage concerning full package names (index broken). Semicola after static initializers are now accepted. --- negligible changes --- Moved the inner class file localization code from the name info to the class file repository - it's not the job of the name info to know the details of the class file '$'-naming scheme. |