예제 #1
0
        internal override PhpTypeCode EmitEnsure(CodeGenerator /*!*/ codeGenerator, ChainBuilder /*!*/ chain)
        {
            // unknown property of a known type reported as an error during analysis
            Debug.Assert(!property.IsUnknown ||
                         property.DeclaringType.IsUnknown ||
                         !property.DeclaringType.IsDefinite);

            // we're only interested in a directly accessible property
            return(chain.EmitEnsureStaticProperty((runtimeVisibilityCheck) ? null : property, typeRef, propertyName, chain.IsArrayItem));
        }
예제 #2
0
 internal override PhpTypeCode EmitEnsure(CodeGenerator /*!*/ codeGenerator, ChainBuilder chain)
 {
     return(chain.EmitEnsureStaticProperty(typeRef, null, fieldNameExpr, chain.IsArrayItem));
 }
예제 #3
0
		internal override PhpTypeCode EmitEnsure(CodeGenerator/*!*/ codeGenerator, ChainBuilder chain)
		{
			return chain.EmitEnsureStaticProperty(typeName, null, fieldNameExpr, chain.IsArrayItem);
		}
예제 #4
0
 internal override PhpTypeCode EmitEnsure(IndirectStFldUse /*!*/ node, CodeGenerator /*!*/ codeGenerator, ChainBuilder chain)
 {
     return(chain.EmitEnsureStaticProperty(node.TypeRef, null, node.FieldNameExpr, chain.IsArrayItem));
 }
예제 #5
0
		internal override PhpTypeCode EmitEnsure(CodeGenerator/*!*/ codeGenerator, ChainBuilder/*!*/ chain)
		{
			// unknown property of a known type reported as an error during analysis
			Debug.Assert(!property.IsUnknown ||
				property.DeclaringType.IsUnknown ||
				!property.DeclaringType.IsDefinite);

			// we're only interested in a directly accessible property
			return chain.EmitEnsureStaticProperty((runtimeVisibilityCheck) ? null : property, typeName, propertyName, chain.IsArrayItem);
		}