On Wed, 21 Aug 2002, Angel Faus wrote: > About the implementation, I think we will need the following metadata about > each op: > > i) the opcode, and the op name. > ii) the type of arguments, including in/out/etc.. Both of these are available, though there currently isn't an efficient interface to say "give me all possible sets of parameter types for an op called 'X'" -- you can only look up the op quickly if you know the exact parameter types. This lookup would be easy to add, though. > iii) whether the opcode has side-effects or not. This, unfortunately, is not available. Since many ops just call into vtable methods, it would need to be set in stone in the vtable doc as well, e.g. "the add op MUST NOT appear to have a side-effect", and vtable writers would need to take this into account. /s