lucy-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nwelln...@apache.org
Subject [2/3] Rename Clownfish::VTable to Clownfish::Class
Date Sun, 06 Jul 2014 15:44:06 GMT
http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Plan/Schema.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Plan/Schema.c b/core/Lucy/Plan/Schema.c
index 4173145..8e778bf 100644
--- a/core/Lucy/Plan/Schema.c
+++ b/core/Lucy/Plan/Schema.c
@@ -48,7 +48,7 @@ S_add_numeric_field(Schema *self, String *field, FieldType *type);
 
 Schema*
 Schema_new() {
-    Schema *self = (Schema*)VTable_Make_Obj(SCHEMA);
+    Schema *self = (Schema*)Class_Make_Obj(SCHEMA);
     return Schema_init(self);
 }
 
@@ -88,7 +88,7 @@ S_add_unique(VArray *array, Obj *elem) {
         Obj *candidate = VA_Fetch(array, i);
         if (!candidate) { continue; }
         if (elem == candidate) { return; }
-        if (Obj_Get_VTable(elem) == Obj_Get_VTable(candidate)) {
+        if (Obj_Get_Class(elem) == Obj_Get_Class(candidate)) {
             if (Obj_Equals(elem, candidate)) { return; }
         }
     }
@@ -236,7 +236,7 @@ S_find_in_array(VArray *array, Obj *obj) {
             return i;
         }
         else if (obj != NULL && candidate != NULL) {
-            if (Obj_Get_VTable(obj) == Obj_Get_VTable(candidate)) {
+            if (Obj_Get_Class(obj) == Obj_Get_Class(candidate)) {
                 if (Obj_Equals(obj, candidate)) {
                     return i;
                 }
@@ -265,10 +265,10 @@ Schema_Dump_IMP(Schema *self) {
     Hash_Store_Utf8(dump, "fields", 6, (Obj*)type_dumps);
     Hash_Iterate(ivars->types);
     while (Hash_Next(ivars->types, (Obj**)&field, (Obj**)&type)) {
-        VTable *type_vtable = FType_Get_VTable(type);
+        Class *type_class = FType_Get_Class(type);
 
         // Dump known types to simplified format.
-        if (type_vtable == FULLTEXTTYPE) {
+        if (type_class == FULLTEXTTYPE) {
             FullTextType *fttype = (FullTextType*)type;
             Hash *type_dump = FullTextType_Dump_For_Schema(fttype);
             Analyzer *analyzer = FullTextType_Get_Analyzer(fttype);
@@ -281,7 +281,7 @@ Schema_Dump_IMP(Schema *self) {
 
             Hash_Store(type_dumps, (Obj*)field, (Obj*)type_dump);
         }
-        else if (type_vtable == STRINGTYPE || type_vtable == BLOBTYPE) {
+        else if (type_class == STRINGTYPE || type_class == BLOBTYPE) {
             Hash *type_dump = FType_Dump_For_Schema(type);
             Hash_Store(type_dumps, (Obj*)field, (Obj*)type_dump);
         }
@@ -295,8 +295,8 @@ Schema_Dump_IMP(Schema *self) {
 }
 
 static FieldType*
-S_load_type(VTable *vtable, Obj *type_dump) {
-    FieldType *dummy = (FieldType*)VTable_Make_Obj(vtable);
+S_load_type(Class *klass, Obj *type_dump) {
+    FieldType *dummy = (FieldType*)Class_Make_Obj(klass);
     FieldType *loaded = (FieldType*)FType_Load(dummy, type_dump);
     DECREF(dummy);
     return loaded;
@@ -307,8 +307,8 @@ Schema_Load_IMP(Schema *self, Obj *dump) {
     Hash *source = (Hash*)CERTIFY(dump, HASH);
     String *class_name
         = (String*)CERTIFY(Hash_Fetch_Utf8(source, "_class", 6), STRING);
-    VTable *vtable = VTable_singleton(class_name, NULL);
-    Schema *loaded = (Schema*)VTable_Make_Obj(vtable);
+    Class *klass = Class_singleton(class_name, NULL);
+    Schema *loaded = (Schema*)Class_Make_Obj(klass);
     Hash *type_dumps
         = (Hash*)CERTIFY(Hash_Fetch_Utf8(source, "fields", 6), HASH);
     VArray *analyzer_dumps
@@ -403,7 +403,7 @@ Schema_Load_IMP(Schema *self, Obj *dump) {
 
 void
 Schema_Eat_IMP(Schema *self, Schema *other) {
-    if (!Schema_Is_A(self, Schema_Get_VTable(other))) {
+    if (!Schema_Is_A(self, Schema_Get_Class(other))) {
         THROW(ERR, "%o not a descendent of %o",
               Schema_Get_Class_Name(self), Schema_Get_Class_Name(other));
     }

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Plan/StringType.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Plan/StringType.c b/core/Lucy/Plan/StringType.c
index 087d743..e7f6f95 100644
--- a/core/Lucy/Plan/StringType.c
+++ b/core/Lucy/Plan/StringType.c
@@ -23,7 +23,7 @@
 
 StringType*
 StringType_new() {
-    StringType *self = (StringType*)VTable_Make_Obj(STRINGTYPE);
+    StringType *self = (StringType*)Class_Make_Obj(STRINGTYPE);
     return StringType_init(self);
 }
 
@@ -90,11 +90,11 @@ StringType*
 StringType_Load_IMP(StringType *self, Obj *dump) {
     Hash *source = (Hash*)CERTIFY(dump, HASH);
     String *class_name = (String*)Hash_Fetch_Utf8(source, "_class", 6);
-    VTable *vtable
+    Class *klass
         = (class_name != NULL && Obj_Is_A((Obj*)class_name, STRING))
-          ? VTable_singleton(class_name, NULL)
+          ? Class_singleton(class_name, NULL)
           : STRINGTYPE;
-    StringType *loaded   = (StringType*)VTable_Make_Obj(vtable);
+    StringType *loaded   = (StringType*)Class_Make_Obj(klass);
     Obj *boost_dump      = Hash_Fetch_Utf8(source, "boost", 5);
     Obj *indexed_dump    = Hash_Fetch_Utf8(source, "indexed", 7);
     Obj *stored_dump     = Hash_Fetch_Utf8(source, "stored", 6);

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Plan/TextType.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Plan/TextType.c b/core/Lucy/Plan/TextType.c
index 675b51a..4552e1e 100644
--- a/core/Lucy/Plan/TextType.c
+++ b/core/Lucy/Plan/TextType.c
@@ -41,7 +41,7 @@ TextType_Primitive_ID_IMP(TextType *self) {
 TextTermStepper*
 TextTermStepper_new() {
     TextTermStepper *self
-        = (TextTermStepper*)VTable_Make_Obj(TEXTTERMSTEPPER);
+        = (TextTermStepper*)Class_Make_Obj(TEXTTERMSTEPPER);
     return TextTermStepper_init(self);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/ANDMatcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/ANDMatcher.c b/core/Lucy/Search/ANDMatcher.c
index 17f9086..059e6f8 100644
--- a/core/Lucy/Search/ANDMatcher.c
+++ b/core/Lucy/Search/ANDMatcher.c
@@ -22,7 +22,7 @@
 
 ANDMatcher*
 ANDMatcher_new(VArray *children, Similarity *sim) {
-    ANDMatcher *self = (ANDMatcher*)VTable_Make_Obj(ANDMATCHER);
+    ANDMatcher *self = (ANDMatcher*)Class_Make_Obj(ANDMATCHER);
     return ANDMatcher_init(self, children, sim);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/ANDQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/ANDQuery.c b/core/Lucy/Search/ANDQuery.c
index 88bfe5a..5f96714 100644
--- a/core/Lucy/Search/ANDQuery.c
+++ b/core/Lucy/Search/ANDQuery.c
@@ -34,7 +34,7 @@
 
 ANDQuery*
 ANDQuery_new(VArray *children) {
-    ANDQuery *self = (ANDQuery*)VTable_Make_Obj(ANDQUERY);
+    ANDQuery *self = (ANDQuery*)Class_Make_Obj(ANDQUERY);
     return ANDQuery_init(self, children);
 }
 
@@ -91,7 +91,7 @@ ANDQuery_Make_Compiler_IMP(ANDQuery *self, Searcher *searcher, float boost,
 
 ANDCompiler*
 ANDCompiler_new(ANDQuery *parent, Searcher *searcher, float boost) {
-    ANDCompiler *self = (ANDCompiler*)VTable_Make_Obj(ANDCOMPILER);
+    ANDCompiler *self = (ANDCompiler*)Class_Make_Obj(ANDCOMPILER);
     return ANDCompiler_init(self, parent, searcher, boost);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/BitVecMatcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/BitVecMatcher.c b/core/Lucy/Search/BitVecMatcher.c
index 7bb0cc8..7ca5c0a 100644
--- a/core/Lucy/Search/BitVecMatcher.c
+++ b/core/Lucy/Search/BitVecMatcher.c
@@ -21,7 +21,7 @@
 
 BitVecMatcher*
 BitVecMatcher_new(BitVector *bit_vector) {
-    BitVecMatcher *self = (BitVecMatcher*)VTable_Make_Obj(BITVECMATCHER);
+    BitVecMatcher *self = (BitVecMatcher*)Class_Make_Obj(BITVECMATCHER);
     return BitVecMatcher_init(self, bit_vector);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/Collector.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/Collector.c b/core/Lucy/Search/Collector.c
index b2ff11c..01b7811 100644
--- a/core/Lucy/Search/Collector.c
+++ b/core/Lucy/Search/Collector.c
@@ -62,7 +62,7 @@ Coll_Set_Base_IMP(Collector *self, int32_t base) {
 
 BitCollector*
 BitColl_new(BitVector *bit_vec) {
-    BitCollector *self = (BitCollector*)VTable_Make_Obj(BITCOLLECTOR);
+    BitCollector *self = (BitCollector*)Class_Make_Obj(BITCOLLECTOR);
     return BitColl_init(self, bit_vec);
 }
 
@@ -98,7 +98,7 @@ BitColl_Need_Score_IMP(BitCollector *self) {
 OffsetCollector*
 OffsetColl_new(Collector *inner_coll, int32_t offset) {
     OffsetCollector *self
-        = (OffsetCollector*)VTable_Make_Obj(OFFSETCOLLECTOR);
+        = (OffsetCollector*)Class_Make_Obj(OFFSETCOLLECTOR);
     return OffsetColl_init(self, inner_coll, offset);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/Collector/SortCollector.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/Collector/SortCollector.c b/core/Lucy/Search/Collector/SortCollector.c
index 4001b6b..801d5c0 100644
--- a/core/Lucy/Search/Collector/SortCollector.c
+++ b/core/Lucy/Search/Collector/SortCollector.c
@@ -67,7 +67,7 @@ SI_competitive(SortCollectorIVARS *ivars, int32_t doc_id);
 
 SortCollector*
 SortColl_new(Schema *schema, SortSpec *sort_spec, uint32_t wanted) {
-    SortCollector *self = (SortCollector*)VTable_Make_Obj(SORTCOLLECTOR);
+    SortCollector *self = (SortCollector*)Class_Make_Obj(SORTCOLLECTOR);
     return SortColl_init(self, schema, sort_spec, wanted);
 }
 
@@ -225,7 +225,7 @@ void
 SortColl_Set_Reader_IMP(SortCollector *self, SegReader *reader) {
     SortCollectorIVARS *const ivars = SortColl_IVARS(self);
     SortReader *sort_reader
-        = (SortReader*)SegReader_Fetch(reader, VTable_Get_Name(SORTREADER));
+        = (SortReader*)SegReader_Fetch(reader, Class_Get_Name(SORTREADER));
 
     // Reset threshold variables and trigger auto-action behavior.
     MatchDocIVARS *const bumped_ivars = MatchDoc_IVARS(ivars->bumped);

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/HitQueue.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/HitQueue.c b/core/Lucy/Search/HitQueue.c
index fb32c1d..6faa598 100644
--- a/core/Lucy/Search/HitQueue.c
+++ b/core/Lucy/Search/HitQueue.c
@@ -38,7 +38,7 @@
 
 HitQueue*
 HitQ_new(Schema *schema, SortSpec *sort_spec, uint32_t wanted) {
-    HitQueue *self = (HitQueue*)VTable_Make_Obj(HITQUEUE);
+    HitQueue *self = (HitQueue*)Class_Make_Obj(HITQUEUE);
     return HitQ_init(self, schema, sort_spec, wanted);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/Hits.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/Hits.c b/core/Lucy/Search/Hits.c
index 42cf571..fa59246 100644
--- a/core/Lucy/Search/Hits.c
+++ b/core/Lucy/Search/Hits.c
@@ -27,7 +27,7 @@
 
 Hits*
 Hits_new(Searcher *searcher, TopDocs *top_docs, uint32_t offset) {
-    Hits *self = (Hits*)VTable_Make_Obj(HITS);
+    Hits *self = (Hits*)Class_Make_Obj(HITS);
     return Hits_init(self, searcher, top_docs, offset);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/IndexSearcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/IndexSearcher.c b/core/Lucy/Search/IndexSearcher.c
index b631bf0..080e6e1 100644
--- a/core/Lucy/Search/IndexSearcher.c
+++ b/core/Lucy/Search/IndexSearcher.c
@@ -45,7 +45,7 @@
 
 IndexSearcher*
 IxSearcher_new(Obj *index) {
-    IndexSearcher *self = (IndexSearcher*)VTable_Make_Obj(INDEXSEARCHER);
+    IndexSearcher *self = (IndexSearcher*)Class_Make_Obj(INDEXSEARCHER);
     return IxSearcher_init(self, index);
 }
 
@@ -62,9 +62,9 @@ IxSearcher_init(IndexSearcher *self, Obj *index) {
     ivars->seg_readers = IxReader_Seg_Readers(ivars->reader);
     ivars->seg_starts  = IxReader_Offsets(ivars->reader);
     ivars->doc_reader = (DocReader*)IxReader_Fetch(
-                           ivars->reader, VTable_Get_Name(DOCREADER));
+                           ivars->reader, Class_Get_Name(DOCREADER));
     ivars->hl_reader = (HighlightReader*)IxReader_Fetch(
-                          ivars->reader, VTable_Get_Name(HIGHLIGHTREADER));
+                          ivars->reader, Class_Get_Name(HIGHLIGHTREADER));
     if (ivars->doc_reader) { INCREF(ivars->doc_reader); }
     if (ivars->hl_reader)  { INCREF(ivars->hl_reader); }
 
@@ -107,7 +107,7 @@ IxSearcher_Doc_Freq_IMP(IndexSearcher *self, String *field, Obj *term) {
     IndexSearcherIVARS *const ivars = IxSearcher_IVARS(self);
     LexiconReader *lex_reader
         = (LexiconReader*)IxReader_Fetch(ivars->reader,
-                                         VTable_Get_Name(LEXICONREADER));
+                                         Class_Get_Name(LEXICONREADER));
     return lex_reader ? LexReader_Doc_Freq(lex_reader, field, term) : 0;
 }
 
@@ -143,7 +143,7 @@ IxSearcher_Collect_IMP(IndexSearcher *self, Query *query, Collector *collector)
         SegReader *seg_reader = (SegReader*)VA_Fetch(seg_readers, i);
         DeletionsReader *del_reader = (DeletionsReader*)SegReader_Fetch(
                                           seg_reader,
-                                          VTable_Get_Name(DELETIONSREADER));
+                                          Class_Get_Name(DELETIONSREADER));
         Matcher *matcher
             = Compiler_Make_Matcher(compiler, seg_reader, need_score);
         if (matcher) {

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/LeafQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/LeafQuery.c b/core/Lucy/Search/LeafQuery.c
index 189ae2c..fe9f41a 100644
--- a/core/Lucy/Search/LeafQuery.c
+++ b/core/Lucy/Search/LeafQuery.c
@@ -26,7 +26,7 @@
 
 LeafQuery*
 LeafQuery_new(String *field, String *text) {
-    LeafQuery *self = (LeafQuery*)VTable_Make_Obj(LEAFQUERY);
+    LeafQuery *self = (LeafQuery*)Class_Make_Obj(LEAFQUERY);
     return LeafQuery_init(self, field, text);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/MatchAllMatcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/MatchAllMatcher.c b/core/Lucy/Search/MatchAllMatcher.c
index 30f8263..6008c65 100644
--- a/core/Lucy/Search/MatchAllMatcher.c
+++ b/core/Lucy/Search/MatchAllMatcher.c
@@ -22,7 +22,7 @@
 MatchAllMatcher*
 MatchAllMatcher_new(float score, int32_t doc_max) {
     MatchAllMatcher *self
-        = (MatchAllMatcher*)VTable_Make_Obj(MATCHALLMATCHER);
+        = (MatchAllMatcher*)Class_Make_Obj(MATCHALLMATCHER);
     return MatchAllMatcher_init(self, score, doc_max);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/MatchAllQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/MatchAllQuery.c b/core/Lucy/Search/MatchAllQuery.c
index 2028e39..484f7c0 100644
--- a/core/Lucy/Search/MatchAllQuery.c
+++ b/core/Lucy/Search/MatchAllQuery.c
@@ -31,7 +31,7 @@
 
 MatchAllQuery*
 MatchAllQuery_new() {
-    MatchAllQuery *self = (MatchAllQuery*)VTable_Make_Obj(MATCHALLQUERY);
+    MatchAllQuery *self = (MatchAllQuery*)Class_Make_Obj(MATCHALLQUERY);
     return MatchAllQuery_init(self);
 }
 
@@ -71,7 +71,7 @@ MatchAllCompiler*
 MatchAllCompiler_new(MatchAllQuery *parent, Searcher *searcher,
                      float boost) {
     MatchAllCompiler *self
-        = (MatchAllCompiler*)VTable_Make_Obj(MATCHALLCOMPILER);
+        = (MatchAllCompiler*)Class_Make_Obj(MATCHALLCOMPILER);
     return MatchAllCompiler_init(self, parent, searcher, boost);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/MatchDoc.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/MatchDoc.c b/core/Lucy/Search/MatchDoc.c
index da847fd..2797932 100644
--- a/core/Lucy/Search/MatchDoc.c
+++ b/core/Lucy/Search/MatchDoc.c
@@ -24,7 +24,7 @@
 
 MatchDoc*
 MatchDoc_new(int32_t doc_id, float score, VArray *values) {
-    MatchDoc *self = (MatchDoc*)VTable_Make_Obj(MATCHDOC);
+    MatchDoc *self = (MatchDoc*)Class_Make_Obj(MATCHDOC);
     return MatchDoc_init(self, doc_id, score, values);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/Matcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/Matcher.c b/core/Lucy/Search/Matcher.c
index c3c0fcf..2003369 100644
--- a/core/Lucy/Search/Matcher.c
+++ b/core/Lucy/Search/Matcher.c
@@ -21,7 +21,6 @@
 
 #include "Lucy/Search/Matcher.h"
 #include "Clownfish/Err.h"
-#include "Clownfish/VTable.h"
 #include "Lucy/Search/Collector.h"
 
 Matcher*

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/NOTMatcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/NOTMatcher.c b/core/Lucy/Search/NOTMatcher.c
index 022a8a5..327d939 100644
--- a/core/Lucy/Search/NOTMatcher.c
+++ b/core/Lucy/Search/NOTMatcher.c
@@ -23,7 +23,7 @@
 
 NOTMatcher*
 NOTMatcher_new(Matcher *negated_matcher, int32_t doc_max) {
-    NOTMatcher *self = (NOTMatcher*)VTable_Make_Obj(NOTMATCHER);
+    NOTMatcher *self = (NOTMatcher*)Class_Make_Obj(NOTMATCHER);
     return NOTMatcher_init(self, negated_matcher, doc_max);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/NOTQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/NOTQuery.c b/core/Lucy/Search/NOTQuery.c
index 0daa62e..74374ff 100644
--- a/core/Lucy/Search/NOTQuery.c
+++ b/core/Lucy/Search/NOTQuery.c
@@ -29,7 +29,7 @@
 
 NOTQuery*
 NOTQuery_new(Query *negated_query) {
-    NOTQuery *self = (NOTQuery*)VTable_Make_Obj(NOTQUERY);
+    NOTQuery *self = (NOTQuery*)Class_Make_Obj(NOTQUERY);
     return NOTQuery_init(self, negated_query);
 }
 
@@ -85,7 +85,7 @@ NOTQuery_Make_Compiler_IMP(NOTQuery *self, Searcher *searcher, float boost,
 
 NOTCompiler*
 NOTCompiler_new(NOTQuery *parent, Searcher *searcher, float boost) {
-    NOTCompiler *self = (NOTCompiler*)VTable_Make_Obj(NOTCOMPILER);
+    NOTCompiler *self = (NOTCompiler*)Class_Make_Obj(NOTCOMPILER);
     return NOTCompiler_init(self, parent, searcher, boost);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/NoMatchMatcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/NoMatchMatcher.c b/core/Lucy/Search/NoMatchMatcher.c
index 093fb0d..9748d19 100644
--- a/core/Lucy/Search/NoMatchMatcher.c
+++ b/core/Lucy/Search/NoMatchMatcher.c
@@ -24,7 +24,7 @@
 
 NoMatchMatcher*
 NoMatchMatcher_new() {
-    NoMatchMatcher *self = (NoMatchMatcher*)VTable_Make_Obj(NOMATCHMATCHER);
+    NoMatchMatcher *self = (NoMatchMatcher*)Class_Make_Obj(NOMATCHMATCHER);
     return NoMatchMatcher_init(self);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/NoMatchQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/NoMatchQuery.c b/core/Lucy/Search/NoMatchQuery.c
index bd9a045..55fb008 100644
--- a/core/Lucy/Search/NoMatchQuery.c
+++ b/core/Lucy/Search/NoMatchQuery.c
@@ -29,7 +29,7 @@
 
 NoMatchQuery*
 NoMatchQuery_new() {
-    NoMatchQuery *self = (NoMatchQuery*)VTable_Make_Obj(NOMATCHQUERY);
+    NoMatchQuery *self = (NoMatchQuery*)Class_Make_Obj(NOMATCHQUERY);
     return NoMatchQuery_init(self);
 }
 
@@ -119,7 +119,7 @@ NoMatchCompiler*
 NoMatchCompiler_new(NoMatchQuery *parent, Searcher *searcher,
                     float boost) {
     NoMatchCompiler *self
-        = (NoMatchCompiler*)VTable_Make_Obj(NOMATCHCOMPILER);
+        = (NoMatchCompiler*)Class_Make_Obj(NOMATCHCOMPILER);
     return NoMatchCompiler_init(self, parent, searcher, boost);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/ORMatcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/ORMatcher.c b/core/Lucy/Search/ORMatcher.c
index d37360f..0d30e29 100644
--- a/core/Lucy/Search/ORMatcher.c
+++ b/core/Lucy/Search/ORMatcher.c
@@ -65,7 +65,7 @@ S_sift_down(ORMatcher *self, ORMatcherIVARS *ivars);
 
 ORMatcher*
 ORMatcher_new(VArray *children) {
-    ORMatcher *self = (ORMatcher*)VTable_Make_Obj(ORMATCHER);
+    ORMatcher *self = (ORMatcher*)Class_Make_Obj(ORMATCHER);
     return ORMatcher_init(self, children);
 }
 
@@ -294,7 +294,7 @@ S_advance_after_current(ORScorer *self, ORScorerIVARS *ivars);
 
 ORScorer*
 ORScorer_new(VArray *children, Similarity *sim) {
-    ORScorer *self = (ORScorer*)VTable_Make_Obj(ORSCORER);
+    ORScorer *self = (ORScorer*)Class_Make_Obj(ORSCORER);
     return ORScorer_init(self, children, sim);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/ORQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/ORQuery.c b/core/Lucy/Search/ORQuery.c
index 5167d0c..78a2850 100644
--- a/core/Lucy/Search/ORQuery.c
+++ b/core/Lucy/Search/ORQuery.c
@@ -30,7 +30,7 @@
 
 ORQuery*
 ORQuery_new(VArray *children) {
-    ORQuery *self = (ORQuery*)VTable_Make_Obj(ORQUERY);
+    ORQuery *self = (ORQuery*)Class_Make_Obj(ORQUERY);
     return ORQuery_init(self, children);
 }
 
@@ -87,7 +87,7 @@ ORQuery_To_String_IMP(ORQuery *self) {
 
 ORCompiler*
 ORCompiler_new(ORQuery *parent, Searcher *searcher, float boost) {
-    ORCompiler *self = (ORCompiler*)VTable_Make_Obj(ORCOMPILER);
+    ORCompiler *self = (ORCompiler*)Class_Make_Obj(ORCOMPILER);
     return ORCompiler_init(self, parent, searcher, boost);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/PhraseMatcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/PhraseMatcher.c b/core/Lucy/Search/PhraseMatcher.c
index bca7883..936fad1 100644
--- a/core/Lucy/Search/PhraseMatcher.c
+++ b/core/Lucy/Search/PhraseMatcher.c
@@ -27,7 +27,7 @@
 
 PhraseMatcher*
 PhraseMatcher_new(Similarity *sim, VArray *plists, Compiler *compiler) {
-    PhraseMatcher *self = (PhraseMatcher*)VTable_Make_Obj(PHRASEMATCHER);
+    PhraseMatcher *self = (PhraseMatcher*)Class_Make_Obj(PHRASEMATCHER);
     return PhraseMatcher_init(self, sim, plists, compiler);
 
 }

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/PhraseQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/PhraseQuery.c b/core/Lucy/Search/PhraseQuery.c
index 19abb78..cd5cabb 100644
--- a/core/Lucy/Search/PhraseQuery.c
+++ b/core/Lucy/Search/PhraseQuery.c
@@ -47,7 +47,7 @@ S_do_init(PhraseQuery *self, String *field, VArray *terms, float boost);
 
 PhraseQuery*
 PhraseQuery_new(String *field, VArray *terms) {
-    PhraseQuery *self = (PhraseQuery*)VTable_Make_Obj(PHRASEQUERY);
+    PhraseQuery *self = (PhraseQuery*)Class_Make_Obj(PHRASEQUERY);
     return PhraseQuery_init(self, field, terms);
 }
 
@@ -196,7 +196,7 @@ PhraseQuery_Get_Terms_IMP(PhraseQuery *self) {
 
 PhraseCompiler*
 PhraseCompiler_new(PhraseQuery *parent, Searcher *searcher, float boost) {
-    PhraseCompiler *self = (PhraseCompiler*)VTable_Make_Obj(PHRASECOMPILER);
+    PhraseCompiler *self = (PhraseCompiler*)Class_Make_Obj(PHRASECOMPILER);
     return PhraseCompiler_init(self, parent, searcher, boost);
 }
 
@@ -316,7 +316,7 @@ PhraseCompiler_Make_Matcher_IMP(PhraseCompiler *self, SegReader *reader,
     // Bail if there's no PostingListReader for this segment.
     PostingListReader *const plist_reader
         = (PostingListReader*)SegReader_Fetch(
-              reader, VTable_Get_Name(POSTINGLISTREADER));
+              reader, Class_Get_Name(POSTINGLISTREADER));
     if (!plist_reader) { return NULL; }
 
     // Look up each term.

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/PolyMatcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/PolyMatcher.c b/core/Lucy/Search/PolyMatcher.c
index 22693a2..e19e8e8 100644
--- a/core/Lucy/Search/PolyMatcher.c
+++ b/core/Lucy/Search/PolyMatcher.c
@@ -22,7 +22,7 @@
 
 PolyMatcher*
 PolyMatcher_new(VArray *children, Similarity *sim) {
-    PolyMatcher *self = (PolyMatcher*)VTable_Make_Obj(POLYMATCHER);
+    PolyMatcher *self = (PolyMatcher*)Class_Make_Obj(POLYMATCHER);
     return PolyMatcher_init(self, children, sim);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/PolySearcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/PolySearcher.c b/core/Lucy/Search/PolySearcher.c
index 48ec3d3..6c80b87 100644
--- a/core/Lucy/Search/PolySearcher.c
+++ b/core/Lucy/Search/PolySearcher.c
@@ -47,12 +47,12 @@ PolySearcher_init(PolySearcher *self, Schema *schema, VArray *searchers) {
     for (uint32_t i = 0; i < num_searchers; i++) {
         Searcher *searcher
             = (Searcher*)CERTIFY(VA_Fetch(searchers, i), SEARCHER);
-        Schema *candidate    = Searcher_Get_Schema(searcher);
-        VTable *orig_vt      = Schema_Get_VTable(schema);
-        VTable *candidate_vt = Schema_Get_VTable(candidate);
+        Schema *candidate       = Searcher_Get_Schema(searcher);
+        Class  *orig_class      = Schema_Get_Class(schema);
+        Class  *candidate_class = Schema_Get_Class(candidate);
 
         // Confirm that searchers all use the same schema.
-        if (orig_vt != candidate_vt) {
+        if (orig_class != candidate_class) {
             THROW(ERR, "Conflicting schemas: '%o', '%o'",
                   Schema_Get_Class_Name(schema),
                   Schema_Get_Class_Name(candidate));

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/Query.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/Query.c b/core/Lucy/Search/Query.c
index 78ebea2..889a822 100644
--- a/core/Lucy/Search/Query.c
+++ b/core/Lucy/Search/Query.c
@@ -68,8 +68,8 @@ Query_Load_IMP(Query *self, Obj *dump) {
     Hash *source = (Hash*)CERTIFY(dump, HASH);
     String *class_name
         = (String*)CERTIFY(Hash_Fetch_Utf8(source, "_class", 6), STRING);
-    VTable *vtable = VTable_singleton(class_name, NULL);
-    Query *loaded = (Query*)VTable_Make_Obj(vtable);
+    Class *klass  = Class_singleton(class_name, NULL);
+    Query *loaded = (Query*)Class_Make_Obj(klass);
     Obj *boost = CERTIFY(Hash_Fetch_Utf8(source, "boost", 5), OBJ);
     Query_IVARS(loaded)->boost = (float)Obj_To_F64(boost);
     return (Obj*)loaded;

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/QueryParser.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/QueryParser.c b/core/Lucy/Search/QueryParser.c
index 1a27965..b0f25a9 100644
--- a/core/Lucy/Search/QueryParser.c
+++ b/core/Lucy/Search/QueryParser.c
@@ -99,7 +99,7 @@ S_compose_subquery(QueryParser *self, VArray *elems, bool enclosed);
 QueryParser*
 QParser_new(Schema *schema, Analyzer *analyzer, String *default_boolop,
             VArray *fields) {
-    QueryParser *self = (QueryParser*)VTable_Make_Obj(QUERYPARSER);
+    QueryParser *self = (QueryParser*)Class_Make_Obj(QUERYPARSER);
     return QParser_init(self, schema, analyzer, default_boolop, fields);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/QueryParser/ParserElem.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/QueryParser/ParserElem.c b/core/Lucy/Search/QueryParser/ParserElem.c
index 9a831df..147d2cb 100644
--- a/core/Lucy/Search/QueryParser/ParserElem.c
+++ b/core/Lucy/Search/QueryParser/ParserElem.c
@@ -21,7 +21,7 @@
 
 ParserElem*
 ParserElem_new(uint32_t type, Obj *value) {
-    ParserElem *self = (ParserElem*)VTable_Make_Obj(PARSERELEM);
+    ParserElem *self = (ParserElem*)Class_Make_Obj(PARSERELEM);
     return ParserElem_init(self, type, value);
 }
 
@@ -50,9 +50,9 @@ ParserElem_Set_Value_IMP(ParserElem *self, Obj *value) {
 }
 
 Obj*
-ParserElem_As_IMP(ParserElem *self, VTable *metaclass) {
+ParserElem_As_IMP(ParserElem *self, Class *klass) {
     ParserElemIVARS *const ivars = ParserElem_IVARS(self);
-    if (ivars->value && Obj_Is_A(ivars->value, metaclass)) {
+    if (ivars->value && Obj_Is_A(ivars->value, klass)) {
         return ivars->value;
     }
     return NULL;

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/QueryParser/ParserElem.cfh
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/QueryParser/ParserElem.cfh b/core/Lucy/Search/QueryParser/ParserElem.cfh
index ebc5e03..b07bb9b 100644
--- a/core/Lucy/Search/QueryParser/ParserElem.cfh
+++ b/core/Lucy/Search/QueryParser/ParserElem.cfh
@@ -40,7 +40,7 @@ class Lucy::Search::QueryParser::ParserElem inherits Clownfish::Obj {
      * otherwise.
      */
     nullable Obj*
-    As(ParserElem *self, VTable *metaclass);
+    As(ParserElem *self, Class *klass);
 
     uint32_t
     Get_Type(ParserElem *self);

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/QueryParser/QueryLexer.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/QueryParser/QueryLexer.c b/core/Lucy/Search/QueryParser/QueryLexer.c
index f3827dd..f070fb9 100644
--- a/core/Lucy/Search/QueryParser/QueryLexer.c
+++ b/core/Lucy/Search/QueryParser/QueryLexer.c
@@ -49,7 +49,7 @@ S_consume_quoted_string(StringIterator *iter);
 
 QueryLexer*
 QueryLexer_new() {
-    QueryLexer *self = (QueryLexer*)VTable_Make_Obj(QUERYLEXER);
+    QueryLexer *self = (QueryLexer*)Class_Make_Obj(QUERYLEXER);
     return QueryLexer_init(self);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/RangeMatcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/RangeMatcher.c b/core/Lucy/Search/RangeMatcher.c
index 11d6b01..6bf9b7a 100644
--- a/core/Lucy/Search/RangeMatcher.c
+++ b/core/Lucy/Search/RangeMatcher.c
@@ -23,7 +23,7 @@
 RangeMatcher*
 RangeMatcher_new(int32_t lower_bound, int32_t upper_bound, SortCache *sort_cache,
                  int32_t doc_max) {
-    RangeMatcher *self = (RangeMatcher*)VTable_Make_Obj(RANGEMATCHER);
+    RangeMatcher *self = (RangeMatcher*)Class_Make_Obj(RANGEMATCHER);
     return RangeMatcher_init(self, lower_bound, upper_bound, sort_cache,
                              doc_max);
 }

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/RangeQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/RangeQuery.c b/core/Lucy/Search/RangeQuery.c
index f42d2e3..9b9bbb3 100644
--- a/core/Lucy/Search/RangeQuery.c
+++ b/core/Lucy/Search/RangeQuery.c
@@ -43,7 +43,7 @@ S_find_upper_bound(RangeCompiler *self, SortCache *sort_cache);
 RangeQuery*
 RangeQuery_new(String *field, Obj *lower_term, Obj *upper_term,
                bool include_lower, bool include_upper) {
-    RangeQuery *self = (RangeQuery*)VTable_Make_Obj(RANGEQUERY);
+    RangeQuery *self = (RangeQuery*)Class_Make_Obj(RANGEQUERY);
     return RangeQuery_init(self, field, lower_term, upper_term,
                            include_lower, include_upper);
 }
@@ -225,7 +225,7 @@ RangeQuery_Make_Compiler_IMP(RangeQuery *self, Searcher *searcher,
 RangeCompiler*
 RangeCompiler_new(RangeQuery *parent, Searcher *searcher, float boost) {
     RangeCompiler *self
-        = (RangeCompiler*)VTable_Make_Obj(RANGECOMPILER);
+        = (RangeCompiler*)Class_Make_Obj(RANGECOMPILER);
     return RangeCompiler_init(self, parent, searcher, boost);
 }
 
@@ -242,7 +242,7 @@ RangeCompiler_Make_Matcher_IMP(RangeCompiler *self, SegReader *reader,
     RangeQuery *parent = (RangeQuery*)RangeCompiler_IVARS(self)->parent;
     String *field = RangeQuery_IVARS(parent)->field;
     SortReader *sort_reader
-        = (SortReader*)SegReader_Fetch(reader, VTable_Get_Name(SORTREADER));
+        = (SortReader*)SegReader_Fetch(reader, Class_Get_Name(SORTREADER));
     SortCache *sort_cache = sort_reader
                             ? SortReader_Fetch_Sort_Cache(sort_reader, field)
                             : NULL;

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/RequiredOptionalMatcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/RequiredOptionalMatcher.c b/core/Lucy/Search/RequiredOptionalMatcher.c
index 9d969d6..5735a90 100644
--- a/core/Lucy/Search/RequiredOptionalMatcher.c
+++ b/core/Lucy/Search/RequiredOptionalMatcher.c
@@ -24,7 +24,7 @@ RequiredOptionalMatcher*
 ReqOptMatcher_new(Similarity *similarity, Matcher *required_matcher,
                   Matcher *optional_matcher) {
     RequiredOptionalMatcher *self
-        = (RequiredOptionalMatcher*)VTable_Make_Obj(REQUIREDOPTIONALMATCHER);
+        = (RequiredOptionalMatcher*)Class_Make_Obj(REQUIREDOPTIONALMATCHER);
     return ReqOptMatcher_init(self, similarity, required_matcher,
                               optional_matcher);
 }

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/RequiredOptionalQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/RequiredOptionalQuery.c b/core/Lucy/Search/RequiredOptionalQuery.c
index f4ad1ef..d43d5dc 100644
--- a/core/Lucy/Search/RequiredOptionalQuery.c
+++ b/core/Lucy/Search/RequiredOptionalQuery.c
@@ -28,7 +28,7 @@
 RequiredOptionalQuery*
 ReqOptQuery_new(Query *required_query, Query *optional_query) {
     RequiredOptionalQuery *self
-        = (RequiredOptionalQuery*)VTable_Make_Obj(REQUIREDOPTIONALQUERY);
+        = (RequiredOptionalQuery*)Class_Make_Obj(REQUIREDOPTIONALQUERY);
     return ReqOptQuery_init(self, required_query, optional_query);
 }
 
@@ -106,7 +106,7 @@ RequiredOptionalCompiler*
 ReqOptCompiler_new(RequiredOptionalQuery *parent, Searcher *searcher,
                    float boost) {
     RequiredOptionalCompiler *self
-        = (RequiredOptionalCompiler*)VTable_Make_Obj(
+        = (RequiredOptionalCompiler*)Class_Make_Obj(
               REQUIREDOPTIONALCOMPILER);
     return ReqOptCompiler_init(self, parent, searcher, boost);
 }

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/SeriesMatcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/SeriesMatcher.c b/core/Lucy/Search/SeriesMatcher.c
index 55cfe02..2f5176c 100644
--- a/core/Lucy/Search/SeriesMatcher.c
+++ b/core/Lucy/Search/SeriesMatcher.c
@@ -21,7 +21,7 @@
 
 SeriesMatcher*
 SeriesMatcher_new(VArray *matchers, I32Array *offsets) {
-    SeriesMatcher *self = (SeriesMatcher*)VTable_Make_Obj(SERIESMATCHER);
+    SeriesMatcher *self = (SeriesMatcher*)Class_Make_Obj(SERIESMATCHER);
     return SeriesMatcher_init(self, matchers, offsets);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/SortRule.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/SortRule.c b/core/Lucy/Search/SortRule.c
index 2d4a653..d904cfb 100644
--- a/core/Lucy/Search/SortRule.c
+++ b/core/Lucy/Search/SortRule.c
@@ -28,7 +28,7 @@ int32_t SortRule_DOC_ID = 2;
 
 SortRule*
 SortRule_new(int32_t type, String *field, bool reverse) {
-    SortRule *self = (SortRule*)VTable_Make_Obj(SORTRULE);
+    SortRule *self = (SortRule*)Class_Make_Obj(SORTRULE);
     return SortRule_init(self, type, field, reverse);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/SortSpec.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/SortSpec.c b/core/Lucy/Search/SortSpec.c
index 0e0a9c5..3ba42fa 100644
--- a/core/Lucy/Search/SortSpec.c
+++ b/core/Lucy/Search/SortSpec.c
@@ -29,7 +29,7 @@
 
 SortSpec*
 SortSpec_new(VArray *rules) {
-    SortSpec *self = (SortSpec*)VTable_Make_Obj(SORTSPEC);
+    SortSpec *self = (SortSpec*)Class_Make_Obj(SORTSPEC);
     return SortSpec_init(self, rules);
 }
 
@@ -58,7 +58,7 @@ SortSpec_Deserialize_IMP(SortSpec *self, InStream *instream) {
 
     // Add rules.
     for (uint32_t i = 0; i < num_rules; i++) {
-        SortRule *blank = (SortRule*)VTable_Make_Obj(SORTRULE);
+        SortRule *blank = (SortRule*)Class_Make_Obj(SORTRULE);
         VA_Push(rules, (Obj*)SortRule_Deserialize(blank, instream));
     }
     SortSpec_init(self, rules);

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/Span.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/Span.c b/core/Lucy/Search/Span.c
index 049ce3b..87c283d 100644
--- a/core/Lucy/Search/Span.c
+++ b/core/Lucy/Search/Span.c
@@ -21,7 +21,7 @@
 
 Span*
 Span_new(int32_t offset, int32_t length, float weight) {
-    Span *self = (Span*)VTable_Make_Obj(SPAN);
+    Span *self = (Span*)Class_Make_Obj(SPAN);
     return Span_init(self, offset, length, weight);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/TermQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/TermQuery.c b/core/Lucy/Search/TermQuery.c
index 38db59a..19a898e 100644
--- a/core/Lucy/Search/TermQuery.c
+++ b/core/Lucy/Search/TermQuery.c
@@ -36,7 +36,7 @@
 
 TermQuery*
 TermQuery_new(String *field, Obj *term) {
-    TermQuery *self = (TermQuery*)VTable_Make_Obj(TERMQUERY);
+    TermQuery *self = (TermQuery*)Class_Make_Obj(TERMQUERY);
     return TermQuery_init(self, field, term);
 }
 
@@ -145,7 +145,7 @@ TermQuery_Make_Compiler_IMP(TermQuery *self, Searcher *searcher, float boost,
 
 TermCompiler*
 TermCompiler_new(Query *parent, Searcher *searcher, float boost) {
-    TermCompiler *self = (TermCompiler*)VTable_Make_Obj(TERMCOMPILER);
+    TermCompiler *self = (TermCompiler*)Class_Make_Obj(TERMCOMPILER);
     return TermCompiler_init(self, parent, searcher, boost);
 }
 
@@ -263,7 +263,7 @@ TermCompiler_Make_Matcher_IMP(TermCompiler *self, SegReader *reader,
         = TermQuery_IVARS((TermQuery*)ivars->parent);
     PostingListReader *plist_reader
         = (PostingListReader*)SegReader_Fetch(
-              reader, VTable_Get_Name(POSTINGLISTREADER));
+              reader, Class_Get_Name(POSTINGLISTREADER));
     PostingList *plist = plist_reader
                          ? PListReader_Posting_List(plist_reader,
                                                     parent_ivars->field,

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Search/TopDocs.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/TopDocs.c b/core/Lucy/Search/TopDocs.c
index 221781a..22f8de4 100644
--- a/core/Lucy/Search/TopDocs.c
+++ b/core/Lucy/Search/TopDocs.c
@@ -28,7 +28,7 @@
 
 TopDocs*
 TopDocs_new(VArray *match_docs, uint32_t total_hits) {
-    TopDocs *self = (TopDocs*)VTable_Make_Obj(TOPDOCS);
+    TopDocs *self = (TopDocs*)Class_Make_Obj(TOPDOCS);
     return TopDocs_init(self, match_docs, total_hits);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/CompoundFileReader.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/CompoundFileReader.c b/core/Lucy/Store/CompoundFileReader.c
index e24064d..edf31c6 100644
--- a/core/Lucy/Store/CompoundFileReader.c
+++ b/core/Lucy/Store/CompoundFileReader.c
@@ -29,7 +29,7 @@
 CompoundFileReader*
 CFReader_open(Folder *folder) {
     CompoundFileReader *self
-        = (CompoundFileReader*)VTable_Make_Obj(COMPOUNDFILEREADER);
+        = (CompoundFileReader*)Class_Make_Obj(COMPOUNDFILEREADER);
     return CFReader_do_open(self, folder);
 }
 
@@ -270,7 +270,7 @@ CFReader_Local_Open_Dir_IMP(CompoundFileReader *self) {
 CFReaderDirHandle*
 CFReaderDH_new(CompoundFileReader *cf_reader) {
     CFReaderDirHandle *self
-        = (CFReaderDirHandle*)VTable_Make_Obj(CFREADERDIRHANDLE);
+        = (CFReaderDirHandle*)Class_Make_Obj(CFREADERDIRHANDLE);
     return CFReaderDH_init(self, cf_reader);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/CompoundFileWriter.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/CompoundFileWriter.c b/core/Lucy/Store/CompoundFileWriter.c
index d1f2938..025ef65 100644
--- a/core/Lucy/Store/CompoundFileWriter.c
+++ b/core/Lucy/Store/CompoundFileWriter.c
@@ -38,7 +38,7 @@ S_clean_up_old_temp_files(CompoundFileWriter *self,
 CompoundFileWriter*
 CFWriter_new(Folder *folder) {
     CompoundFileWriter *self
-        = (CompoundFileWriter*)VTable_Make_Obj(COMPOUNDFILEWRITER);
+        = (CompoundFileWriter*)Class_Make_Obj(COMPOUNDFILEWRITER);
     return CFWriter_init(self, folder);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/FSDirHandle.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/FSDirHandle.c b/core/Lucy/Store/FSDirHandle.c
index 506042f..8a04fa1 100644
--- a/core/Lucy/Store/FSDirHandle.c
+++ b/core/Lucy/Store/FSDirHandle.c
@@ -32,7 +32,7 @@
 
 FSDirHandle*
 FSDH_open(String *dir) {
-    FSDirHandle *self = (FSDirHandle*)VTable_Make_Obj(FSDIRHANDLE);
+    FSDirHandle *self = (FSDirHandle*)Class_Make_Obj(FSDIRHANDLE);
     return FSDH_do_open(self, dir);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/FSFileHandle.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/FSFileHandle.c b/core/Lucy/Store/FSFileHandle.c
index 8568b6b..c4e95d3 100644
--- a/core/Lucy/Store/FSFileHandle.c
+++ b/core/Lucy/Store/FSFileHandle.c
@@ -84,7 +84,7 @@ SI_close_win_handles(FSFileHandle *self);
 
 FSFileHandle*
 FSFH_open(String *path, uint32_t flags) {
-    FSFileHandle *self = (FSFileHandle*)VTable_Make_Obj(FSFILEHANDLE);
+    FSFileHandle *self = (FSFileHandle*)Class_Make_Obj(FSFILEHANDLE);
     return FSFH_do_open(self, path, flags);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/FSFolder.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/FSFolder.c b/core/Lucy/Store/FSFolder.c
index 7a535d8..abbae12 100644
--- a/core/Lucy/Store/FSFolder.c
+++ b/core/Lucy/Store/FSFolder.c
@@ -80,7 +80,7 @@ S_hard_link(char *from_path, char *to_path);
 
 FSFolder*
 FSFolder_new(String *path) {
-    FSFolder *self = (FSFolder*)VTable_Make_Obj(FSFOLDER);
+    FSFolder *self = (FSFolder*)Class_Make_Obj(FSFOLDER);
     return FSFolder_init(self, path);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/FileWindow.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/FileWindow.c b/core/Lucy/Store/FileWindow.c
index 2a6072e..11a931e 100644
--- a/core/Lucy/Store/FileWindow.c
+++ b/core/Lucy/Store/FileWindow.c
@@ -21,7 +21,7 @@
 
 FileWindow*
 FileWindow_new() {
-    FileWindow *self = (FileWindow*)VTable_Make_Obj(FILEWINDOW);
+    FileWindow *self = (FileWindow*)Class_Make_Obj(FILEWINDOW);
     return FileWindow_init(self);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/InStream.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/InStream.c b/core/Lucy/Store/InStream.c
index 885e576..9e7380e 100644
--- a/core/Lucy/Store/InStream.c
+++ b/core/Lucy/Store/InStream.c
@@ -48,7 +48,7 @@ S_refill(InStream *self);
 
 InStream*
 InStream_open(Obj *file) {
-    InStream *self = (InStream*)VTable_Make_Obj(INSTREAM);
+    InStream *self = (InStream*)Class_Make_Obj(INSTREAM);
     return InStream_do_open(self, file);
 }
 
@@ -133,8 +133,8 @@ InStream_Reopen_IMP(InStream *self, String *filename, int64_t offset,
               offset, len, FH_Length(ivars->file_handle));
     }
 
-    VTable *vtable = InStream_Get_VTable(self);
-    InStream *other = (InStream*)VTable_Make_Obj(vtable);
+    Class *klass = InStream_Get_Class(self);
+    InStream *other = (InStream*)Class_Make_Obj(klass);
     InStreamIVARS *const ovars = InStream_IVARS(other);
     InStream_do_open(other, (Obj*)ivars->file_handle);
     if (filename != NULL) {
@@ -151,8 +151,8 @@ InStream_Reopen_IMP(InStream *self, String *filename, int64_t offset,
 InStream*
 InStream_Clone_IMP(InStream *self) {
     InStreamIVARS *const ivars = InStream_IVARS(self);
-    VTable *vtable = InStream_Get_VTable(self);
-    InStream *twin = (InStream*)VTable_Make_Obj(vtable);
+    Class *klass = InStream_Get_Class(self);
+    InStream *twin = (InStream*)Class_Make_Obj(klass);
     InStream_do_open(twin, (Obj*)ivars->file_handle);
     InStream_Seek(twin, SI_tell(self));
     return twin;

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/Lock.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/Lock.c b/core/Lucy/Store/Lock.c
index f252f8f..a1f9089 100644
--- a/core/Lucy/Store/Lock.c
+++ b/core/Lucy/Store/Lock.c
@@ -114,7 +114,7 @@ Lock_Obtain_IMP(Lock *self) {
 LockFileLock*
 LFLock_new(Folder *folder, String *name, String *host,
            int32_t timeout, int32_t interval) {
-    LockFileLock *self = (LockFileLock*)VTable_Make_Obj(LOCKFILELOCK);
+    LockFileLock *self = (LockFileLock*)Class_Make_Obj(LOCKFILELOCK);
     return LFLock_init(self, folder, name, host, timeout, interval);
 }
 
@@ -294,7 +294,7 @@ LFLock_Destroy_IMP(LockFileLock *self) {
 
 LockErr*
 LockErr_new(String *message) {
-    LockErr *self = (LockErr*)VTable_Make_Obj(LOCKERR);
+    LockErr *self = (LockErr*)Class_Make_Obj(LOCKERR);
     return LockErr_init(self, message);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/LockFactory.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/LockFactory.c b/core/Lucy/Store/LockFactory.c
index dee3d20..eb50cea 100644
--- a/core/Lucy/Store/LockFactory.c
+++ b/core/Lucy/Store/LockFactory.c
@@ -28,7 +28,7 @@
 
 LockFactory*
 LockFact_new(Folder *folder, String *host) {
-    LockFactory *self = (LockFactory*)VTable_Make_Obj(LOCKFACTORY);
+    LockFactory *self = (LockFactory*)Class_Make_Obj(LOCKFACTORY);
     return LockFact_init(self, folder, host);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/OutStream.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/OutStream.c b/core/Lucy/Store/OutStream.c
index 98c6077..63af1e4 100644
--- a/core/Lucy/Store/OutStream.c
+++ b/core/Lucy/Store/OutStream.c
@@ -40,7 +40,7 @@ S_flush(OutStream *self, OutStreamIVARS *ivars);
 
 OutStream*
 OutStream_open(Obj *file) {
-    OutStream *self = (OutStream*)VTable_Make_Obj(OUTSTREAM);
+    OutStream *self = (OutStream*)Class_Make_Obj(OUTSTREAM);
     return OutStream_do_open(self, file);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/RAMDirHandle.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/RAMDirHandle.c b/core/Lucy/Store/RAMDirHandle.c
index 39caf05..d0261e2 100644
--- a/core/Lucy/Store/RAMDirHandle.c
+++ b/core/Lucy/Store/RAMDirHandle.c
@@ -24,7 +24,7 @@
 
 RAMDirHandle*
 RAMDH_new(RAMFolder *folder) {
-    RAMDirHandle *self = (RAMDirHandle*)VTable_Make_Obj(RAMDIRHANDLE);
+    RAMDirHandle *self = (RAMDirHandle*)Class_Make_Obj(RAMDIRHANDLE);
     return RAMDH_init(self, folder);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/RAMFile.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/RAMFile.c b/core/Lucy/Store/RAMFile.c
index 8160e52..001a70b 100644
--- a/core/Lucy/Store/RAMFile.c
+++ b/core/Lucy/Store/RAMFile.c
@@ -21,7 +21,7 @@
 
 RAMFile*
 RAMFile_new(ByteBuf *contents, bool read_only) {
-    RAMFile *self = (RAMFile*)VTable_Make_Obj(RAMFILE);
+    RAMFile *self = (RAMFile*)Class_Make_Obj(RAMFILE);
     return RAMFile_init(self, contents, read_only);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/RAMFileHandle.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/RAMFileHandle.c b/core/Lucy/Store/RAMFileHandle.c
index 98edc44..ce9cba0 100644
--- a/core/Lucy/Store/RAMFileHandle.c
+++ b/core/Lucy/Store/RAMFileHandle.c
@@ -23,7 +23,7 @@
 
 RAMFileHandle*
 RAMFH_open(String *path, uint32_t flags, RAMFile *file) {
-    RAMFileHandle *self = (RAMFileHandle*)VTable_Make_Obj(RAMFILEHANDLE);
+    RAMFileHandle *self = (RAMFileHandle*)Class_Make_Obj(RAMFILEHANDLE);
     return RAMFH_do_open(self, path, flags, file);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/RAMFolder.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/RAMFolder.c b/core/Lucy/Store/RAMFolder.c
index fe497ab..cd1c981 100644
--- a/core/Lucy/Store/RAMFolder.c
+++ b/core/Lucy/Store/RAMFolder.c
@@ -32,7 +32,7 @@ S_fullpath(RAMFolder *self, String *path);
 
 RAMFolder*
 RAMFolder_new(String *path) {
-    RAMFolder *self = (RAMFolder*)VTable_Make_Obj(RAMFOLDER);
+    RAMFolder *self = (RAMFolder*)Class_Make_Obj(RAMFOLDER);
     return RAMFolder_init(self, path);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Store/SharedLock.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Store/SharedLock.c b/core/Lucy/Store/SharedLock.c
index 54bb4e5..18bcef5 100644
--- a/core/Lucy/Store/SharedLock.c
+++ b/core/Lucy/Store/SharedLock.c
@@ -29,7 +29,7 @@
 SharedLock*
 ShLock_new(Folder *folder, String *name, String *host,
            int32_t timeout, int32_t interval) {
-    SharedLock *self = (SharedLock*)VTable_Make_Obj(SHAREDLOCK);
+    SharedLock *self = (SharedLock*)Class_Make_Obj(SHAREDLOCK);
     return ShLock_init(self, folder, name, host, timeout, interval);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Analysis/TestAnalyzer.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Analysis/TestAnalyzer.c b/core/Lucy/Test/Analysis/TestAnalyzer.c
index a78c023..ba871fa 100644
--- a/core/Lucy/Test/Analysis/TestAnalyzer.c
+++ b/core/Lucy/Test/Analysis/TestAnalyzer.c
@@ -26,12 +26,12 @@
 
 TestAnalyzer*
 TestAnalyzer_new() {
-    return (TestAnalyzer*)VTable_Make_Obj(TESTANALYZER);
+    return (TestAnalyzer*)Class_Make_Obj(TESTANALYZER);
 }
 
 DummyAnalyzer*
 DummyAnalyzer_new() {
-    DummyAnalyzer *self = (DummyAnalyzer*)VTable_Make_Obj(DUMMYANALYZER);
+    DummyAnalyzer *self = (DummyAnalyzer*)Class_Make_Obj(DUMMYANALYZER);
     return DummyAnalyzer_init(self);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Analysis/TestCaseFolder.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Analysis/TestCaseFolder.c b/core/Lucy/Test/Analysis/TestCaseFolder.c
index be032ca..9a72f96 100644
--- a/core/Lucy/Test/Analysis/TestCaseFolder.c
+++ b/core/Lucy/Test/Analysis/TestCaseFolder.c
@@ -26,7 +26,7 @@
 
 TestCaseFolder*
 TestCaseFolder_new() {
-    return (TestCaseFolder*)VTable_Make_Obj(TESTCASEFOLDER);
+    return (TestCaseFolder*)Class_Make_Obj(TESTCASEFOLDER);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Analysis/TestNormalizer.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Analysis/TestNormalizer.c b/core/Lucy/Test/Analysis/TestNormalizer.c
index 578f2c3..e0f8e5d 100644
--- a/core/Lucy/Test/Analysis/TestNormalizer.c
+++ b/core/Lucy/Test/Analysis/TestNormalizer.c
@@ -31,7 +31,7 @@
 
 TestNormalizer*
 TestNormalizer_new() {
-    return (TestNormalizer*)VTable_Make_Obj(TESTNORMALIZER);
+    return (TestNormalizer*)Class_Make_Obj(TESTNORMALIZER);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Analysis/TestPolyAnalyzer.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Analysis/TestPolyAnalyzer.c b/core/Lucy/Test/Analysis/TestPolyAnalyzer.c
index 2602c80..30c9885 100644
--- a/core/Lucy/Test/Analysis/TestPolyAnalyzer.c
+++ b/core/Lucy/Test/Analysis/TestPolyAnalyzer.c
@@ -31,7 +31,7 @@
 
 TestPolyAnalyzer*
 TestPolyAnalyzer_new() {
-    return (TestPolyAnalyzer*)VTable_Make_Obj(TESTPOLYANALYZER);
+    return (TestPolyAnalyzer*)Class_Make_Obj(TESTPOLYANALYZER);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Analysis/TestRegexTokenizer.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Analysis/TestRegexTokenizer.c b/core/Lucy/Test/Analysis/TestRegexTokenizer.c
index 84a333f..c5755bd 100644
--- a/core/Lucy/Test/Analysis/TestRegexTokenizer.c
+++ b/core/Lucy/Test/Analysis/TestRegexTokenizer.c
@@ -26,7 +26,7 @@
 
 TestRegexTokenizer*
 TestRegexTokenizer_new() {
-    return (TestRegexTokenizer*)VTable_Make_Obj(TESTREGEXTOKENIZER);
+    return (TestRegexTokenizer*)Class_Make_Obj(TESTREGEXTOKENIZER);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Analysis/TestSnowballStemmer.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Analysis/TestSnowballStemmer.c b/core/Lucy/Test/Analysis/TestSnowballStemmer.c
index 7848ce2..0c7c187 100644
--- a/core/Lucy/Test/Analysis/TestSnowballStemmer.c
+++ b/core/Lucy/Test/Analysis/TestSnowballStemmer.c
@@ -28,7 +28,7 @@
 
 TestSnowballStemmer*
 TestSnowStemmer_new() {
-    return (TestSnowballStemmer*)VTable_Make_Obj(TESTSNOWBALLSTEMMER);
+    return (TestSnowballStemmer*)Class_Make_Obj(TESTSNOWBALLSTEMMER);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Analysis/TestSnowballStopFilter.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Analysis/TestSnowballStopFilter.c b/core/Lucy/Test/Analysis/TestSnowballStopFilter.c
index 44fe6dc..dc555f1 100644
--- a/core/Lucy/Test/Analysis/TestSnowballStopFilter.c
+++ b/core/Lucy/Test/Analysis/TestSnowballStopFilter.c
@@ -25,13 +25,13 @@
 
 TestSnowballStopFilter*
 TestSnowStop_new() {
-    return (TestSnowballStopFilter*)VTable_Make_Obj(TESTSNOWBALLSTOPFILTER);
+    return (TestSnowballStopFilter*)Class_Make_Obj(TESTSNOWBALLSTOPFILTER);
 }
 
 static SnowballStopFilter*
 S_make_stopfilter(void *unused, ...) {
     va_list args;
-    SnowballStopFilter *self = (SnowballStopFilter*)VTable_Make_Obj(SNOWBALLSTOPFILTER);
+    SnowballStopFilter *self = (SnowballStopFilter*)Class_Make_Obj(SNOWBALLSTOPFILTER);
     Hash *stoplist = Hash_new(0);
     char *stopword;
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Analysis/TestStandardTokenizer.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Analysis/TestStandardTokenizer.c b/core/Lucy/Test/Analysis/TestStandardTokenizer.c
index 7f181c1..b0dcf77 100644
--- a/core/Lucy/Test/Analysis/TestStandardTokenizer.c
+++ b/core/Lucy/Test/Analysis/TestStandardTokenizer.c
@@ -28,7 +28,7 @@
 
 TestStandardTokenizer*
 TestStandardTokenizer_new() {
-    return (TestStandardTokenizer*)VTable_Make_Obj(TESTSTANDARDTOKENIZER);
+    return (TestStandardTokenizer*)Class_Make_Obj(TESTSTANDARDTOKENIZER);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Highlight/TestHeatMap.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Highlight/TestHeatMap.c b/core/Lucy/Test/Highlight/TestHeatMap.c
index 13a033b..d1e2055 100644
--- a/core/Lucy/Test/Highlight/TestHeatMap.c
+++ b/core/Lucy/Test/Highlight/TestHeatMap.c
@@ -26,7 +26,7 @@
 
 TestHeatMap*
 TestHeatMap_new() {
-    return (TestHeatMap*)VTable_Make_Obj(TESTHEATMAP);
+    return (TestHeatMap*)Class_Make_Obj(TESTHEATMAP);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Highlight/TestHighlighter.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Highlight/TestHighlighter.c b/core/Lucy/Test/Highlight/TestHighlighter.c
index 8520c07..3dfc8d0 100644
--- a/core/Lucy/Test/Highlight/TestHighlighter.c
+++ b/core/Lucy/Test/Highlight/TestHighlighter.c
@@ -54,7 +54,7 @@
 
 TestHighlighter*
 TestHighlighter_new() {
-    return (TestHighlighter*)VTable_Make_Obj(TESTHIGHLIGHTER);
+    return (TestHighlighter*)Class_Make_Obj(TESTHIGHLIGHTER);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Index/TestDocWriter.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Index/TestDocWriter.c b/core/Lucy/Test/Index/TestDocWriter.c
index 2d092a8..218a547 100644
--- a/core/Lucy/Test/Index/TestDocWriter.c
+++ b/core/Lucy/Test/Index/TestDocWriter.c
@@ -25,7 +25,7 @@
 
 TestDocWriter*
 TestDocWriter_new() {
-    return (TestDocWriter*)VTable_Make_Obj(TESTDOCWRITER);
+    return (TestDocWriter*)Class_Make_Obj(TESTDOCWRITER);
 }
 
 void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Index/TestHighlightWriter.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Index/TestHighlightWriter.c b/core/Lucy/Test/Index/TestHighlightWriter.c
index 7584e75..848e2ff 100644
--- a/core/Lucy/Test/Index/TestHighlightWriter.c
+++ b/core/Lucy/Test/Index/TestHighlightWriter.c
@@ -25,7 +25,7 @@
 
 TestHighlightWriter*
 TestHLWriter_new() {
-    return (TestHighlightWriter*)VTable_Make_Obj(TESTHIGHLIGHTWRITER);
+    return (TestHighlightWriter*)Class_Make_Obj(TESTHIGHLIGHTWRITER);
 }
 
 void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Index/TestIndexManager.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Index/TestIndexManager.c b/core/Lucy/Test/Index/TestIndexManager.c
index 31e8675..87b1247 100644
--- a/core/Lucy/Test/Index/TestIndexManager.c
+++ b/core/Lucy/Test/Index/TestIndexManager.c
@@ -24,7 +24,7 @@
 
 TestIndexManager*
 TestIxManager_new() {
-    return (TestIndexManager*)VTable_Make_Obj(TESTINDEXMANAGER);
+    return (TestIndexManager*)Class_Make_Obj(TESTINDEXMANAGER);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Index/TestPolyReader.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Index/TestPolyReader.c b/core/Lucy/Test/Index/TestPolyReader.c
index 1cfef95..44a99a9 100644
--- a/core/Lucy/Test/Index/TestPolyReader.c
+++ b/core/Lucy/Test/Index/TestPolyReader.c
@@ -25,7 +25,7 @@
 
 TestPolyReader*
 TestPolyReader_new() {
-    return (TestPolyReader*)VTable_Make_Obj(TESTPOLYREADER);
+    return (TestPolyReader*)Class_Make_Obj(TESTPOLYREADER);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Index/TestPostingListWriter.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Index/TestPostingListWriter.c b/core/Lucy/Test/Index/TestPostingListWriter.c
index 63cdb78..2b3c2f7 100644
--- a/core/Lucy/Test/Index/TestPostingListWriter.c
+++ b/core/Lucy/Test/Index/TestPostingListWriter.c
@@ -24,7 +24,7 @@
 
 TestPostingListWriter*
 TestPListWriter_new() {
-    return (TestPostingListWriter*)VTable_Make_Obj(TESTPOSTINGLISTWRITER);
+    return (TestPostingListWriter*)Class_Make_Obj(TESTPOSTINGLISTWRITER);
 }
 
 void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Index/TestSegWriter.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Index/TestSegWriter.c b/core/Lucy/Test/Index/TestSegWriter.c
index 2984589..d5e67cc 100644
--- a/core/Lucy/Test/Index/TestSegWriter.c
+++ b/core/Lucy/Test/Index/TestSegWriter.c
@@ -25,7 +25,7 @@
 
 TestSegWriter*
 TestSegWriter_new() {
-    return (TestSegWriter*)VTable_Make_Obj(TESTSEGWRITER);
+    return (TestSegWriter*)Class_Make_Obj(TESTSEGWRITER);
 }
 
 void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Index/TestSegment.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Index/TestSegment.c b/core/Lucy/Test/Index/TestSegment.c
index 17b2d67..6bdebfe 100644
--- a/core/Lucy/Test/Index/TestSegment.c
+++ b/core/Lucy/Test/Index/TestSegment.c
@@ -26,7 +26,7 @@
 
 TestSegment*
 TestSeg_new() {
-    return (TestSegment*)VTable_Make_Obj(TESTSEGMENT);
+    return (TestSegment*)Class_Make_Obj(TESTSEGMENT);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Index/TestSnapshot.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Index/TestSnapshot.c b/core/Lucy/Test/Index/TestSnapshot.c
index 4d98f56..4290c09 100644
--- a/core/Lucy/Test/Index/TestSnapshot.c
+++ b/core/Lucy/Test/Index/TestSnapshot.c
@@ -25,7 +25,7 @@
 
 TestSnapshot*
 TestSnapshot_new() {
-    return (TestSnapshot*)VTable_Make_Obj(TESTSNAPSHOT);
+    return (TestSnapshot*)Class_Make_Obj(TESTSNAPSHOT);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Index/TestSortWriter.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Index/TestSortWriter.c b/core/Lucy/Test/Index/TestSortWriter.c
index 761572f..ac27c33 100644
--- a/core/Lucy/Test/Index/TestSortWriter.c
+++ b/core/Lucy/Test/Index/TestSortWriter.c
@@ -48,7 +48,7 @@ static String *nope_str;
 
 TestSortWriter*
 TestSortWriter_new() {
-    return (TestSortWriter*)VTable_Make_Obj(TESTSORTWRITER);
+    return (TestSortWriter*)Class_Make_Obj(TESTSORTWRITER);
 }
 
 static void
@@ -153,9 +153,9 @@ S_test_sort_cache(TestBatchRunner *runner, RAMFolder *folder,
 
     SortReader *sort_reader
         = (SortReader*)SegReader_Obtain(seg_reader,
-                                        VTable_Get_Name(SORTREADER));
+                                        Class_Get_Name(SORTREADER));
     DocReader *doc_reader
-        = (DocReader*)SegReader_Obtain(seg_reader, VTable_Get_Name(DOCREADER));
+        = (DocReader*)SegReader_Obtain(seg_reader, Class_Get_Name(DOCREADER));
     SortCache *sort_cache
         = SortReader_Fetch_Sort_Cache(sort_reader, field);
 
@@ -290,7 +290,7 @@ TestSortWriter_Run_IMP(TestSortWriter *self, TestBatchRunner *runner) {
 NonMergingIndexManager*
 NMIxManager_new() {
     NonMergingIndexManager *self
-        = (NonMergingIndexManager*)VTable_Make_Obj(NONMERGINGINDEXMANAGER);
+        = (NonMergingIndexManager*)Class_Make_Obj(NONMERGINGINDEXMANAGER);
     return NMIxManager_init(self);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Index/TestTermInfo.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Index/TestTermInfo.c b/core/Lucy/Test/Index/TestTermInfo.c
index 5a9cc38..06defd5 100644
--- a/core/Lucy/Test/Index/TestTermInfo.c
+++ b/core/Lucy/Test/Index/TestTermInfo.c
@@ -25,7 +25,7 @@
 
 TestTermInfo*
 TestTermInfo_new() {
-    return (TestTermInfo*)VTable_Make_Obj(TESTTERMINFO);
+    return (TestTermInfo*)Class_Make_Obj(TESTTERMINFO);
 }
 
 void 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Object/TestBitVector.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Object/TestBitVector.c b/core/Lucy/Test/Object/TestBitVector.c
index aaf5318..469e4c5 100644
--- a/core/Lucy/Test/Object/TestBitVector.c
+++ b/core/Lucy/Test/Object/TestBitVector.c
@@ -26,7 +26,7 @@
 
 TestBitVector*
 TestBitVector_new() {
-    return (TestBitVector*)VTable_Make_Obj(TESTBITVECTOR);
+    return (TestBitVector*)Class_Make_Obj(TESTBITVECTOR);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Object/TestI32Array.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Object/TestI32Array.c b/core/Lucy/Test/Object/TestI32Array.c
index 8802e25..7661d7c 100644
--- a/core/Lucy/Test/Object/TestI32Array.c
+++ b/core/Lucy/Test/Object/TestI32Array.c
@@ -27,7 +27,7 @@ static size_t num_ints = sizeof(source_ints) / sizeof(int32_t);
 
 TestI32Array*
 TestI32Arr_new() {
-    return (TestI32Array*)VTable_Make_Obj(TESTI32ARRAY);
+    return (TestI32Array*)Class_Make_Obj(TESTI32ARRAY);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Plan/TestArchitecture.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Plan/TestArchitecture.c b/core/Lucy/Test/Plan/TestArchitecture.c
index 1c40822..138405c 100644
--- a/core/Lucy/Test/Plan/TestArchitecture.c
+++ b/core/Lucy/Test/Plan/TestArchitecture.c
@@ -25,7 +25,7 @@
 TestArchitecture*
 TestArch_new() {
     TestArchitecture *self
-        = (TestArchitecture*)VTable_Make_Obj(TESTARCHITECTURE);
+        = (TestArchitecture*)Class_Make_Obj(TESTARCHITECTURE);
     return TestArch_init(self);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Plan/TestBlobType.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Plan/TestBlobType.c b/core/Lucy/Test/Plan/TestBlobType.c
index c368df7..a207997 100644
--- a/core/Lucy/Test/Plan/TestBlobType.c
+++ b/core/Lucy/Test/Plan/TestBlobType.c
@@ -27,7 +27,7 @@
 
 TestBlobType*
 TestBlobType_new() {
-    return (TestBlobType*)VTable_Make_Obj(TESTBLOBTYPE);
+    return (TestBlobType*)Class_Make_Obj(TESTBLOBTYPE);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Plan/TestFieldMisc.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Plan/TestFieldMisc.c b/core/Lucy/Test/Plan/TestFieldMisc.c
index 8414170..2dde7c7 100644
--- a/core/Lucy/Test/Plan/TestFieldMisc.c
+++ b/core/Lucy/Test/Plan/TestFieldMisc.c
@@ -45,7 +45,7 @@ static String *united_states_str;
 
 TestFieldMisc*
 TestFieldMisc_new() {
-    return (TestFieldMisc*)VTable_Make_Obj(TESTFIELDMISC);
+    return (TestFieldMisc*)Class_Make_Obj(TESTFIELDMISC);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Plan/TestFieldType.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Plan/TestFieldType.c b/core/Lucy/Test/Plan/TestFieldType.c
index 6a72ca7..2636259 100644
--- a/core/Lucy/Test/Plan/TestFieldType.c
+++ b/core/Lucy/Test/Plan/TestFieldType.c
@@ -26,20 +26,20 @@
 
 TestFieldType*
 TestFType_new() {
-    return (TestFieldType*)VTable_Make_Obj(TESTFIELDTYPE);
+    return (TestFieldType*)Class_Make_Obj(TESTFIELDTYPE);
 }
 
 DummyFieldType*
 DummyFieldType_new() {
-    DummyFieldType *self = (DummyFieldType*)VTable_Make_Obj(DUMMYFIELDTYPE);
+    DummyFieldType *self = (DummyFieldType*)Class_Make_Obj(DUMMYFIELDTYPE);
     return (DummyFieldType*)FType_init((FieldType*)self);
 }
 
 static FieldType*
 S_alt_field_type() {
     StackString *name = SSTR_WRAP_UTF8("DummyFieldType2", 15);
-    VTable *vtable = VTable_singleton((String*)name, DUMMYFIELDTYPE);
-    FieldType *self = (FieldType*)VTable_Make_Obj(vtable);
+    Class *klass = Class_singleton((String*)name, DUMMYFIELDTYPE);
+    FieldType *self = (FieldType*)Class_Make_Obj(klass);
     return FType_init(self);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Plan/TestFullTextType.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Plan/TestFullTextType.c b/core/Lucy/Test/Plan/TestFullTextType.c
index 06f11e8..be50dc0 100644
--- a/core/Lucy/Test/Plan/TestFullTextType.c
+++ b/core/Lucy/Test/Plan/TestFullTextType.c
@@ -29,7 +29,7 @@
 
 TestFullTextType*
 TestFullTextType_new() {
-    return (TestFullTextType*)VTable_Make_Obj(TESTFULLTEXTTYPE);
+    return (TestFullTextType*)Class_Make_Obj(TESTFULLTEXTTYPE);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Plan/TestNumericType.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Plan/TestNumericType.c b/core/Lucy/Test/Plan/TestNumericType.c
index c8812e0..b36af4c 100644
--- a/core/Lucy/Test/Plan/TestNumericType.c
+++ b/core/Lucy/Test/Plan/TestNumericType.c
@@ -28,7 +28,7 @@
 
 TestNumericType*
 TestNumericType_new() {
-    return (TestNumericType*)VTable_Make_Obj(TESTNUMERICTYPE);
+    return (TestNumericType*)Class_Make_Obj(TESTNUMERICTYPE);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestLeafQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestLeafQuery.c b/core/Lucy/Test/Search/TestLeafQuery.c
index 957367c..f6e013f 100644
--- a/core/Lucy/Test/Search/TestLeafQuery.c
+++ b/core/Lucy/Test/Search/TestLeafQuery.c
@@ -27,7 +27,7 @@
 
 TestLeafQuery*
 TestLeafQuery_new() {
-    return (TestLeafQuery*)VTable_Make_Obj(TESTLEAFQUERY);
+    return (TestLeafQuery*)Class_Make_Obj(TESTLEAFQUERY);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestMatchAllQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestMatchAllQuery.c b/core/Lucy/Test/Search/TestMatchAllQuery.c
index 0fcbd45..9a5f030 100644
--- a/core/Lucy/Test/Search/TestMatchAllQuery.c
+++ b/core/Lucy/Test/Search/TestMatchAllQuery.c
@@ -27,7 +27,7 @@
 
 TestMatchAllQuery*
 TestMatchAllQuery_new() {
-    return (TestMatchAllQuery*)VTable_Make_Obj(TESTMATCHALLQUERY);
+    return (TestMatchAllQuery*)Class_Make_Obj(TESTMATCHALLQUERY);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestNOTQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestNOTQuery.c b/core/Lucy/Test/Search/TestNOTQuery.c
index 7127740..eee7657 100644
--- a/core/Lucy/Test/Search/TestNOTQuery.c
+++ b/core/Lucy/Test/Search/TestNOTQuery.c
@@ -29,7 +29,7 @@
 
 TestNOTQuery*
 TestNOTQuery_new() {
-    return (TestNOTQuery*)VTable_Make_Obj(TESTNOTQUERY);
+    return (TestNOTQuery*)Class_Make_Obj(TESTNOTQUERY);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestNoMatchQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestNoMatchQuery.c b/core/Lucy/Test/Search/TestNoMatchQuery.c
index 5c0b1fa..f116bd2 100644
--- a/core/Lucy/Test/Search/TestNoMatchQuery.c
+++ b/core/Lucy/Test/Search/TestNoMatchQuery.c
@@ -27,7 +27,7 @@
 
 TestNoMatchQuery*
 TestNoMatchQuery_new() {
-    return (TestNoMatchQuery*)VTable_Make_Obj(TESTNOMATCHQUERY);
+    return (TestNoMatchQuery*)Class_Make_Obj(TESTNOMATCHQUERY);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestPhraseQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestPhraseQuery.c b/core/Lucy/Test/Search/TestPhraseQuery.c
index 01bbda0..c0ed6da 100644
--- a/core/Lucy/Test/Search/TestPhraseQuery.c
+++ b/core/Lucy/Test/Search/TestPhraseQuery.c
@@ -28,7 +28,7 @@
 
 TestPhraseQuery*
 TestPhraseQuery_new() {
-    return (TestPhraseQuery*)VTable_Make_Obj(TESTPHRASEQUERY);
+    return (TestPhraseQuery*)Class_Make_Obj(TESTPHRASEQUERY);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestPolyQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestPolyQuery.c b/core/Lucy/Test/Search/TestPolyQuery.c
index 2ee5e50..67fe6fa 100644
--- a/core/Lucy/Test/Search/TestPolyQuery.c
+++ b/core/Lucy/Test/Search/TestPolyQuery.c
@@ -31,12 +31,12 @@
 
 TestANDQuery*
 TestANDQuery_new() {
-    return (TestANDQuery*)VTable_Make_Obj(TESTANDQUERY);
+    return (TestANDQuery*)Class_Make_Obj(TESTANDQUERY);
 }
 
 TestORQuery*
 TestORQuery_new() {
-    return (TestORQuery*)VTable_Make_Obj(TESTORQUERY);
+    return (TestORQuery*)Class_Make_Obj(TESTORQUERY);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestQueryParser.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestQueryParser.c b/core/Lucy/Test/Search/TestQueryParser.c
index 6e0c1fa..57dcd17 100644
--- a/core/Lucy/Test/Search/TestQueryParser.c
+++ b/core/Lucy/Test/Search/TestQueryParser.c
@@ -33,7 +33,7 @@ TestQueryParser*
 TestQP_new(const char *query_string, Query *tree, Query *expanded,
            uint32_t num_hits) {
     TestQueryParser *self
-        = (TestQueryParser*)VTable_Make_Obj(TESTQUERYPARSER);
+        = (TestQueryParser*)Class_Make_Obj(TESTQUERYPARSER);
     return TestQP_init(self, query_string, tree, expanded, num_hits);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestQueryParserLogic.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestQueryParserLogic.c b/core/Lucy/Test/Search/TestQueryParserLogic.c
index 9eb89e9..d5468d0 100644
--- a/core/Lucy/Test/Search/TestQueryParserLogic.c
+++ b/core/Lucy/Test/Search/TestQueryParserLogic.c
@@ -49,7 +49,7 @@
 
 TestQueryParserLogic*
 TestQPLogic_new() {
-    return (TestQueryParserLogic*)VTable_Make_Obj(TESTQUERYPARSERLOGIC);
+    return (TestQueryParserLogic*)Class_Make_Obj(TESTQUERYPARSERLOGIC);
 }
 
 static TestQueryParser*

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestQueryParserSyntax.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestQueryParserSyntax.c b/core/Lucy/Test/Search/TestQueryParserSyntax.c
index fde587d..fec1896 100644
--- a/core/Lucy/Test/Search/TestQueryParserSyntax.c
+++ b/core/Lucy/Test/Search/TestQueryParserSyntax.c
@@ -52,7 +52,7 @@
 
 TestQueryParserSyntax*
 TestQPSyntax_new() {
-    return (TestQueryParserSyntax*)VTable_Make_Obj(TESTQUERYPARSERSYNTAX);
+    return (TestQueryParserSyntax*)Class_Make_Obj(TESTQUERYPARSERSYNTAX);
 }
 
 static Folder*

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestRangeQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestRangeQuery.c b/core/Lucy/Test/Search/TestRangeQuery.c
index ddd28ff..ab8a9ca 100644
--- a/core/Lucy/Test/Search/TestRangeQuery.c
+++ b/core/Lucy/Test/Search/TestRangeQuery.c
@@ -27,7 +27,7 @@
 
 TestRangeQuery*
 TestRangeQuery_new() {
-    return (TestRangeQuery*)VTable_Make_Obj(TESTRANGEQUERY);
+    return (TestRangeQuery*)Class_Make_Obj(TESTRANGEQUERY);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestReqOptQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestReqOptQuery.c b/core/Lucy/Test/Search/TestReqOptQuery.c
index 98bd626..404e987 100644
--- a/core/Lucy/Test/Search/TestReqOptQuery.c
+++ b/core/Lucy/Test/Search/TestReqOptQuery.c
@@ -29,7 +29,7 @@
 
 TestReqOptQuery*
 TestReqOptQuery_new() {
-    return (TestReqOptQuery*)VTable_Make_Obj(TESTREQOPTQUERY);
+    return (TestReqOptQuery*)Class_Make_Obj(TESTREQOPTQUERY);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestSeriesMatcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestSeriesMatcher.c b/core/Lucy/Test/Search/TestSeriesMatcher.c
index 995f985..e8e8466 100644
--- a/core/Lucy/Test/Search/TestSeriesMatcher.c
+++ b/core/Lucy/Test/Search/TestSeriesMatcher.c
@@ -27,7 +27,7 @@
 
 TestSeriesMatcher*
 TestSeriesMatcher_new() {
-    return (TestSeriesMatcher*)VTable_Make_Obj(TESTSERIESMATCHER);
+    return (TestSeriesMatcher*)Class_Make_Obj(TESTSERIESMATCHER);
 }
 
 static SeriesMatcher*

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestSortSpec.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestSortSpec.c b/core/Lucy/Test/Search/TestSortSpec.c
index 5a08230..467e045 100644
--- a/core/Lucy/Test/Search/TestSortSpec.c
+++ b/core/Lucy/Test/Search/TestSortSpec.c
@@ -73,7 +73,7 @@ static String *random_int64s_str;
 
 TestSortSpec*
 TestSortSpec_new() {
-    return (TestSortSpec*)VTable_Make_Obj(TESTSORTSPEC);
+    return (TestSortSpec*)Class_Make_Obj(TESTSORTSPEC);
 }
 
 static void
@@ -142,7 +142,7 @@ S_destroy_strings() {
 
 TestReverseType*
 TestReverseType_new() {
-    TestReverseType *self = (TestReverseType*)VTable_Make_Obj(TESTREVERSETYPE);
+    TestReverseType *self = (TestReverseType*)Class_Make_Obj(TESTREVERSETYPE);
     return TestReverseType_init(self);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestSpan.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestSpan.c b/core/Lucy/Test/Search/TestSpan.c
index 239a344..520add2 100644
--- a/core/Lucy/Test/Search/TestSpan.c
+++ b/core/Lucy/Test/Search/TestSpan.c
@@ -25,7 +25,7 @@
 
 TestSpan*
 TestSpan_new() {
-    return (TestSpan*)VTable_Make_Obj(TESTSPAN);
+    return (TestSpan*)Class_Make_Obj(TESTSPAN);
 }
 
 void 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Search/TestTermQuery.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestTermQuery.c b/core/Lucy/Test/Search/TestTermQuery.c
index 993d00a..a330913 100644
--- a/core/Lucy/Test/Search/TestTermQuery.c
+++ b/core/Lucy/Test/Search/TestTermQuery.c
@@ -27,7 +27,7 @@
 
 TestTermQuery*
 TestTermQuery_new() {
-    return (TestTermQuery*)VTable_Make_Obj(TESTTERMQUERY);
+    return (TestTermQuery*)Class_Make_Obj(TESTTERMQUERY);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Store/MockFileHandle.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Store/MockFileHandle.c b/core/Lucy/Test/Store/MockFileHandle.c
index d7afa71..029eb5f 100644
--- a/core/Lucy/Test/Store/MockFileHandle.c
+++ b/core/Lucy/Test/Store/MockFileHandle.c
@@ -24,7 +24,7 @@
 
 MockFileHandle*
 MockFileHandle_new(String *path, int64_t length) {
-    MockFileHandle *self = (MockFileHandle*)VTable_Make_Obj(MOCKFILEHANDLE);
+    MockFileHandle *self = (MockFileHandle*)Class_Make_Obj(MOCKFILEHANDLE);
     return MockFileHandle_init(self, path, length);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Store/TestCompoundFileReader.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Store/TestCompoundFileReader.c b/core/Lucy/Test/Store/TestCompoundFileReader.c
index f493762..8ed48bc 100644
--- a/core/Lucy/Test/Store/TestCompoundFileReader.c
+++ b/core/Lucy/Test/Store/TestCompoundFileReader.c
@@ -40,7 +40,7 @@ static String *stuff       = NULL;
 
 TestCompoundFileReader*
 TestCFReader_new() {
-    return (TestCompoundFileReader*)VTable_Make_Obj(TESTCOMPOUNDFILEREADER);
+    return (TestCompoundFileReader*)Class_Make_Obj(TESTCOMPOUNDFILEREADER);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Store/TestCompoundFileWriter.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Store/TestCompoundFileWriter.c b/core/Lucy/Test/Store/TestCompoundFileWriter.c
index 3918ca8..a41575d 100644
--- a/core/Lucy/Test/Store/TestCompoundFileWriter.c
+++ b/core/Lucy/Test/Store/TestCompoundFileWriter.c
@@ -35,7 +35,7 @@ static String *seg_1       = NULL;
 
 TestCompoundFileWriter*
 TestCFWriter_new() {
-    return (TestCompoundFileWriter*)VTable_Make_Obj(TESTCOMPOUNDFILEWRITER);
+    return (TestCompoundFileWriter*)Class_Make_Obj(TESTCOMPOUNDFILEWRITER);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Store/TestFSDirHandle.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Store/TestFSDirHandle.c b/core/Lucy/Test/Store/TestFSDirHandle.c
index 4a6cdfc..2e87b3c 100644
--- a/core/Lucy/Test/Store/TestFSDirHandle.c
+++ b/core/Lucy/Test/Store/TestFSDirHandle.c
@@ -36,7 +36,7 @@
 
 TestFSDirHandle*
 TestFSDH_new() {
-    return (TestFSDirHandle*)VTable_Make_Obj(TESTFSDIRHANDLE);
+    return (TestFSDirHandle*)Class_Make_Obj(TESTFSDIRHANDLE);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Store/TestFSFileHandle.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Store/TestFSFileHandle.c b/core/Lucy/Test/Store/TestFSFileHandle.c
index 5fba321..53362f9 100644
--- a/core/Lucy/Test/Store/TestFSFileHandle.c
+++ b/core/Lucy/Test/Store/TestFSFileHandle.c
@@ -35,7 +35,7 @@
 
 TestFSFileHandle*
 TestFSFH_new() {
-    return (TestFSFileHandle*)VTable_Make_Obj(TESTFSFILEHANDLE);
+    return (TestFSFileHandle*)Class_Make_Obj(TESTFSFILEHANDLE);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Store/TestFSFolder.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Store/TestFSFolder.c b/core/Lucy/Test/Store/TestFSFolder.c
index d661549..f26cd7b 100644
--- a/core/Lucy/Test/Store/TestFSFolder.c
+++ b/core/Lucy/Test/Store/TestFSFolder.c
@@ -51,7 +51,7 @@ S_create_test_symlinks(void);
 
 TestFSFolder*
 TestFSFolder_new() {
-    return (TestFSFolder*)VTable_Make_Obj(TESTFSFOLDER);
+    return (TestFSFolder*)Class_Make_Obj(TESTFSFOLDER);
 }
 
 static Folder*

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Store/TestFileHandle.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Store/TestFileHandle.c b/core/Lucy/Test/Store/TestFileHandle.c
index d624ff5..69ce82f 100644
--- a/core/Lucy/Test/Store/TestFileHandle.c
+++ b/core/Lucy/Test/Store/TestFileHandle.c
@@ -28,7 +28,7 @@
 
 TestFileHandle*
 TestFH_new() {
-    return (TestFileHandle*)VTable_Make_Obj(TESTFILEHANDLE);
+    return (TestFileHandle*)Class_Make_Obj(TESTFILEHANDLE);
 }
 
 static void
@@ -38,14 +38,14 @@ S_no_op_method(const void *vself) {
 
 static FileHandle*
 S_new_filehandle() {
-    StackString *klass = SSTR_WRAP_UTF8("TestFileHandle", 14);
+    StackString *class_name = SSTR_WRAP_UTF8("TestFileHandle", 14);
     FileHandle *fh;
-    VTable *vtable = VTable_fetch_vtable((String*)klass);
-    if (!vtable) {
-        vtable = VTable_singleton((String*)klass, FILEHANDLE);
+    Class *klass = Class_fetch_class((String*)class_name);
+    if (!klass) {
+        klass = Class_singleton((String*)class_name, FILEHANDLE);
     }
-    VTable_Override(vtable, S_no_op_method, LUCY_FH_Close_OFFSET);
-    fh = (FileHandle*)VTable_Make_Obj(vtable);
+    Class_Override(klass, S_no_op_method, LUCY_FH_Close_OFFSET);
+    fh = (FileHandle*)Class_Make_Obj(klass);
     return FH_do_open(fh, NULL, 0);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Store/TestFolder.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Store/TestFolder.c b/core/Lucy/Test/Store/TestFolder.c
index f40d051..478b207 100644
--- a/core/Lucy/Test/Store/TestFolder.c
+++ b/core/Lucy/Test/Store/TestFolder.c
@@ -41,7 +41,7 @@ static String *nope              = NULL;
 
 TestFolder*
 TestFolder_new() {
-    return (TestFolder*)VTable_Make_Obj(TESTFOLDER);
+    return (TestFolder*)Class_Make_Obj(TESTFOLDER);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Store/TestIOChunks.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Store/TestIOChunks.c b/core/Lucy/Test/Store/TestIOChunks.c
index 04d5747..ce22121 100644
--- a/core/Lucy/Test/Store/TestIOChunks.c
+++ b/core/Lucy/Test/Store/TestIOChunks.c
@@ -35,7 +35,7 @@
 
 TestIOChunks*
 TestIOChunks_new() {
-    return (TestIOChunks*)VTable_Make_Obj(TESTIOCHUNKS);
+    return (TestIOChunks*)Class_Make_Obj(TESTIOCHUNKS);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Store/TestIOPrimitives.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Store/TestIOPrimitives.c b/core/Lucy/Test/Store/TestIOPrimitives.c
index d1160f2..dd3cdb5 100644
--- a/core/Lucy/Test/Store/TestIOPrimitives.c
+++ b/core/Lucy/Test/Store/TestIOPrimitives.c
@@ -35,7 +35,7 @@
 
 TestIOPrimitives*
 TestIOPrimitives_new() {
-    return (TestIOPrimitives*)VTable_Make_Obj(TESTIOPRIMITIVES);
+    return (TestIOPrimitives*)Class_Make_Obj(TESTIOPRIMITIVES);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Store/TestInStream.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Store/TestInStream.c b/core/Lucy/Test/Store/TestInStream.c
index 471e472..8f73575 100644
--- a/core/Lucy/Test/Store/TestInStream.c
+++ b/core/Lucy/Test/Store/TestInStream.c
@@ -34,7 +34,7 @@
 
 TestInStream*
 TestInStream_new() {
-    return (TestInStream*)VTable_Make_Obj(TESTINSTREAM);
+    return (TestInStream*)Class_Make_Obj(TESTINSTREAM);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Store/TestRAMDirHandle.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Store/TestRAMDirHandle.c b/core/Lucy/Test/Store/TestRAMDirHandle.c
index ad6f92a..b4e2077 100644
--- a/core/Lucy/Test/Store/TestRAMDirHandle.c
+++ b/core/Lucy/Test/Store/TestRAMDirHandle.c
@@ -27,7 +27,7 @@
 
 TestRAMDirHandle*
 TestRAMDH_new() {
-    return (TestRAMDirHandle*)VTable_Make_Obj(TESTRAMDIRHANDLE);
+    return (TestRAMDirHandle*)Class_Make_Obj(TESTRAMDIRHANDLE);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Store/TestRAMFileHandle.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Store/TestRAMFileHandle.c b/core/Lucy/Test/Store/TestRAMFileHandle.c
index d276d5d..e208784 100644
--- a/core/Lucy/Test/Store/TestRAMFileHandle.c
+++ b/core/Lucy/Test/Store/TestRAMFileHandle.c
@@ -31,7 +31,7 @@
 
 TestRAMFileHandle*
 TestRAMFH_new() {
-    return (TestRAMFileHandle*)VTable_Make_Obj(TESTRAMFILEHANDLE);
+    return (TestRAMFileHandle*)Class_Make_Obj(TESTRAMFILEHANDLE);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Store/TestRAMFolder.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Store/TestRAMFolder.c b/core/Lucy/Test/Store/TestRAMFolder.c
index c173897..01b9f8f 100644
--- a/core/Lucy/Test/Store/TestRAMFolder.c
+++ b/core/Lucy/Test/Store/TestRAMFolder.c
@@ -41,7 +41,7 @@ static String *nope_nyet     = NULL;
 
 TestRAMFolder*
 TestRAMFolder_new() {
-    return (TestRAMFolder*)VTable_Make_Obj(TESTRAMFOLDER);
+    return (TestRAMFolder*)Class_Make_Obj(TESTRAMFOLDER);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/TestSchema.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/TestSchema.c b/core/Lucy/Test/TestSchema.c
index 7983c9b..b7b65b6 100644
--- a/core/Lucy/Test/TestSchema.c
+++ b/core/Lucy/Test/TestSchema.c
@@ -29,7 +29,7 @@
 
 TestSchema*
 TestSchema_new(bool use_alt_arch) {
-    TestSchema *self = (TestSchema*)VTable_Make_Obj(TESTSCHEMA);
+    TestSchema *self = (TestSchema*)Class_Make_Obj(TESTSCHEMA);
     return TestSchema_init(self, use_alt_arch);
 }
 
@@ -62,7 +62,7 @@ TestSchema_Architecture_IMP(TestSchema *self) {
 
 TestBatchSchema*
 TestBatchSchema_new() {
-    return (TestBatchSchema*)VTable_Make_Obj(TESTBATCHSCHEMA);
+    return (TestBatchSchema*)Class_Make_Obj(TESTBATCHSCHEMA);
 }
 
 static void

http://git-wip-us.apache.org/repos/asf/lucy/blob/b1975f5d/core/Lucy/Test/Util/TestFreezer.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Util/TestFreezer.c b/core/Lucy/Test/Util/TestFreezer.c
index 5b44e17..9c0df3b 100644
--- a/core/Lucy/Test/Util/TestFreezer.c
+++ b/core/Lucy/Test/Util/TestFreezer.c
@@ -28,7 +28,7 @@
 
 TestFreezer*
 TestFreezer_new() {
-    return (TestFreezer*)VTable_Make_Obj(TESTFREEZER);
+    return (TestFreezer*)Class_Make_Obj(TESTFREEZER);
 }
 
 // Return the result of round-tripping the object through FREEZE and THAW.


Mime
View raw message