Spark.Emit.HLSL.EmitContextHLSL.EmitExpImpl C# (CSharp) Method

EmitExpImpl() private method

private EmitExpImpl ( MidMethodApp app, Span span ) : EmitValHLSL
app MidMethodApp
span Span
return EmitValHLSL
        private EmitValHLSL EmitExpImpl(MidMethodApp app, Span span)
        {
            // Make sure we've emitted the method.
            var method = GetMethod(app.MethodDecl);

            Span builder = new Span();
            builder.Write("{0}(", method);

            var resultType = EmitType(app.MethodDecl.ResultType);
            var resultVar = resultType.CreateVal(
                _shared.GenerateName(app.MethodDecl.Name.ToString()));

            DeclareLocal(resultVar, span);

            bool first = true;
            AddArgs(
                resultVar,
                ref first,
                builder);

            foreach (var a in app.Args)
            {
                var argVal = EmitVal(a, span);
                AddArgs(
                    argVal,
                    ref first,
                    builder);
            }
            builder.WriteLine(");");

            span.Add(builder);
            return resultVar;
        }

Same methods

EmitContextHLSL::EmitExpImpl ( MidAssignExp exp, Span span ) : EmitValHLSL
EmitContextHLSL::EmitExpImpl ( MidAttributeFetch fetch, Span span ) : EmitValHLSL
EmitContextHLSL::EmitExpImpl ( MidBreakExp exp, Span span ) : EmitValHLSL
EmitContextHLSL::EmitExpImpl ( MidBuiltinApp app, Span span ) : EmitValHLSL
EmitContextHLSL::EmitExpImpl ( MidElementCtorApp val, Span span ) : EmitValHLSL
EmitContextHLSL::EmitExpImpl ( MidFieldRef fieldRef, Span span ) : EmitValHLSL
EmitContextHLSL::EmitExpImpl ( MidForExp exp, Span span ) : EmitValHLSL
EmitContextHLSL::EmitExpImpl ( MidIfExp exp, Span span ) : EmitValHLSL
EmitContextHLSL::EmitExpImpl ( MidLabelExp exp, Span span ) : EmitValHLSL
EmitContextHLSL::EmitExpImpl ( MidLetExp let, Span span ) : EmitValHLSL
EmitContextHLSL::EmitExpImpl ( MidSwitchExp exp, Span span ) : EmitValHLSL
EmitContextHLSL::EmitExpImpl ( MidVal val, Span span ) : EmitValHLSL