}
public Class getType(List tuples)
{
Class type = null;
Symbol symbol = null;
String firstTuple = (String)tuples.get(0);
if (caseSensitiveSymbolNames())
{
symbol = symtbl.getSymbol(firstTuple);
}
else
{
symbol = symtbl.getSymbol(firstTuple);
if (symbol == null)
{
symbol = symtbl.getSymbol(firstTuple.toUpperCase());
}
if (symbol == null)
{
symbol = symtbl.getSymbol(firstTuple.toLowerCase());
}
}
if (symbol != null)
{
type = symbol.getValueType();
if (type == null)
{
// Implicit variables don't have their type defined
throw new NucleusUserException("Cannot find type of " + tuples.get(0) +
" since symbol has no type; implicit variable?");
}
for (int i=1; i<tuples.size(); i++)
{
type = getType(type, (String)tuples.get(i));
}
}
else
{
symbol = symtbl.getSymbol(candidateAlias);
type = symbol.getValueType();
for (int i=0; i<tuples.size(); i++)
{
type = getType(type, (String)tuples.get(i));
}
}