/** * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the Eclipse Public License (EPL). * Please see the license.txt included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ /* * Created on May 16, 2006 */ package com.python.pydev.analysis.visitors; import java.util.ArrayList; import java.util.List; import org.python.pydev.core.IToken; import com.aptana.shared_core.string.FastStringBuffer; public final class GenAndTok { /** * This is the token that is from the current module that created the token (if on some wild import) * * May be equal to tok */ public final IToken generator; /** * This is the token that has been added to the namespace (may have been created on the current module or not). */ public final IToken tok; /** * These are the tokens that refer this generator */ public final List<IToken> references = new ArrayList<IToken>(); /** * the scope id of the definition */ public final int scopeId; /** * this is the scope where it was found */ public final ScopeItems scopeFound; public GenAndTok(IToken generator, IToken tok, int scopeId, ScopeItems scopeFound) { this.generator = generator; this.tok = tok; this.scopeId = scopeId; this.scopeFound = scopeFound; } @Override public String toString() { FastStringBuffer buffer = new FastStringBuffer(); buffer.append("GenAndTok [ "); buffer.append(generator.getRepresentation()); buffer.append(" - "); buffer.append(tok.getRepresentation()); buffer.append(" (scopeId:"); buffer.append(scopeId); buffer.append(") "); if (references.size() > 0) { buffer.append(" (references:"); for (IToken ref : references) { buffer.append(ref.getRepresentation()); buffer.append(","); } buffer.deleteLast(); //remove the last comma buffer.append(") "); } buffer.append("]"); return buffer.toString(); } public List<IToken> getAllTokens() { ArrayList<IToken> ret = new ArrayList<IToken>(); ret.add(generator); ret.addAll(references); return ret; } }