clayborg added a comment.

We don't allow types to be copied into another SymbolFile. There is a strict 
rule in LLDB that SymbolFile objects only create types from their own data. 
There are many reasons we don't want this:

- Type objects have a  m_symbol_file which points to the SymbolFile that 
created it. This pointer can and will go bad if the original symbol file is 
freed.
- Type objects have a symbol context member variable ( "SymbolContextScope 
*m_context;"), same issue as above
- Type objects might have a valid encoding type member variable ("Type 
*m_encoding_type;") that is non NULL that points to a type that is owned by the 
original symbol file
- Type objects might have a encoding User ID and encoding type that point to 
the original symbol file (  lldb::user_id_t m_encoding_uid = LLDB_INVALID_UID; 
EncodingDataType m_encoding_uid_type = eEncodingInvalid;) and the user_id_t 
only makes sense in the original encoding type.




Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D142052/new/

https://reviews.llvm.org/D142052

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to