llvm-project/lldb/source/Expression
Sean Callanan 686b2319e5 I made the ClangASTImporter owned by the target
rather than individually on behalf of each
ASTContext.  This allows the ASTImporter to know
about all containers of types, which will let it
be smarter about forwarding information about
type origins.  That means that the following
sequence of steps will be possible (after a few
more changes):

- Import a type from a Module's ASTContext into
  an expression parser ASTContext, tracking its
  origin information -- this works now.

- Because the result of the expression uses that
  type, import it from the expression parser
  ASTContext into the Target's scratch AST
  context, forwarding the origin information --
  this needs to be added.

- For a later expression that uses the result,
  import the type from the Target's scratch AST
  context, still forwarding origin information
  -- this also needs to be added.

- Use the intact origin information to complete
  the type as needed -- this works now if the
  origin information is present.

To this end, I made the following changes:

- ASTImporter top-level copy functions now
  require both a source and a destination AST
  context parameter.

- The ASTImporter now knows how to purge
  records related to an ASTContext that is
  going away.

- The Target now owns and creates the ASTImporter
  whenever the main executable changes or (in the
  absence of a main executable) on demand.

llvm-svn: 144802
2011-11-16 18:20:47 +00:00
..
ASTDumper.cpp Pulled in a new version of LLVM/Clang to solve a variety 2011-11-15 02:11:17 +00:00
ASTResultSynthesizer.cpp warnings: Fix a bunch of -Wreorder problems. 2011-10-31 22:50:49 +00:00
ASTStructExtractor.cpp Order of initialization lists. 2011-04-11 19:41:40 +00:00
ClangASTSource.cpp I made the ClangASTImporter owned by the target 2011-11-16 18:20:47 +00:00
ClangExpressionDeclMap.cpp Fixed a crash when we merrily went on to try to log 2011-11-16 00:40:13 +00:00
ClangExpressionParser.cpp Added a language parameter to the expression parser, 2011-11-07 23:35:40 +00:00
ClangExpressionVariable.cpp Fix up how the ValueObjects manage their life cycle so that you can hand out a shared 2011-04-22 23:53:53 +00:00
ClangFunction.cpp Converted the lldb_private::Process over to use the intrusive 2011-09-22 04:58:26 +00:00
ClangPersistentVariables.cpp Added support for persistent types to the 2011-08-23 21:20:51 +00:00
ClangUserExpression.cpp Pulled in a new version of LLVM/Clang to solve a variety 2011-11-15 02:11:17 +00:00
ClangUtilityFunction.cpp I moved the responsibility for interacting with the 2011-10-29 01:58:46 +00:00
DWARFExpression.cpp <rdar://problem/10338439> 2011-11-13 04:15:56 +00:00
ExpressionSourceCode.cpp Pulled in a new version of LLVM/Clang to solve a variety 2011-11-15 02:11:17 +00:00
IRDynamicChecks.cpp Two fixes for Objetive-C methods that return struct 2011-11-16 00:20:50 +00:00
IRForTarget.cpp Two fixes for Objetive-C methods that return struct 2011-11-16 00:20:50 +00:00
IRInterpreter.cpp warnings: Fix a bunch of -Wreorder problems. 2011-10-31 22:50:49 +00:00
Makefile Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
ProcessDataAllocator.cpp While tracking down memory consumption issue a few things were needed: the 2011-08-10 02:10:13 +00:00
RecordingMemoryManager.cpp Modified all logging calls to hand out shared pointers to make sure we 2010-11-06 01:53:30 +00:00