/**
* Aptana Studio
* Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the GNU Public License (GPL) v3 (with exceptions).
* Please see the license.html included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
package com.aptana.ruby.core.inference;
import java.util.Collection;
import org.jrubyparser.ast.Node;
public interface ITypeInferrer
{
/**
* Given raw Ruby source code and an offset into that code, does a best estimate of type information and returns a
* list of ITypeGuess objects.
*
* @param source
* The raw source to be parsed
* @param offset
* the position in the source where we want to infer type information.
* @return A List of ITypeGuess objects giving us the best available information for inferred type.
*/
public Collection<ITypeGuess> infer(String source, int offset);
public Collection<ITypeGuess> infer(Node rootNode, Node toInfer);
}