mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* vm_insnhelper.c (vm_get_ev_const): add flag argument of `rb_autoloading_value`. * constant.h (rb_autoloading_value): moved the declaration from vm_core.h for `rb_const_flag_t`. [ruby-core:85516] [Bug #14469] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			51 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/**********************************************************************
 | 
						|
 | 
						|
  constant.h -
 | 
						|
 | 
						|
  $Author$
 | 
						|
  created at: Sun Nov 15 00:09:33 2009
 | 
						|
 | 
						|
  Copyright (C) 2009 Yusuke Endoh
 | 
						|
 | 
						|
**********************************************************************/
 | 
						|
#ifndef CONSTANT_H
 | 
						|
#define CONSTANT_H
 | 
						|
 | 
						|
typedef enum {
 | 
						|
    CONST_DEPRECATED = 0x100,
 | 
						|
 | 
						|
    CONST_VISIBILITY_MASK = 0xff,
 | 
						|
    CONST_PUBLIC    = 0x00,
 | 
						|
    CONST_PRIVATE,
 | 
						|
    CONST_VISIBILITY_MAX
 | 
						|
} rb_const_flag_t;
 | 
						|
 | 
						|
#define RB_CONST_PRIVATE_P(ce) \
 | 
						|
    (((ce)->flag & CONST_VISIBILITY_MASK) == CONST_PRIVATE)
 | 
						|
#define RB_CONST_PUBLIC_P(ce) \
 | 
						|
    (((ce)->flag & CONST_VISIBILITY_MASK) == CONST_PUBLIC)
 | 
						|
 | 
						|
#define RB_CONST_DEPRECATED_P(ce) \
 | 
						|
    ((ce)->flag & CONST_DEPRECATED)
 | 
						|
 | 
						|
typedef struct rb_const_entry_struct {
 | 
						|
    rb_const_flag_t flag;
 | 
						|
    int line;
 | 
						|
    const VALUE value;            /* should be mark */
 | 
						|
    const VALUE file;             /* should be mark */
 | 
						|
} rb_const_entry_t;
 | 
						|
 | 
						|
VALUE rb_mod_private_constant(int argc, const VALUE *argv, VALUE obj);
 | 
						|
VALUE rb_mod_public_constant(int argc, const VALUE *argv, VALUE obj);
 | 
						|
VALUE rb_mod_deprecate_constant(int argc, const VALUE *argv, VALUE obj);
 | 
						|
void rb_free_const_table(struct rb_id_table *tbl);
 | 
						|
VALUE rb_public_const_get(VALUE klass, ID id);
 | 
						|
VALUE rb_public_const_get_at(VALUE klass, ID id);
 | 
						|
VALUE rb_public_const_get_from(VALUE klass, ID id);
 | 
						|
int rb_public_const_defined(VALUE klass, ID id);
 | 
						|
int rb_public_const_defined_at(VALUE klass, ID id);
 | 
						|
int rb_public_const_defined_from(VALUE klass, ID id);
 | 
						|
rb_const_entry_t *rb_const_lookup(VALUE klass, ID id);
 | 
						|
int rb_autoloading_value(VALUE mod, ID id, VALUE *value, rb_const_flag_t *flag);
 | 
						|
 | 
						|
#endif /* CONSTANT_H */
 |