In this compiler step, the default modifiers for classes, methods, properties, and fields are added where appropriate.
Classes and other types are by default public, properties, methods, and events are made public by default, and fields are by default protected.
A constructor is added to a class definition if it does not already contain one.
A statement followed by a conditional modifier such as "if", "unless", or "while":
is replaced with a regular conditional statement (if ... statement).
"if x != null" is replaced by "if x is not null"