sq/JSIL — pull request #488 by iskiselev (2014-05-15 02:13:44+00:00)
Title: Dead code elimination

I think it will be good if dead code elimination would be merged in master sometimes, and pull request is good option to discuss it.

Currently DCE is still in early "beta" stage, but I was able to process my project with it (I use full mscorlib and System.Core). With DCE my .js sources is more then 2 times lighter.

I have implemented:
- generic types/methods processing
- interface methods processing
- meta attributes to mark method/field class as starting entry point for DCE
- meta attribute to mark class, that all its' method/fields/types is entry point for DCE
- meta attribute to mark class, that all its' or it derived types method/fields/types is entry point for DCE
- various bug fixes

What should still not work:
- dynamic support
- integration with JSIL proxies

What should be checked:
- integration with JSIL meta attributes
- why so many types from mscorib added to output, even if nothing used.

Great thanks to @BurntOfferings for initial implementation!