📄 changelog
字号:
2004-02-11 Phil Dawes <pdawes@users.sf.net> * bike/query/getTypeOf.py: rewrote resolveImportedModuleOrPackage to use purely getModuleOrPackageUsingFQN searches. (doesnt use getTypeOf Root searching any more) * bike/query/common.py: rewrote getLogicalLine to handle multilines that parse seperately. (But was submitted by Peter Astrand)2004-02-10 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/getTypeOf.py: Added functionality to search from the current directory if looking for an import and scope is a module2004-02-10 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/moveToModule.py: Added handling of individual 'from a.foo import theFunction'. * bike/parsing/fastparserast.py: Added Peter Astrand's patch to fix following bug: 'Find-References (and probably others) fails if there is more whitespace than a single space between the "class"/"def" keyword and the class/def name.' * bike/query/common.py: fixed bug in just-written-code where no dest in Printnl causes npe. * bike/query/common.py: Fixed a bug in MatchFinder. Printnl ast nodes (print >>foo, bah) look at there children the opposito way to the way the text comes. (i.e. they do visit(bah), visit(foo) in the example above). Wrote code to get round this.2004-02-09 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/moveToModule.py: added more functionality to moveFunction * bike/bikefacade.py: added expanduser to normalizeFilename so that ~/src/foo gets turned into a proper full path. * bike/bikefacade.py: exposed moveClassToNewModule. * bike/refactor/moveClass.py: started move-class-to-new-module refactoring.2004-02-05 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/pathutils.py: new module containing all the functions that search all the files in the pythonpath. * bike/parsing/extended_ast.py: Removed this module. SourceFile is now in load.py, the rest is in fastparserast.py * ide-integration/BicycleRepairMan_Idle.py : Added patch from Steve <thepindropper@yahoo.com.au> to allow easier saving of files before refactoring in IDLE2004-02-04 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/extended_ast.py: lots of cleanup. Renamed Source class to SourceFile. Slimmed down Package and Root. Am planning on removing this module completely, and moving the classes into other modules. * bike/refactor/extractVariable.py: refactored and removed extractLocalVariable_old * bike/refactor/extractMethod.py: refactored and removed extractMethod_old * bike/refactor/test_rename*.py: Removed the 'rename twice' tests. They are no longer applicable (since BRM saves to disk after each refactoring) * bike/transformer/: Moved save.py and undo.py into the transformer package * bike/parsing/newstuff.py: moved generatePackageDependencies into the parsing package, because it needs to be used by other modules in the parsing package.2004-02-03 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/relationships.py: Added generatePackageDependencies which given a file in a package hierarchy, yields a list of external packages and modules used by the package. * bike/parsing/newstuff.py: Rewrote generateModuleFilenamesInPythonPath wrt new ref search scheme. Scheme: If the module you are searching from is in a package hierarchy, scan every module in the hierarchy, and the files in the directory above it (since they can reach the package without including it in PYTHONPATH). If the module is in a non-package directory, search in all files in the directory, and in any packages below that directory. N.B. this is in addition to directories in the PYTHONPATH.2004-02-02 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/newstuff.py: Removed getRegexMatchesInPythonPath * bike/parsing/newstuff.py: Modified getSourceNodesContainingRegex to search the pythonpath + the set of python files in the directory above the root package of the current file. This should remove the requirement to add the root directory to the python path, and thus prevent BRM from finding references in other package structures. * bike/query/common.py: Removed scanASTSourceNodesForMatches and walkSourceNodes * bike/globals.py: Added True/False declaration for python 2.2 back-compatibility.2004-01-26 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/common.py: Added code to check for \ in a previous line when locating logical lines2004-01-25 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/common.py: Added a test and fixed a bug that meant find-definitions from multiline statements wouldn't work if the braces were equalised on the following line. (thanks again to Detlev for reporting this bug)2004-01-14 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/common.py: Added a test and fixed a bug that meant find-definitions from multiline statements wouldn't work. (thanks to Detlev for reporting this bug)2004-01-12 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/load.py: Added Detlevs patch to not recurse into subversion directories.2004-01-11 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/newstuff.py: Added code in generateModuleFilenamesInPythonPath to ensure each filename is generated once. (and added test to check for it) (Thanks to Detlev & Syver for this bug report) * bike/query/common.py (globalScanForMatches): Removed old ast-based code from globalScanForMatches2004-01-08 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/getTypeOf.py: Fixed bug where 'from foo import aou' would cause an assert to fail if foo didn't exist. (Thanks Syver)2004-01-06 Phil Dawes <pdawes@users.sourceforge.net> * bike/bikefacade.py: Added code to normalize paths coming into BRM. (hopefully fixes Syver's problems on windows - Thanks Syver) 2003-09-04 Phil Dawes <pdawes@users.sourceforge.net> * ide-integration/BicycleRepairMan_Idle.py: Fixed bug in Bicyclerepair_idle.----------------------- 0.9 BETA4 -------------------------------2003-09-02 Phil Dawes <pdawes@users.sourceforge.net> * ide-integration/BicycleRepairMan_Idle.py: Fixed bug where brmctx was being tested for a __nonzero__ operator due to new wrapper stuff. Also made the matches window a singleton * bike/query/findReferences.py: Rewrote attribute reference finding algorithm to locate a possible match, and then check if the match class shares a common ancestor with the target. (rather than finding all classes in the target hierarchy and then testing each match class against the hierarchy). This results in a 10000% 2003-09-02 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/relationships.py: Added buildClassHierarchy functionality to guess a class hierarchy, but found that it's still much too slow to handle the wxpython class hierarchy of 1900 odd classes under 1 root!2003-09-01 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/fastparserast.py: Added maskedsrc to the cache * bike/query/getTypeOf.py: Added caching of type lookups * bike/bikefacade.py: Added a generic wrapper which purges the caches before and after each brm ctx call2003-08-31 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/newstuff.py: Added simple caching mechanism for sourceNodes2003-08-30 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/extended_ast.py: Removed some crufty methods and base classes for managing the ast tree hierarchy * bike/bikefacade.py: Removed a couple of ast related methods * bike/query/findReferences.py: Modified the findRefs functionality to exclude matches where the confidence is high that it's *not* the right type. * bike/parsing/load.py: removed the load function (and made necessary refactorings to remove it)2003-08-25 Phil Dawes <pdawes@users.sourceforge.net> * bike/bikefacade.py: Added setWarningLogger2003-08-25 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/extended_ast.py: Fixed bug where "../.." was being added to sys.path. This was because extended_ast.py was adding importing setpath.py.2003-08-25 Phil Dawes <pdawes@users.sourceforge.net> * bike/bikefacade.py: Added warning code to print message if sys.path is changed by setpath.py * ide-integration/test/README: Added ide tests for inline and extract variable * bike/bikefacade.py: Removed the load() function, and fixed inline and extract local variable----------------------- 0.9 BETA3 -------------------------------2003-08-22 Phil Dawes <pdawes@users.sourceforge.net> * bike/bikefacade.py: Fixed removeLibdirsFromPath to work with windows python lib directories----------------------- 0.9 BETA2 -------------------------------2003-08-21 Phil Dawes <pdawes@users.sourceforge.net> * bike/*: Made it backward compatible with python 2.2 * ide-integration/bike.vim: Adapted vim plugin to work with new api.----------------------- 0.9 BETA1 -------------------------------2003-08-20 Phil Dawes <pdawes@users.sourceforge.net> * bike/test_*: Misc fixes for windows paths * ide-integration/BicycleRepairMan_Idle.py: Cleaned up error handling for undo stack * bike/query/*: Misc fixes for tests * bike/refactor/extractMethod.py: Updated to work with new non-tree system2003-08-19 Phil Dawes <pdawes@users.sourceforge.net> * bike/testutils.py: Converted createSourceNodeAt to create a directory structure rather than an ast. (and broke a load of tests)2003-08-18 Phil Dawes <pdawes@users.sourceforge.net> * bike/testutils.py: added test setup fixture to change directory before executing tests2003-08-17 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/getTypeOf.py: Fixed bug which was stopping sub packages from being found properly * bike/query/relationships.py: Fixed getAllClassesInHierarchy and getAllDerivedClasses to work without AST. Uses a smart algorithm which scans the text of files with regexes for baseclassnames and import aliases to narrow down the likely candidates. 2003-08-12 Phil Dawes <pdawes@users.sourceforge.net> * README.idle: Updated docs for python2.3/idlefork2003-08-11 Phil Dawes <pdawes@users.sourceforge.net> * ide-integration/BicycleRepairMan_Idle.py: Added code to just use 1 window for matches, and to reopen it if needed after it is closed2003-08-04 Phil Dawes <pdawes@users.sourceforge.net> * bike/parsing/load.py: Fixed bug which cause BRM to descend into non-package directorys * bike/parsing/extended_ast.py: Added a couple of new functions to handle pythonpaths for queries and refactorings2003-08-01 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/common.py: modified globalScanForMatches to scan files in addition to walking the ast. * bike/query/findReferences.py: Added code to work with new stateless design.2003-07-31 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/findDefinition.py: Removed module locating code from findDefinition, and made it use resolveImportedModuleOrPackage instead. * bike/query/getTypeOf.py: Modified resolveImportedModuleOrPackage to use the newstuff function getModuleOrPackageUsingFQN if it cant locate the module in the AST tree. * bike/parsing/newstuff.py: modified getModuleUsingFQN to handle packages. renamed to getModuleOrPackageUsingFQN 2003-07-25 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/findDefinition.py: Made necessary modifications enable finding of function definitions without importing code (uses the python path to determine where to look). Doesnt work for methods yet.2003-07-10 Phil Dawes <pdawes@users.sourceforge.net> * bike/refactor/inlineVariable.py: Applied Jonathan's patch which fixes bug when multiple instances of a variable are on one line.2003-06-12 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/findReferences.py: changed findReferences interface to take a filename instead of a srcnode * bike/query/findReferences.py: Fixed bug where error wasnt being reported properly2003-06-11 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/findReferences.py: renamed findReferences to findReferences_old, and created a new findReferences which takes a filename instead of the srcnode * bike/bikefacade.py: Removed getFullyQualifiedNameOfScope - it's not used anywhere, and relies on the fqn stuff working. * all tests: attempted to remove all usage of fqn from tests. Instead, replaced with name and filename tests. This is because fqn is one of the major things binding the scopes together. * bike/bikefacade.py: removed getTypeOfExpression. It's not used anywhere. Will reinstate when it is required again. * bike/query/getTypeOf.py: Fixed bug where a recursive function could cause BRM to stack overflow2003-06-10 Phil Dawes <pdawes@users.sourceforge.net> * bike/query/getTypeOf.py: Added resolveImportedModuleOrPackage fn to try and split the number of calls to getTypeOf() * bike/query/getTypeOf.py: Fixed bug where a[0].theMethod() would cause brm to barf. * bike/parsing/fastparserast.py: Beefed up the __str__ members for
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -