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)); }
internal override PhpTypeCode EmitEnsure(CodeGenerator /*!*/ codeGenerator, ChainBuilder chain) { return(chain.EmitEnsureStaticProperty(typeRef, null, fieldNameExpr, chain.IsArrayItem)); }
internal override PhpTypeCode EmitEnsure(CodeGenerator/*!*/ codeGenerator, ChainBuilder chain) { return chain.EmitEnsureStaticProperty(typeName, null, fieldNameExpr, chain.IsArrayItem); }
internal override PhpTypeCode EmitEnsure(IndirectStFldUse /*!*/ node, CodeGenerator /*!*/ codeGenerator, ChainBuilder chain) { return(chain.EmitEnsureStaticProperty(node.TypeRef, null, node.FieldNameExpr, chain.IsArrayItem)); }
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); }