EmitName() private method

Emits name as string, uses cached variable.
private EmitName ( CodeGenerator cg, BoundExpression name ) : void
cg CodeGenerator
name Pchp.CodeAnalysis.Semantics.BoundExpression
return void
Ejemplo n.º 1
0
        /// <summary>
        /// Emits name as string. Caches the result if holder is provided, or loads evaluated name if holder was initialized already.
        /// </summary>
        public static void EmitName(InstanceCacheHolder holderOrNull, CodeGenerator cg, BoundExpression name)
        {
            Contract.ThrowIfNull(cg);
            Contract.ThrowIfNull(name);

            if (holderOrNull != null)
            {
                holderOrNull.EmitName(cg, name);
            }
            else
            {
                cg.EmitConvert(name, cg.CoreTypes.String);
            }
        }