Axiom.Scripting.Compiler.ScriptCompiler.PassTranslator._commonProgramChecks C# (CSharp) Method

_commonProgramChecks() private method

private _commonProgramChecks ( ScriptCompiler compiler, Axiom.Scripting.Compiler.AST.ObjectAbstractNode node, string &createdProgramName ) : Pass
compiler ScriptCompiler
node Axiom.Scripting.Compiler.AST.ObjectAbstractNode
createdProgramName string
return Axiom.Graphics.Pass
			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;
			}
		}