The following example illustrates the problem:
CREATE OR REPLACE PACKAGE test
AS
SUBTYPE mytype1 IS VARCHAR2(16 CHAR);
SUBTYPE mytype2 IS VARCHAR2(16 CHAR);
PROCEDURE do_something;
END;
/
With conditional compilation:
CREATE OR REPLACE PACKAGE test
AS
$IF some_constant
$THEN
SUBTYPE mytype1 IS VARCHAR2(16 CHAR);
SUBTYPE mytype2 IS VARCHAR2(16 CHAR);
$END
PROCEDURE do_something;
END;
The blank line between the two types is repeatedly deleted when the code is formatted.
That's just an example. Blank lines are also removed inside conditional compilation in other places.