Sha256: ca13418b3ceddb8ee34ed5bfa81494d4917b198aff208d146a329158a46d918e

Contents?: true

Size: 1.28 KB

Versions: 18

Compression:

Stored size: 1.28 KB

Contents

/**
 * Copyright 2005-2007 Xue Yong Zhi
 * Distributed under the BSD License
 */

package com.xruby.runtime.lang;

public abstract class MethodBlockBase {
    protected int argc_;
    protected boolean has_asterisk_parameter_;
    protected int default_argc_;
    protected RubyValue[] default_values_ = null;
    private RubyModule scopeOfCurrentMethod_;

    protected MethodBlockBase(int argc, boolean has_asterisk_parameter, int default_argc) {
        argc_ = argc;
        has_asterisk_parameter_ = has_asterisk_parameter;
        default_argc_ = default_argc;
    }

    protected void doClone(MethodBlockBase orig)
    {
    	argc_ = orig.argc_;
    	has_asterisk_parameter_ = orig.has_asterisk_parameter_;
    	default_argc_ = orig.default_argc_;
    	default_values_ = orig.default_values_;
    	scopeOfCurrentMethod_= orig.scopeOfCurrentMethod_;
    }

    public int arity() {
        if (has_asterisk_parameter_ || default_argc_ > 0) {
            return -(argc_ - default_argc_) - 1;
        } else {
            return argc_;
        }
    }

    public RubyModule getScope() {
        return scopeOfCurrentMethod_;
    }

    public void setScope(RubyModule m) {
        scopeOfCurrentMethod_ = m;
    }

    abstract public RubyID getID();
}

Version data entries

18 entries across 18 versions & 2 rubygems

Version Path
rhodes-7.6.0 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-7.5.1 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-7.4.1 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-7.1.17 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-6.2.0 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-6.0.11 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-5.5.18 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-5.5.17 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-5.5.15 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-5.5.0.22 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-5.5.2 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-5.5.0.7 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-5.5.0.3 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-5.5.0 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
tauplatform-1.0.3 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
tauplatform-1.0.2 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
tauplatform-1.0.1 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.5.1.12 platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java