Class: Apparat::TDSI

Inherits:
Sprout::Executable::Base
  • Object
show all
Defined in:
lib/apparat/tdsi.rb

Overview

The TDSI tool performs various bytecode transformations. Besides specific transformations the application will always try to do certain peephole optimizations. Most of them will fix problems with older ActionScript compiler versions.

Instance Method Summary collapse

Instance Method Details

#alchemyObject

This option will inline Alchemy operations from ActionScript. If you use the Memory class provided by the apparat-ersatz library those operations will be replaced with fast Alchemy op codes. More information is available at code.google.com/p/apparat/wiki/MemoryPool

default true



35
# File 'lib/apparat/tdsi.rb', line 35

add_param :alchemy, Boolean, { :shell_name => '-a', :default => false, :delimiter => ' ' }

#executableObject

The default executable target



56
# File 'lib/apparat/tdsi.rb', line 56

set :executable, :tdsi

#fixObject

If you specify the “-f” argument TDSI will try to fix certain problems with files generated by the Alchemy compiler. This transformation will only affect code generated from C/C++ sources. This option defaults to false. The best way to optimize an Alchemy file with TDSI is by calling “tdsi -i input.swc -o output.swc -f true -a false -e false -m false”.



26
# File 'lib/apparat/tdsi.rb', line 26

add_param :fix, Boolean, { :shell_name => '-f', :default => false, :delimiter => ' ' }

#inlinedObject

Perform inline expansion. If your class extends the apparat.inline.Inline class all its static methods will be inlined when called. Those methods may not contain exceptions and must be static.

default - true



44
# File 'lib/apparat/tdsi.rb', line 44

add_param :inlined, Boolean, { :shell_name => '-e', :default => false, :delimiter => ' ' }

#inputObject

The source file to apply turbo to



13
# File 'lib/apparat/tdsi.rb', line 13

add_param :input, File, { :required => true, :shell_name => '-i', :delimiter => ' ' }

#macroObject

Whether or not to enable macro expansion. Macros are like a type-safe copy and paste that happens at compile time. More information is available here: code.google.com/p/apparat/wiki/MemoryPool



51
# File 'lib/apparat/tdsi.rb', line 51

add_param :macro, Boolean, { :shell_name => '-m', :default => false, :delimiter => ' ' }

#outputObject

The turbo powered swf/swc



18
# File 'lib/apparat/tdsi.rb', line 18

add_param :output, String, { :shell_name => '-o', :delimiter => ' ' }