Add feedback from Vikram

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21534 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2005-04-25 15:47:57 +00:00
parent 5fe8561bbe
commit 0f876db7d5

View File

@ -970,6 +970,15 @@ assembly parser, and linker also have to be aware of the inner workings of this
system.
</p>
<p>
For our purposes below, we need three concepts. First, an "Opaque Type" is
exactly as defined in the <a href="LangRef.html#t_opaque">language
reference</a>. Second an "Abstract Type" is any type which includes an
opaque type as part of its type graph (for example "<tt>{ opaque, int }</tt>").
Third, a concrete type is a type that is not an abstract type (e.g. "<tt>[ int,
float }</tt>").
</p>
</div>
<!-- ______________________________________________________________________ -->
@ -1093,8 +1102,8 @@ changes.</p>
To support this, a class can derive from the AbstractTypeUser class. This class
allows it to get callbacks when certain types are resolved. To register to get
callbacks for a particular type, the DerivedType::{add/remove}AbstractTypeUser
methods can be called on a type. Note that these methods only work for {\em
abstract} types. Concrete types (those that do not include an opaque objects
methods can be called on a type. Note that these methods only work for <i>
abstract</i> types. Concrete types (those that do not include an opaque objects
somewhere) can never be refined.
</p>
</div>