Why does the c# compiler still read compile code from unused methods?
===

Say I have two methods, one calls the other.  The second method has code that will generate a compile time error.  Since it's not called, why does the compiler still bother to process it?

    void method1()
    {
        var i = 1;
        //method2();
    }

    void method2()
    {
        int i = "2";
    }