Sha256: 7c8ac74451eb35e71db74cf9fc855584403b0b6f97b500922278619db765cac6

Contents?: true

Size: 1.23 KB

Versions: 119

Compression:

Stored size: 1.23 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

119 entries across 119 versions & 1 rubygems

Version Path
rhodes-3.5.1.12 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.5 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.4.2 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.4 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.3 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.3.beta.4 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.3.beta.3 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.3.beta.2 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.3.beta.1 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.2 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.2.beta.7 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.2.beta.6 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.2.beta.5 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.2.beta.4 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.2.beta.3 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.2.beta.2 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.2.beta.1 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.1 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.0 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java
rhodes-3.3.0.beta.3 platform/bb/RubyVM/src/com/xruby/runtime/lang/MethodBlockBase.java