jingham added a comment.

In https://reviews.llvm.org/D43912#1022916, @aprantl wrote:

> > Going forward, we should transition to a model in which CompilerTypes are 
> > either valid or do not exist.
>
> I don't understand very well how the LLDB type system works so excuse my 
> naive questions: Does this account for lazyness? I.e., could there be value 
> in having an unverified type that might be sufficient for what LLDB is trying 
> to do with it, where validating it (which may involve recursively 
> materializing all of its children) might fail? I could imagine that for some 
> use-cases just knowing the size of a type would be sufficient.
>  I guess what I'm trying to say is: Are there code paths in LLDB that do 
> something useful with a type where `type.IsValid()==false` ?


No, I don't think so.  Laziness might make a type go from valid (we only got 
the forward type) to invalid if the attempt to complete it fails for some 
reason (base class missing, for instance).  But a not yet fully completed type 
will call itself valid, not invalid.


https://reviews.llvm.org/D43912



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

Reply via email to