本文整理汇总了C#中AST.GenerateAsRight方法的典型用法代码示例。如果您正苦于以下问题:C# AST.GenerateAsRight方法的具体用法?C# AST.GenerateAsRight怎么用?C# AST.GenerateAsRight使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AST
的用法示例。
在下文中一共展示了AST.GenerateAsRight方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GenerateBoxable
GenerateBoxable(
AST.Exp exp,
System.Type tTarget
)
{
Debug.Assert(tTarget != null);
System.Type tSource = exp.CLRType;
exp.GenerateAsRight(this);
// Check if we need to box.
// Null expressions don't have a clr type. But they're not value
// types so they don't have to be boxed.
if (tSource != null)
{
// Strip off references to look at base types
if (tSource.IsByRef)
tSource = tSource.GetElementType();
if (tTarget.IsByRef)
tTarget = tTarget.GetElementType();
if (tSource.IsValueType && !tTarget.IsValueType)
m_ilGenerator.Emit(OpCodes.Box, tSource);
}
else
{
// Make sure this really is a null and not just an unresolved type
// Note that ArgExp can be null, but can't be boxed.
Debug.Assert(AST.Exp.CanBeNullType(exp));
}
}