aboutsummaryrefslogtreecommitdiff
path: root/src/interp/c-util.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/c-util.boot')
-rw-r--r--src/interp/c-util.boot19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index bc0c6726..9ac95081 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -145,15 +145,17 @@ macro domainData d ==
structure %CompilationData ==
Record(subst: %Substitution,idata: %Substitution,bytes: List %Fixnum,
- items: %Buffer %Pair(%SourceEntity,%Elaboration)) with
- cdSubstitution == (.subst)
- cdImplicits == (.idata)
- cdBytes == (.bytes)
- cdItems == (.items)
+ shell: %Vector %Thing,
+ items: %Buffer %Pair(%SourceEntity,%Elaboration)) with
+ cdSubstitution == (.subst)
+ cdImplicits == (.idata)
+ cdBytes == (.bytes)
+ cdShell == (.shell)
+ cdItems == (.items)
++ Make a fresh compilation data structure.
makeCompilationData() ==
- mk%CompilationData(nil,nil,nil,[nil,:0])
+ mk%CompilationData(nil,nil,nil,nil,[nil,:0])
++ Subsitution that replaces parameters with formals.
macro dbFormalSubst db ==
@@ -174,6 +176,11 @@ macro dbImplicitData db ==
macro dbByteList db ==
cdBytes dbCompilerData db
+++ Return the domain shell of the category object (or the category object
+++ of the domain) being elaborated.
+macro dbDomainShell db ==
+ cdShell dbCompilerData db
+
++ Return a buffer of entities referenced during elaboration
++ of current functor.
macro dbEntityBuffer db ==