/* * Created on Apr 20, 2007 Copyright (C) 2001-6, Anthony Harrison anh23@pitt.edu * (jactr.org) This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of the License, * or (at your option) any later version. This library is distributed in the * hope that it will be useful, but WITHOUT ANY WARRANTY; without even the * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See * the GNU Lesser General Public License for more details. You should have * received a copy of the GNU Lesser General Public License along with this * library; if not, write to the Free Software Foundation, Inc., 59 Temple * Place, Suite 330, Boston, MA 02111-1307 USA */ package org.jactr.io.antlr3.misc; import java.net.URL; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import org.antlr.runtime.tree.CommonTree; import org.antlr.runtime.tree.Tree; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * @author developer */ public class DetailedCommonTree extends CommonTree { /** * logger definition */ static private final Log LOGGER = LogFactory .getLog(DetailedCommonTree.class); private int _endOffset = -1; private int _startOffset = -1; private URL _source; /** * @param arg0 */ public DetailedCommonTree(CommonTree arg0, URL source) { super(arg0); _source = source; } public URL getSource() { return _source; } @Override public Tree dupNode() { return new DetailedCommonTree(this, _source); } /** * @param arg0 */ public DetailedCommonTree(Token arg0, URL source) { super(arg0); if (arg0 != null) { CommonToken token = (CommonToken) arg0; setEndOffset(token.getStopIndex()); setStartOffset(token.getStartIndex()); } _source = source; } public int getStopOffset() { return _endOffset; } public int getStartOffset() { return _startOffset; } public void setEndOffset(int end) { _endOffset = end; } public void setStartOffset(int start) { _startOffset = start; } public void setSource(URL url) { _source = url; } }