I assume this question is about Spec# v2. When compiling from source the parser builds an AST using classes from the AstsProjectedAsCodeModel project found in cciast.codeplex.com.
The projection that happens here does not involve the construction of a new object model, but an "on demand" projection of each node in the AST onto one or more nodes of the Code Model, often by the simple means of an AST nodes implementing the
appropriate CodeModel interface.
When the root node of the AST is visited via the appropriate visitor using CodeModel interfaces, the visitor sees only CodeModel nodes and behaves exactly as if it were dealing with a Code Model constructed in any old manner.