Sha256: 2a1483ff2ddfff4eb05da62cbc222bd10aba98a73ad75cf25d1f8594fd0dbe11

Contents?: true

Size: 1.64 KB

Versions: 88

Compression:

Stored size: 1.64 KB

Contents

#ifndef CONSTANT_H
#define CONSTANT_H
/**********************************************************************

  constant.h -

  $Author$
  created at: Sun Nov 15 00:09:33 2009

  Copyright (C) 2009 Yusuke Endoh

**********************************************************************/
#include "ruby/ruby.h"
#include "id_table.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;
    VALUE value;            /* should be mark */
    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_const_source_location(VALUE, ID);

MJIT_SYMBOL_EXPORT_BEGIN
int rb_autoloading_value(VALUE mod, ID id, VALUE *value, rb_const_flag_t *flag);
rb_const_entry_t *rb_const_lookup(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_from(VALUE klass, ID id);
VALUE rb_const_source_location_at(VALUE, ID);
MJIT_SYMBOL_EXPORT_END

#endif /* CONSTANT_H */

Version data entries

88 entries across 27 versions & 3 rubygems

Version Path
avalara_sdk-24.12.2 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-0.10.16/lib/debase/ruby_core_source/ruby-3.1.0-p0/constant.h
avalara_sdk-24.12.2 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-0.10.16/lib/debase/ruby_core_source/ruby-3.0.0-p0/constant.h
avalara_sdk-24.12.2 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-3.4.1/lib/debase/ruby_core_source/ruby-3.0.0-p0/constant.h
avalara_sdk-24.12.2 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-3.4.1/lib/debase/ruby_core_source/ruby-3.2.0-p0/constant.h
avalara_sdk-24.12.2 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-3.4.1/lib/debase/ruby_core_source/ruby-3.1.0-p0/constant.h
avalara_sdk-24.12.2 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-0.10.16/lib/debase/ruby_core_source/ruby-3.2.0-preview1/constant.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-3.1.0-p0/constant.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-3.2.0-p0/constant.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-3.0.0-p0/constant.h
debase-ruby_core_source-3.4.0 lib/debase/ruby_core_source/ruby-3.0.0-p0/constant.h
debase-ruby_core_source-3.4.0 lib/debase/ruby_core_source/ruby-3.1.0-p0/constant.h
debase-ruby_core_source-3.4.0 lib/debase/ruby_core_source/ruby-3.2.0-p0/constant.h
avalara_sdk-24.12.1 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-0.10.16/lib/debase/ruby_core_source/ruby-3.0.0-p0/constant.h
avalara_sdk-24.12.1 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-0.10.16/lib/debase/ruby_core_source/ruby-3.1.0-p0/constant.h
avalara_sdk-24.12.1 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-0.10.16/lib/debase/ruby_core_source/ruby-3.2.0-preview1/constant.h
avalara_sdk-24.12.0 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-0.10.16/lib/debase/ruby_core_source/ruby-3.0.0-p0/constant.h
avalara_sdk-24.12.0 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-3.3.6/lib/debase/ruby_core_source/ruby-3.1.0-p0/constant.h
avalara_sdk-24.12.0 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-0.10.16/lib/debase/ruby_core_source/ruby-3.1.0-p0/constant.h
avalara_sdk-24.12.0 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-0.10.16/lib/debase/ruby_core_source/ruby-3.2.0-preview1/constant.h
avalara_sdk-24.12.0 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-3.3.6/lib/debase/ruby_core_source/ruby-3.0.0-p0/constant.h