… | |
… | |
430 | /* This return true if object has still randomitems which |
430 | /* This return true if object has still randomitems which |
431 | * could be expanded. |
431 | * could be expanded. |
432 | */ |
432 | */ |
433 | MTH bool has_random_items () const { return randomitems && !flag [FLAG_IS_A_TEMPLATE]; } |
433 | MTH bool has_random_items () const { return randomitems && !flag [FLAG_IS_A_TEMPLATE]; } |
434 | |
434 | |
|
|
435 | // returns the outermost owner, never returns 0 |
|
|
436 | MTH object *outer_owner () |
|
|
437 | { |
|
|
438 | for (object *op = this; ; op = op->owner) |
|
|
439 | if (!op->owner) |
|
|
440 | return op; |
|
|
441 | } |
|
|
442 | |
435 | // returns the outermost environment, never returns 0 |
443 | // returns the outermost environment, never returns 0 |
436 | MTH object *outer_env () |
444 | MTH object *outer_env () |
437 | { |
445 | { |
438 | for (object *op = this; ; op = op->env) |
446 | for (object *op = this; ; op = op->env) |
439 | if (!op->env) |
447 | if (!op->env) |