/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.internal.gosu.module;
import gw.config.CommonServices;
import gw.fs.IDirectory;
import gw.internal.gosu.dynamic.DynamicTypeLoader;
import gw.internal.gosu.parser.ExecutionEnvironment;
import gw.internal.gosu.properties.PropertiesTypeLoader;
import gw.lang.parser.ILanguageLevel;
import gw.lang.reflect.gs.GosuClassTypeLoader;
import gw.lang.reflect.module.IExecutionEnvironment;
import java.util.List;
public class DefaultSingleModule extends GlobalModule
{
public DefaultSingleModule( ExecutionEnvironment execEnv )
{
super(execEnv, IExecutionEnvironment.DEFAULT_SINGLE_MODULE_NAME);
}
protected List<IDirectory> getAdditionalSourceRoots() {
return CommonServices.getEntityAccess().getAdditionalSourceRoots();
}
@Override
protected void createStandardTypeLoaders() {
CommonServices.getTypeSystem().pushTypeLoader( this, new GosuClassTypeLoader( this, getFileRepository( ) ) );
CommonServices.getTypeSystem().pushTypeLoader( this, new PropertiesTypeLoader( this ) );
if( ILanguageLevel.Util.DYNAMICE_TYPE() ) {
CommonServices.getTypeSystem().pushTypeLoader( this, new DynamicTypeLoader( this ) );
}
createGlobalTypeloaders( );
}
@Override
public IDirectory getOutputPath()
{
return null;
}
@Override
protected void createExtensionTypeLoaders() {
createExtenxioTypeloadersImpl( );
}
}