Sha256: 3bbd8aaed8d26b1ec09ddc0e784a580d8c82d7221cb4d0b0dfbedfdee3fdecd0

Contents?: true

Size: 900 Bytes

Versions: 135

Compression:

Stored size: 900 Bytes

Contents

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

package com.xruby.compiler.codedom;

public class YieldExpression extends Expression {

	private MethodCallArguments arguments_;

	public YieldExpression(MethodCallArguments arguments) {
		arguments_ = arguments;
	}

	public void accept(CodeVisitor visitor) {
		visitor.visitYieldBegin();

		int argc = getArgc();
		switch (argc) {
		case 0:
			break;
		case 1:
			arguments_.getFirstExpression().accept(visitor);
			break;
		default:
			arguments_.accept(visitor);
			break;
		}		
		
		visitor.visitYieldEnd(argc);
	}
	
	private int getArgc() {
		if (null == arguments_) {
			return 0;
		}
		
		if (arguments_.getAsteriskArgument() != null) {
			return -1;
		}
		
		if (arguments_.getBlockArgument() != null) {
			return -1;
		}
		
		return arguments_.size();
	}
}

Version data entries

135 entries across 135 versions & 2 rubygems

Version Path
rhodes-7.6.0 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-7.5.1 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-7.4.1 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-7.1.17 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-6.2.0 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-6.0.11 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-5.5.18 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-5.5.17 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-5.5.15 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-5.5.0.22 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-5.5.2 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-5.5.0.7 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-5.5.0.3 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-5.5.0 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
tauplatform-1.0.3 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
tauplatform-1.0.2 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
tauplatform-1.0.1 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-3.5.1.12 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-3.3.5 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java
rhodes-3.4.2 platform/shared/xruby/src/com/xruby/compiler/codedom/YieldExpression.java