vector<Method_instance>
precomputed_method_bindings_[TRANSLATOR_METHOD_PRECOMPUTE_COUNT];
- SCM
- precomputed_self_method_bindings_[TRANSLATOR_METHOD_PRECOMPUTE_COUNT];
-
SCM protected_events_;
void create_child_translator (SCM);
void stop_translation_timestep ();
void start_translation_timestep ();
- virtual void fetch_precomputable_methods (SCM []);
-
Translator_group ();
void precomputed_translator_foreach (Translator_precompute_index);
- void call_precomputed_self_method (Translator_precompute_index);
Context *context () const { return context_; }
protected:
if (tg && dir == DOWN)
{
tg->precomputed_translator_foreach (idx);
- tg->call_precomputed_self_method (idx);
}
for (SCM s = c->children_contexts (); scm_is_pair (s);
if (tg && dir == UP)
{
tg->precomputed_translator_foreach (idx);
- tg->call_precomputed_self_method (idx);
}
}
}
}
- fetch_precomputable_methods (precomputed_self_method_bindings_);
}
void
bindings[i]();
}
-void
-Translator_group::fetch_precomputable_methods (SCM ptrs[])
-{
- for (int i = 0; i < TRANSLATOR_METHOD_PRECOMPUTE_COUNT; i++)
- ptrs[i] = SCM_UNDEFINED;
-}
-
-void
-Translator_group::call_precomputed_self_method (Translator_precompute_index idx)
-{
- if (!SCM_UNBNDP (precomputed_self_method_bindings_[idx]))
- scm_call_1 (precomputed_self_method_bindings_[idx], self_scm ());
-}
-
Translator_group::~Translator_group ()
{
}