Added functionality to dematerialize values that were
used by the JIT compiled expression, including the
result of the expression.

Also added a new class, ASTType, which encapsulates an
opaque Clang type and its associated AST context.

Refactored ClangExpressionDeclMap to use ASTTypes,
significantly reducing the possibility of mixups of
types from different AST contexts.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108965 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Commands/CommandObjectExpression.cpp b/source/Commands/CommandObjectExpression.cpp
index e3f2baa..637d3dc 100644
--- a/source/Commands/CommandObjectExpression.cpp
+++ b/source/Commands/CommandObjectExpression.cpp
@@ -305,10 +305,9 @@
             }
             
             Error err;
-                        
-            lldb::addr_t struct_address = expr_decl_map.Materialize(&m_exe_ctx, err);
+            lldb::addr_t struct_address;
             
-            if (struct_address == LLDB_INVALID_ADDRESS)
+            if (!expr_decl_map.Materialize(&m_exe_ctx, struct_address, err))
             {
                 error_stream.Printf ("Couldn't materialize struct: %s\n", err.AsCString("unknown error"));
                 return false;