Esempio n. 1
0
 protected override Type CalcCLRTypeHelper(ISemanticResolver s)
 {
     // Get the type of our inner
     Type t = m_exp.CalcCLRType(s);
     
     // If we've already got a reference, then we're ok.
     // Also ok if we're null (since literals can't be passed as a ref/out)
     if ((t == null) || (t.IsByRef))
         return t;
     
     // Ref & Out params are actually type 'T&', not 'T'
     if (Flow == EArgFlow.cRef || Flow == EArgFlow.cOut)
     {
         t = s.GetRefToType(t);        
     }
     
     return t;
 }