-
由 Andrew Casey 提交于
In the dev12 PDB format, usings and imports were encoded as strings in PDB files. The strings were structured, but required a certain amount of guesswork (for example, you might not know whether you were importing a type or a namespace until after binding). In the new PDB format, usings and imports are represented as structured blobs and tokens are used wherever possible. This change introduces two new class hierarchies, ImportRecord and ExternAliasRecord, that the expression compiler can pass around instead of raw strings. Unfortunately, there is still switching logic in two places - both when these types are instantiated and when they are consumed. The instantiation switch is very simple - we just check for the appropriate version of ISymUnmanagedReaderX. The consumption logic is more complex, because the new and old representations differ substantially. TODO: Presently, there is very little code for consuming the new PDB format, since the APIs are not yet available.
c2ba34e8