Lines Matching defs:visitor

23 static void visitFields(Visitor *visitor, Object *obj, void *arg)
25 assert(visitor != NULL);
34 (*visitor)(ref, arg);
45 (*visitor)(ref, arg);
54 static void visitStaticFields(Visitor *visitor, ClassObject *clazz,
57 assert(visitor != NULL);
62 (*visitor)(&clazz->sfields[i].value.l, arg);
70 static void visitInterfaces(Visitor *visitor, ClassObject *clazz,
73 assert(visitor != NULL);
76 (*visitor)(&clazz->interfaces[i], arg);
83 static void visitClassObject(Visitor *visitor, Object *obj, void *arg)
87 assert(visitor != NULL);
91 (*visitor)(&obj->clazz, arg);
94 (*visitor)(&asClass->elementClass, arg);
97 (*visitor)(&asClass->super, arg);
99 (*visitor)(&asClass->classLoader, arg);
100 visitFields(visitor, obj, arg);
101 visitStaticFields(visitor, asClass, arg);
103 visitInterfaces(visitor, asClass, arg);
111 static void visitArrayObject(Visitor *visitor, Object *obj, void *arg)
113 assert(visitor != NULL);
116 (*visitor)(&obj->clazz, arg);
121 (*visitor)(&contents[i], arg);
130 static void visitDataObject(Visitor *visitor, Object *obj, void *arg)
132 assert(visitor != NULL);
135 (*visitor)(&obj->clazz, arg);
136 visitFields(visitor, obj, arg);
143 static void visitReferenceObject(Visitor *visitor, Object *obj, void *arg)
145 assert(visitor != NULL);
148 visitDataObject(visitor, obj, arg);
151 (*visitor)(ref, arg);
157 static void visitObject(Visitor *visitor, Object *obj, void *arg)
159 assert(visitor != NULL);
163 visitClassObject(visitor, obj, arg);
165 visitArrayObject(visitor, obj, arg);
167 visitReferenceObject(visitor, obj, arg);
169 visitDataObject(visitor, obj, arg);