Fix: Macros false detect in if function
Fix generate cache.