Sha256: 6035979994ad228ad626d266fea81e18032fb48d88c6d50cc302114b6fd1c572

Contents?: true

Size: 1.08 KB

Versions: 135

Compression:

Stored size: 1.08 KB

Contents

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

package com.xruby.compiler.parser;

import antlr.*;
import antlr.collections.*;

/**
 * CommonAST(default) from Antlr does not store line information.
 * So we extend it, so use setASTNodeClass() to set it up in parser. 
 */
public class ASTWithLineNumber extends CommonAST {

	private static final long serialVersionUID = 1L;
	private int line_ = 0;
	private static int last_line_ = 0;//help initialize(int t, String txt)

	public static void resetLineNumber() {
		last_line_ = 0;
	}
	
	public void initialize(Token tok) {
		super.initialize(tok);
		line_ = tok.getLine();
		last_line_ = line_;
	}

	public void initialize (AST ast) {
		assert(false);//I have not see this one being used
		super.initialize(ast);
		if (ast instanceof ASTWithLineNumber){
			line_ = ((ASTWithLineNumber)ast).getLine();
			last_line_ = line_;
		}
	}
	
	public void initialize(int t, String txt) {
		super.initialize(t, txt);
		line_ = last_line_;
	}

	public int getLine() {
		return line_;
	}
}

Version data entries

135 entries across 135 versions & 2 rubygems

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