📄 changelog
字号:
* bike/refactor/renameMethod.py: Added prompt functionality. 2002-10-02 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/getTypeOf.py: Added functionality to handle scanning for types of references (needed by getReferencesToMethod) * bike/query/getReferencesToMethod.py: Implemented to use common.py stuff2002-09-30 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/common.py: Split out common query code into common.py2002-09-27 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/renameFunction.py: Now uses the getReferences stuff 2002-09-26 Phil Dawes <pdawes@users.sourceforge.net> * bike/transformer/WordRewriter.py: Split this class out of the renameClass module. * bike/transformer: Added new transformer package to contain code which rewrites the internal representation of the sourcecode * bike/bikefacade.py: Implemented locateNode to use the new fastparserast stuff. * bike/parsing/extended_ast.py: Added code to set fqn (fully qualified name) attributes on the fastparser ast2002-09-25 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/renameClass.py: Finished modification to use getReferencesToClass. 2002-09-06 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/getTypeOf.py: Refactored getType() functionality out of ast classes and into a query module. * bike/parsing/fastparser.py: Added parsing of import and from lines to fastparser, and optimised a little.2002-09-04 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/renameClass.py: Started modification to use getReferencesToClass. 2002-08-30 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/getReferencesToClass.py: New module which returns a sequence of references to a class * bike/parsing/fastparser.py: Wrote new parser which builds a tree of functions and classes, very quickly.2002-08-14 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/tokenutils.py: Fixed bug where attempting to tokenize small strings would result in attributeerror2002-08-05 Phil Dawes <pdawes@users.sourceforge.net> * bike/logging.py: Logging module. Eventually will be replaced by import logging, but for now is a copy of the code by Vinay Sajip (to save people from having to download the module) * bike/parsing/brmtransformer.py: Added simple fix - tuple being concatinated to list was causing problems---------------------- 0.6.7 ------------------------------------ 2002-07-31 Phil Dawes <pdawes@users.sourceforge.net> * ide-integration/BicycleRepairMan_Idle.py: Added Canis fix for the bug which stopped brm from displaying the menu when starting idle via right-click file. * bike/bikefacade.py: Added Canis windows compatability fix for dealing with .pyw files 2002-07-25 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/extractMethod.py: Fixed bug where extracting an expression from a line just below a block opener (e.g. if foo:) would cause a parse error.2002-07-21 Phil Dawes <pdawes@users.sourceforge.net> * README.idle: Doc about problems on windows---------------------- 0.6.6 ------------------------------------ 2002-07-19 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/doublelinkedlist.py: Optimised to use a list rather than a class instance for each link element.2002-07-17 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/typeinfo.py: Fixed bug - package wasn't checking parent packages (and Root) for types. This meant that modules imported from higher up the tree weren't being found. * bike/parsing/extended_ast.py: Renamed 'Top' to 'Root'---------------------- 0.6.5 ------------------------------------2002-07-15 Phil Dawes <pdawes@users.sourceforge.net> * ide-integration/bike.el: Minor bug fix2002-07-12 Phil Dawes <pdawes@users.sourceforge.net> * ide-integration/bikeemacs.py: Added code so that it waits for buffer to be reloaded in emacs before sending the request to update the next one. * ide-integration/bike.el: Added bug fix - if prompt for rename was on file not loaded, emacs would send a message back to brm when it ran find-file, which buggered up the 'rename-this-method?' interaction.2002-07-11 Phil Dawes <pdawes@users.sourceforge.net> * ide-integration/bike.el: Added support for GNU emacs * README.emacs: renamed from README.xemacs * 2002-07-09 Phil Dawes <pdawes@users.sourceforge.net> * bike/bikefacade.py: Added code to handle more windows filename brokenness2002-07-05 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/renameMethod.py: Added same optimisation to renameMethod. * bike/refactor/renameClass.py: Added optimisation: source string is scanned for classname before visiting ast. (with the lazy ast creation this means that files aren't parsed unless they contain the keyword (or are linked to the source via function call). * bike/parsing/extended_ast.py: Refactored .source member into .getSource() method and implemented so that tokens are synchronised with source if they're modified. 2002-07-03 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/extended_ast.py: Added lazy parsing of ast when source.getModule() is called. * bike/parsing/typeinfo.py: Added PackageTypeInfo which deduces child types by interrogating the package rather than relying on children to register themselves in the typeinfo. This was required to facilitate lazy parsing of ast. (since parse would have had to be done to add module node to package). A lookup of a module now causes getModule() to be called on the sourcefile, thus triggering parse of source into ast.---------------------- 0.6.4 ------------------------------------2002-06-27 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/tokenutils.py: Added bug fix for superflous brackets. Basically, if brackets are unecessary (e.g. '(a).foo()') then they aren't in the parse tree but are in the token stream. This buggers up the token matching. This fix just ignores unmatching ')'s. It was the simplist thing that could possibly work, but may cause problems later - needs lots of testing.---------------------- 0.6.3 ------------------------------------ 2002-06-26 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/tokenhandler.py: Fixed bug where getattr renamed all occurences of the methodattr in the rest of the tokens2002-06-21 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/extractMethod.py: Fixed bug where commend before the extracted block would make brm think it should be extracting an expression rather than a block. * bike/parsing/addtypeinfo.py: Fixed the same bug in _getImportedType * bike/refactor/renameClass.py: Fixed bug where the module search routine in the 'From foo import *' code was using the parent scope as the search position. This doesnt work if 'from' is nested in a class since parent scope is a module, not a package. Added method _getParentPackage() to handle this correctly.2002-06-13 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/extractMethod.py: Fixed the 'loop' bug. extract method will now recognise variables assigned to by the extracted function and used in a loop by the calling function.2002-06-12 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/extractMethod.py: Lots of refactoring prior to fixing a bug.2002-06-10 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/doublelinkedlist.py: Rewrote 'insert' so that it doesnt move the iterator. Renamed old method to insertAndPositionIteratorOnNewElement.2002-06-07 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/extractMethod.py: Fixed the parse error when extracting code from an if...else... block. The problem was that the code below the extraction contained the 'else', but not the 'if'. This is hacked around by inserting an 'if 1: <indent> pass'. This seems to work, but I welcome a better way of handling this. * bike/parsing/output.py: Added code to ensure that indent never dips below 0. This fixes a bug in parsing during method extracts out of nested blocks. * bike/refactor/extractMethod.py: Fixed the 'don't know what type this isAssAttr(Name('item'), 'decl', 'OP_ASSIGN')' bug---------------------- 0.6 -------------------------------------- 2002-05-28 Phil Dawes <pdawes@users.sourceforge.net> * ide-integration/test/*: Added manual test script for testing ide integration before a release * ide-integration/BicycleRepairMan_Idle.py: Now imports code into brm when loaded, or saved for the first time. * ide-integration/bike.el: Now imports all loaded python files into brm. Also checks to see if file was just updated to avoid superflous reloads.2002-05-27 Phil Dawes <pdawes@users.sourceforge.net> * ide-integration/bike.el: Added menu for brm * bike/parsing/undo.py: Added an internal undo buffer size * ide-integration/BicycleRepairMan_Idle.py: Added generic exception reporting to idle * ide-integration/bikeemacs.py: Added generic exception reporting. All exceptions are handled and reported back to the user.2002-05-24 Phil Dawes <pdawes@users.sourceforge.net> * ide-integration/BicycleRepairMan_Idle.py: Exposed undo to idle * ide-integration/bikeemacs.py: Exposed undo to emacs * bike/bikefacade.py: Exposed undo functionality to facade * bike/parsing/undo.py: Added undo functionality2002-05-15 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/test_extractMethod.py: Fixed bug in expression extracting code (which caused a parse exception with correct code) * bike/bikefacade.py: Added public interface---------------------- 0.5 -------------------------------------- * ide-integration: Created new directory for integration modules 2002-05-14 Phil Dawes <pdawes@users.sourceforge.net> * bike/ui/BicycleRepairMan_Idle.py: Exposed extract function to idle * bike/ui/bikeemacs.py: Exposed extract function to emacs * bike/refactor/extractMethod.py: Added support for extracting expressions into methods (e.g. a = 1+2 -> a = self.oneplustwo()) Added support for extracting functions.2002-05-13 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/extractMethod.py: Extract Method pretty much finished. Now on with the testing...2002-05-03 Phil Dawes <pdawes@users.sourceforge.net> * bike/ui/BicycleRepairMan_Idle.py: Added extract method support for idle2002-05-02 Phil Dawes <pdawes@users.sourceforge.net> * bike/ui/bike.el: implemented extract-method for emacs * bike/bikefacade.py: Exposed extract-method to the outside world 2002-05-01 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/extractMethod.py: Implemented simple extract method2002-04-28 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/matchTokensToAST.py: The 'new' addtokens. Instead of each AST node getting its own slice of tokens, there is only one token list and each node has 2 linked list iterators pointing to the start and end of its tokens in within it. Thus the process of calculating the position of these iterators is now called 'token matching' rather than 'adding tokens to ast'. Having only 1 token stream vastly simplifies things. There are no consistency problems when renaming or moving tokens, and no need to 'divide' the comments amongst the AST nodes. This enables one matching algorithm to be able to cater for all ast nodes without specialized logic. * bike/parsing/vector.py, bike/parsing/doublelinkedlist.py: containers which support the same bi-directional iterator interface. Used in refactoring the parsing module to use a linked list of tokens2002-04-12 Phil Dawes <pdawes@users.sourceforge.net> * bike/bikefacade.py: Removed use of tokens---------------------- 0.4.3 ------------------------------------2002-04-11 Phil Dawes <pdawes@users.sourceforge.net> * bike/ui/BicycleRepairMan_Idle.py: fixed import problem in windows * bike/parsing/load.py: Added code so that if you select a directory it will load all the modules and packages in it even if it isnt a package (i.e. doesnt have a __init__.py), but would recurse into non-package sub directories. * bike/ui/*: This is no longer a package, since the only 2 files are installed elsewhere. * setup.py: Made BicycleRepairMan_Idle.py a root level module. This means it can be used with idle by just adding [BicycleRepairMan_Idle] to your .idle file. 2002-04-06 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/addtokens.py: Addtokens class now takes tokens in constructor. The addTokens function is renamed to addTokensToASTFromSrc. This will pave the way for Source nodes to hold tokens rather than the source as a string * bike/parsing/tokenhandler.py: Fixed bug which caused name ast node to not be tokenized * bike/parsing/load.py: Added check for __init__.py before recursing into sub directories. This means that non-package sub directories will not be recursed into. (i.e. the user must load those seperately)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -