private Pass _commonProgramChecks( ScriptCompiler compiler, ObjectAbstractNode node, out string createdProgramName )
{
createdProgramName = string.Empty;
if ( string.IsNullOrEmpty( node.Name ) )
{
compiler.AddError( CompileErrorCode.ObjectNameExpected, node.File, node.Line );
return null;
}
ScriptCompilerEvent evt = new ProcessResourceNameScriptCompilerEvent(
ProcessResourceNameScriptCompilerEvent.ResourceType.GpuProgram, node.Name );
compiler._fireEvent( ref evt );
createdProgramName = ( (ProcessResourceNameScriptCompilerEvent)evt ).Name;
if ( GpuProgramManager.Instance.GetByName( createdProgramName ) == null )
{
compiler.AddError( CompileErrorCode.ReferenceToaNonExistingObject, node.File, node.Line );
return null;
}
Pass pass = (Pass)node.Parent.Context;
return pass;
}
}