Lines Matching defs:var

446 	struct global_variable *var;
448 var = ALLOC(struct global_variable);
450 entry->var = var;
451 var->counter = 1;
452 var->data = 0;
453 var->getter = undef_getter;
454 var->setter = undef_setter;
455 var->marker = undef_marker;
457 var->block_trace = 0;
458 var->trace = 0;
468 undef_getter(ID id, void *data, struct global_variable *var)
476 undef_setter(VALUE val, ID id, void *data, struct global_variable *var)
478 var->getter = val_getter;
479 var->setter = val_setter;
480 var->marker = val_marker;
482 var->data = (void*)val;
486 undef_marker(VALUE *var)
491 val_getter(ID id, void *data, struct global_variable *var)
497 val_setter(VALUE val, ID id, void *data, struct global_variable *var)
499 var->data = (void*)val;
503 val_marker(VALUE *var)
505 VALUE data = (VALUE)var;
512 VALUE *var = data;
513 if (!var) return Qnil;
514 return *var;
524 var_marker(VALUE *var)
526 if (var) rb_gc_mark_maybe(*var);
540 struct global_variable *var = entry->var;
542 (*var->marker)(var->data);
543 trace = var->trace;
577 VALUE *var,
581 volatile VALUE tmp = var ? *var : Qnil;
583 struct global_variable *gvar = rb_global_entry(id)->var;
585 gvar->data = (void*)var;
594 rb_define_variable(const char *name, VALUE *var)
596 rb_define_hooked_variable(name, var, 0, 0);
600 rb_define_readonly_variable(const char *name, VALUE *var)
602 rb_define_hooked_variable(name, var, 0, readonly_setter);
648 VALUE var, cmd;
653 if (rb_scan_args(argc, argv, "11", &var, &cmd) == 1) {
659 entry = rb_global_entry(rb_to_id(var));
664 trace->next = entry->var->trace;
668 entry->var->trace = trace;
674 remove_trace(struct global_variable *var)
676 struct trace_var *trace = var->trace;
692 var->trace = t.next;
708 VALUE var, cmd;
715 rb_scan_args(argc, argv, "11", &var, &cmd);
716 id = rb_check_id(&var);
718 rb_name_error_str(var, "undefined global variable %"PRIsVALUE"", QUOTE(var));
724 trace = (entry = (struct global_entry *)data)->var->trace;
735 if (!entry->var->block_trace) remove_trace(entry->var);
742 if (!entry->var->block_trace) remove_trace(entry->var);
754 struct global_variable *var = entry->var;
755 return (*var->getter)(entry->id, var->data, var);
777 trace_en(struct global_variable *var)
779 var->block_trace = 0;
780 remove_trace(var);
788 struct global_variable *var = entry->var;
792 (*var->setter)(val, entry->id, var->data, var);
794 if (var->trace && !var->block_trace) {
795 var->block_trace = 1;
796 trace.trace = var->trace;
798 rb_ensure(trace_ev, (VALUE)&trace, trace_en, (VALUE)var);
824 if (entry->var->getter == undef_getter) return Qfalse;
877 else if ((entry1 = (struct global_entry *)data1)->var != entry2->var) {
878 struct global_variable *var = entry1->var;
879 if (var->block_trace) {
882 var->counter--;
883 if (var->counter == 0) {
884 struct trace_var *trace = var->trace;
890 xfree(var);
896 entry2->var->counter++;
897 entry1->var = entry2->var;
1385 * attr_reader :var
1387 * @var = 99
1390 * remove_instance_variable(:@var)
1394 * d.var #=> 99
1396 * d.var #=> nil
2539 * @@var = 99
2540 * puts @@var
2541 * remove_class_variable(:@@var)
2542 * p(defined? @@var)