Sha256: 2c7ecfa7424b2a635e80549275d0cc8fb332983420c6274cdf93c6ca935ca4ec

Contents?: true

Size: 1.04 KB

Versions: 24

Compression:

Stored size: 1.04 KB

Contents

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

package com.xruby.compiler.codedom;

public class AsciiValueExpression extends Expression {
	private int value_;

	public AsciiValueExpression(String value) {

		if (value.startsWith("?\\M-\\C-")) {
			value_ = (int)(value.charAt(7) & 0x9f | 0x80);
			return;
		} else if (value.startsWith("?\\C-")) {
			value_ = (int)(value.charAt(4) & 0x9f);
			return;
		} else if (value.startsWith("?\\M-")) {
			value_ = (int)(value.charAt(4) | 0x80);
			return;
		} else if (value.charAt(1) == '\\') {
			switch (value.charAt(2)) {
			case 'n':
				value_ = '\n';
				return;
			case 'r':
				value_ = '\r';
				return;
			case 'x':
				value_ = Integer.valueOf(value.substring(3), 16);
				return;
			default:
				//TODO more escped value
				value_ = (int)value.charAt(2);
				return;

			}
		} else {
			value_ = (int)value.charAt(1);
			return;
		}
	}

	public void accept(CodeVisitor visitor) {
		visitor.visitFixnumExpression(value_);
	}
}

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
rhodes-2.0.3 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-2.0.2 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-2.0.0 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-2.0.0.rc2 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-2.0.0.rc1 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-2.0.0.beta11 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-2.0.0.beta10 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-2.0.0.beta9 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-2.0.0.beta8 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-2.0.0.beta7 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-2.0.0.beta6 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-2.0.0.beta4 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-2.0.0.beta3 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-1.5.5 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-2.0.0.beta2 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-2.0.0.beta1 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-1.5.4 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-1.5.3 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-1.5.2 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java
rhodes-1.5.1 platform/shared/xruby/src/com/xruby/compiler/codedom/AsciiValueExpression.java