As discussed with Greg at the dev meeting, we need to ensure we have the module lock in the SymbolFile. Usually the symbol file is accessed through the symbol vendor which ensures that the necessary locks are taken. However, there are a few methods that are accessed by the expression parser and were lacking the lock.
This patch adds the locking where necessary and everywhere else asserts that we actually already own the lock.
This shouldn't require locking as it is just handing out a type list ivar from one place or another.