Remove unbound variable warnings

Remove unbound variable warnings that were resolved at runtime
I'm afraid it is inappropriate to add ``symbol`` to ``warningEntry``. All fields are about when/where/what. They should be common and meaningful for every ``WarningEntry``. So IMHO, firstly, it is hard to figure out the meaning of this field based on name ``symbol`` -- updated symbols or symbols referenced in this warning (it raise the other questions -- why not a list of symbols?).  Secondly, most warning entries don't have this field, we can see in the following code, we need to check if ``symbol != null``. 

So my idea is, if we really need this symbol filed, why not inherit from ``WarningEntry``, for example, ``SymbolResolutionWarning`` so that it is category for warnings like symbol redefined, symbol not found and so on.