Example #1
0
		/// <summary>
		/// Emits IL instructions that read the value of a static field.
		/// </summary>
		/// <param name="codeGenerator">The current <see cref="CodeGenerator"/>.</param>
		/// <param name="wantRef">If <B>false</B> the field value should be left on the evaluation stack,
		/// if <B>true</B> the <see cref="PhpReference"/> should be left on the evaluation stack.</param>
		/// <remarks>
		/// Nothing is expected on the evaluation stack. A <see cref="PhpReference"/> (if <paramref name="wantRef"/>
		/// is <B>true</B>) or the field value itself (if <paramref name="wantRef"/> is <B>false</B>) is left on the
		/// evaluation stack (all PHP static fields are <see cref="PhpReference"/>s).
		/// </remarks>
		internal override PhpTypeCode EmitRead(CodeGenerator codeGenerator, bool wantRef)
		{
			return codeGenerator.EmitGetStaticPropertyOperator(type, null, fieldNameExpr, wantRef);
		}