private IReferenceType GetReflectedType(EvaluatedExpression typeExpression) { Contract.Requires <ArgumentNullException>(typeExpression != null, "typeExpression"); IClassObjectReference classObject = typeExpression.Value as IClassObjectReference; if (classObject == null) { throw new ArgumentException(); } return(classObject.GetReflectedType()); }
private EvaluatedExpression GetArrayClass(EvaluatedExpression elementType) { Contract.Requires <ArgumentNullException>(elementType != null, "elementType"); Contract.Ensures(Contract.Result <EvaluatedExpression>() != null); IClassObjectReference classObject = elementType.Value as IClassObjectReference; if (classObject == null) { throw new ArgumentException(); } IReferenceType elementReflectedType = classObject.GetReflectedType(); return(FindClass("[" + elementReflectedType.GetSignature())); }