Oxidizer
From The Oxygene Language Wiki
This is a Language topic
Feel free to add your notes to this topic below.

(TODO: update to new IDE integrated version of Oxidizer)
Oxidizer is a free tool that (in combination with ShineOn) is provided to help to port Delphi (Win32 and .NET) projects to the Delphi Prism language. Oxidizer is a command line tool that will adjust your .pas source files for common differences between the two languages.
Oxidizer can make the following changes to your files:
- (0.3) Convert resourcestrings to resx
- (0.3) Create a .oxygene project
- (0.2) Convert ['{...}'] to a guid attribute
- (0.2) Parameter parsing fix when files aren't the first option on the command line
- (0.2) ResourceString -> Const
- (0.2) Remove fixed length specifiers [num] after string types
- (0.2) Move types outside of a method declaration
- (0.1) remove unsupported compiler directives, such as {$EXTERNALSYM, {$M and the like.
- (0.1) remove unsupported member directives, including deprecated, library, platform, inline, overload, stdcall, cdecl and static.
- Note: Oxidizer does not currently add the [Obsolete] attribute to a deprecated member.
- (0.1) change dynamic to virtual.
- (0.1) remove packed from record and array declarations.
- (0.1) remove strict from strict private and strict protected class visibility sections.
- (0.1) change published and automated class visibility sections to public.
- (0.1) remove type from type x = type string type declarations.
- (0.1) convert type x = 1..5 range types to Int32.
- (0.1) convert AnsiString(codepage) types to plain String.
- (0.1) update = to := in method default parameters and in attribute property assignments.
- (0.1) update array constants to use [] instead of ().
- (0.1) add missing begin/end to the else section of case statements.
- (0.1) convert array of const parameters to array of Object, optionally with params.
- (0.1) A proper command line interface
- (0.1) array const ()'s to brackets []
- (0.1) record initializer to new TRecord(a := , b := 15)
- (0.1) Dropping the last part of a unit name (only when the unit keyword is used)
Oxidizer also performs the following cosmetic adjustments:
- (0.1) add ShineOn.Rtl uses clause.
- (0.1) change unit to namespace and optionally apply the same namespace name to all files.
- (0.1) provide uses and type name remapping, including:
- String => DelphiString (which provides Delphi-style mutable strings with 1-based indexing)
- (0.1) convert procedure and function to the new method keyword.
- (0.1) convert procedure and function types to the new delegate keyword.
- (0.1) optionally add public to all type and global interface method declarations.
Download
- Download Oxidizer from the RemObjects Oxidizer Homepage
Command line interface
'/tmp/highlight.css' was not created by highlight --fragment --syntax='txt' --style-outfile='/tmp/highlight.css' (dir=/tmp)
You need to specify a language like this: <source lang="html">...</source>
Supported languages for syntax highlighting:
(error loading support language list)
See Also
Area: Oxygene Language
Compiler version: Oxygene 5
Language Glossary — Keywords — Types — FAQ — How To