/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.lang.parser;
public class ExternalSymbolMapSymbolTableWrapper extends ExternalSymbolMapBase {
private ISymbolTable _table;
public ExternalSymbolMapSymbolTableWrapper(ISymbolTable table) {
this(table, false);
}
public ExternalSymbolMapSymbolTableWrapper(ISymbolTable table, boolean assumeSymbolsRequireExternalSymbolMapArgument) {
super(assumeSymbolsRequireExternalSymbolMapArgument);
_table = table;
}
public ISymbol getSymbol( String name ) {
ISymbol symbol = _table.getSymbol( name );
if( symbol == null ) {
symbol = getAltSymbol( name );
}
return symbol;
}
private ISymbol getAltSymbol( String name ) {
String altName = handleCrappyPcfCapitalization( name );
if( altName != null ) {
return _table.getSymbol( altName );
}
return null;
}
}