Version 0.3.1 of the Code Processor has been released!

14 views
Skip to first unread message

Bryan Hughes

unread,
Feb 14, 2013, 2:31:40 PM2/14/13
to appc-...@googlegroups.com
I just realized I haven't done one of these posts in a while, so here's the changelog dating back to the previous post

0.3.1 (14 February 2013)

New Features
  • Added support for parsing values from Ti.UI.createXXX constructors
  • Added support for Ti.UI.Window.url
Bug Fixes
  • Fixed a bug where deferred analysis of methods wasn't setting up the proper context
    • Methods are deferred either because they are a callback (addEventListener/setTimeout/etc) or because they weren't analyzed and processUnvisitedCode is true
  • * Prevented duplicate errors and warnings from being reported
    • Duplicate errors and warnings were being reported when the same line of code causing the error was visited multiple times, thus throwing multiple errors

0.3.0 (1 February 2013)

New Features
  • Reworked the CLI interface to be much more robust
    • The code processor now takes a sub-command, one of 'options', 'plugins', 'analyze', and 'subprocess'
    • The 'subprocess' sub-command provides an interactive, structured mechanism for calling the code processor from other programs
  • Plugins can now take options
    • Options must be specified using a configuration file
  • Plugins can now reside anywhere
    • To specify plugins in another location, they must be specified in a configuration file
  • The ti-api-processor plugin now allows you to specify values for any primitive type in the API
    • This can be used to see how an app will react to, say, a specific screen size
  • Plugins are now checked to make sure their dependencies are also loaded
  • Added --all-plugins and --non-ti-plugins flags to the CLI to load all plugins or all non-Titanium-specific plugins, respectively
    • Now, if no plugins are specified, no plugins are loaded
Bug Fixes
  • Fixed a bug where the code processor crashes when encountering a reference to an undeclared variable that is named the same as an Object prototype property
  • Added a lot of configuration validation to prevent unexpected behavior/crashes when supplied with bad configuration data

0.2.2 (20 Janurary 2013)

Bug Fixes
  • Fixed property references on Ti objects being ignored

0.2.1 (20 January 2013)

New Features
  • Added a new option "processUnvisitedCode"
    • All .js files that are not processed are processed in an ambiguous context
    • All functions that are not invoked are invoked in an ambiguous context
    • This option, when combined with invokeMethods=false, makes the code processor work in a more static manner. Processing is much faster, but results are not as accurate
  • Removed support for event tags
    • They were never used and getting rid of them improved perfomance
Bug Fixes
  • Improved maximum recursion detection/handling to avoid maximum call stack exceeded exceptions
  • Lots of small bug fixes dealing with unknown values
Reply all
Reply to author
Forward
0 new messages