I have defined an ability on the top of a class so that during compilation, the whole class does not compile(if that ability is not defined).
But, I am getting compilation errors while doing that.
The case is like this:

//#ifdef Ability
class A {
}
//#endif

//#ifdef Ability
class B {
A a = new A();
}
//#endif

I am getting error in class B -> cannot find symbol : class A.
While both the classes should not even compile as the ability is not defined.
Please help if I am wrong somewhere...