Don't serialize cached source code in SourceFiles except for SourceFile.Generated.
Don't serialize cached source code in SourceFiles except for SourceFile.Generated.

In most cases the code can be easily refetched if needed in the second stage of a multistage compilation.
In the case of SourceFile.Generated, in order to recreate the cached source the Generator has to be run.
Classes that implement the Generator interface might have some state that needs serialization. Because these classes are extension points to jscompiler we opt for not requiring them to be serialized, and instead for these cases the cached source is serialized.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=159759402

Yannic/closure-compiler,vobruba-martin/closure-compiler,tdelmas/closure-compiler,nawawi/closure-compiler,tdelmas/closure-compiler,google/closure-compiler,MatrixFrog/closure-compiler,ChadKillingsworth/closure-compiler,shantanusharma/closure-compiler,tiobe/closure-compiler,nawawi/closure-compiler,shantanusharma/closure-compiler,vobruba-martin/closure-compiler,mprobst/closure-compiler,Yannic/closure-compiler,mprobst/closure-compiler,vobruba-martin/closure-compiler,monetate/closure-compiler,MatrixFrog/closure-compiler,nawawi/closure-compiler,google/closure-compiler,nawawi/closure-compiler,MatrixFrog/closure-compiler,Yannic/closure-compiler,shantanusharma/closure-compiler,google/closure-compiler,tdelmas/closure-compiler,vobruba-martin/closure-compiler,tdelmas/closure-compiler,ChadKillingsworth/closure-compiler,ChadKillingsworth/closure-compiler,tiobe/closure-compiler,tiobe/closure-compiler,ChadKillingsworth/closure-compiler,mprobst/closure-compiler,monetate/closure-compiler,tiobe/closure-compiler,MatrixFrog/closure-compiler,monetate/closure-compiler,Yannic/closure-compiler,google/closure-compiler,monetate/closure-compiler,mprobst/closure-compiler,shantanusharma/closure-compiler