Skip to content

Commit

Permalink
Mark some ReflectionUtils methods as Obsolete and remove their usages (
Browse files Browse the repository at this point in the history
…#216)

* Mark some ReflectionUtils methods as Obsolete and remove their usages

* Capitalize type names
  • Loading branch information
gpetrou authored and slozier committed Sep 28, 2019
1 parent 67c5066 commit 6ae1539
Show file tree
Hide file tree
Showing 35 changed files with 213 additions and 205 deletions.
6 changes: 3 additions & 3 deletions Src/Microsoft.Dynamic/Actions/ActionBinder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ public abstract class ActionBinder {
/// </summary>
public virtual object Convert(object obj, Type toType) {
if (obj == null) {
if (!toType.IsValueType()) {
if (!toType.IsValueType) {
return null;
}
} else {
if (toType.IsValueType()) {
if (toType.IsValueType) {
if (toType == obj.GetType()) {
return obj;
}
Expand Down Expand Up @@ -89,7 +89,7 @@ public abstract class ActionBinder {
Type exprType = expr.Type;

if (toType == typeof(object)) {
if (exprType.IsValueType()) {
if (exprType.IsValueType) {
return AstUtils.Convert(expr, toType);
}

Expand Down
2 changes: 1 addition & 1 deletion Src/Microsoft.Dynamic/Actions/Calls/OutArgBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public OutArgBuilder(ParameterInfo info)
internal override Expression ByRefArgument => _isRef ? _tmp : null;

private Expression GetDefaultValue() {
if (_parameterType.IsValueType()) {
if (_parameterType.IsValueType) {
// default(T)
return AstUtils.Constant(Activator.CreateInstance(_parameterType));
}
Expand Down
6 changes: 3 additions & 3 deletions Src/Microsoft.Dynamic/Actions/Calls/OverloadResolver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -590,7 +590,7 @@ public abstract partial class OverloadResolver {
return true;
}
parameterType = lastParameter.Type.GetElementType();
} else if (parameter.Type.ContainsGenericParameters()) {
} else if (parameter.Type.ContainsGenericParameters) {
return true;
} else {
parameterType = parameter.Type;
Expand Down Expand Up @@ -873,11 +873,11 @@ public abstract partial class OverloadResolver {
return false;
}

if (toType.IsGenericType() && toType.GetGenericTypeDefinition() == typeof(Nullable<>)) {
if (toType.IsGenericType && toType.GetGenericTypeDefinition() == typeof(Nullable<>)) {
return true;
}

if (!toType.IsValueType()) {
if (!toType.IsValueType) {
return true;
}
}
Expand Down
2 changes: 1 addition & 1 deletion Src/Microsoft.Dynamic/Actions/Calls/ParameterMapping.cs
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@ public sealed class ParameterMapping {
break;
}

curType = curType.GetBaseType();
curType = curType.BaseType;
}

if (mis.Length == 1) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ public ParamsDictArgBuilder(ParameterInfo info, int argIndex, string[] names, in

if (dictType == typeof(IDictionary)) {
func = BinderOps.MakeDictionary<object, object>;
} else if (dictType.IsGenericType()) {
} else if (dictType.IsGenericType) {
Type[] genArgs = dictType.GetGenericTypeArguments();
if (dictType.GetGenericTypeDefinition() == typeof(IDictionary<,>) ||
dictType.GetGenericTypeDefinition() == typeof(Dictionary<,>)) {
Expand Down
20 changes: 10 additions & 10 deletions Src/Microsoft.Dynamic/Actions/Calls/TypeInferer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ public static class TypeInferer {
foreach (ArgBuilder oldArgBuilder in candidate.ArgBuilders) {
var pi = oldArgBuilder.ParameterInfo;

if (pi != null && (pi.ParameterType.IsGenericParameter || pi.ParameterType.ContainsGenericParameters())) {
if (pi != null && (pi.ParameterType.IsGenericParameter || pi.ParameterType.ContainsGenericParameters)) {
ArgBuilder replacement = oldArgBuilder.Clone(newOverload.Parameters[pi.Position]);

if (replacement == null) {
Expand Down Expand Up @@ -243,7 +243,7 @@ public static class TypeInferer {
foreach (Type t in constraints) {
if (t.IsGenericParameter) {
AddDependency(dependencies, genArg, t);
} else if (t.ContainsGenericParameters()) {
} else if (t.ContainsGenericParameters) {
AddNestedDependencies(dependencies, genArg, t);
}
}
Expand All @@ -256,7 +256,7 @@ public static class TypeInferer {
foreach (Type innerArg in innerArgs) {
if (innerArg.IsGenericParameter) {
AddDependency(dependencies, genArg, innerArg);
} else if (innerArg.ContainsGenericParameters()) {
} else if (innerArg.ContainsGenericParameters) {
AddNestedDependencies(dependencies, genArg, innerArg);
}
}
Expand Down Expand Up @@ -295,7 +295,7 @@ public static class TypeInferer {
/// Adds any additional ArgumentInputs entries for the given object and parameter type.
/// </summary>
private static void AddOneInput(Dictionary<Type, ArgumentInputs> inputs, DynamicMetaObject arg, Type paramType) {
if (paramType.ContainsGenericParameters()) {
if (paramType.ContainsGenericParameters) {
List<Type> containedGenArgs = new List<Type>();
CollectGenericParameters(paramType, containedGenArgs);

Expand All @@ -319,7 +319,7 @@ public static class TypeInferer {
if (!containedGenArgs.Contains(type)) {
containedGenArgs.Add(type);
}
} else if (type.ContainsGenericParameters()) {
} else if (type.ContainsGenericParameters) {
if (type.IsArray || type.IsByRef) {
CollectGenericParameters(type.GetElementType(), containedGenArgs);
} else {
Expand Down Expand Up @@ -446,7 +446,7 @@ private class ArgumentInputs {
return inputType;
}

if (parameterType.IsInterface()) {
if (parameterType.IsInterface) {
return GetInferedTypeForInterface(genericParameter, parameterType, inputType, binding);
}

Expand All @@ -464,11 +464,11 @@ private class ArgumentInputs {
// see if we're anywhere in our base class hierarchy
Type genType = parameterType.GetGenericTypeDefinition();
while (argType != typeof(object)) {
if (argType.IsGenericType() && argType.GetGenericTypeDefinition() == genType) {
if (argType.IsGenericType && argType.GetGenericTypeDefinition() == genType) {
// TODO: Merge w/ the interface logic?
return binding[genericParameter] = MatchGenericParameter(genericParameter, argType, parameterType, binding);
}
argType = argType.GetBaseType();
argType = argType.BaseType;
}

return null;
Expand All @@ -482,12 +482,12 @@ private class ArgumentInputs {
// Unless X == Y we can't infer T.
//
private static Type GetInferedTypeForInterface(Type/*!*/ genericParameter, Type/*!*/ interfaceType, Type inputType, Dictionary<Type, Type>/*!*/ binding) {
Debug.Assert(interfaceType.IsInterface());
Debug.Assert(interfaceType.IsInterface);

Type match = null;
Type genTypeDef = interfaceType.GetGenericTypeDefinition();
foreach (Type ifaceType in inputType.GetInterfaces()) {
if (ifaceType.IsGenericType() && ifaceType.GetGenericTypeDefinition() == genTypeDef) {
if (ifaceType.IsGenericType && ifaceType.GetGenericTypeDefinition() == genTypeDef) {
if (!MatchGenericParameter(genericParameter, ifaceType, interfaceType, binding, ref match)) {
return null;
}
Expand Down
33 changes: 13 additions & 20 deletions Src/Microsoft.Dynamic/Actions/DefaultBinder.Conversions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public partial class DefaultBinder : ActionBinder {
errorSuggestion ??
MakeErrorTarget(toType, kind, typeRestrictions, arg);

if ((kind == ConversionResultKind.ExplicitTry || kind == ConversionResultKind.ImplicitTry) && toType.IsValueType()) {
if ((kind == ConversionResultKind.ExplicitTry || kind == ConversionResultKind.ImplicitTry) && toType.IsValueType) {
res = new DynamicMetaObject(
AstUtils.Convert(
res.Expression,
Expand All @@ -60,7 +60,7 @@ public partial class DefaultBinder : ActionBinder {
/// </summary>
private static DynamicMetaObject TryConvertToObject(Type toType, Type knownType, DynamicMetaObject arg, BindingRestrictions restrictions) {
if (toType == typeof(object)) {
if (knownType.IsValueType()) {
if (knownType.IsValueType) {
return MakeBoxingTarget(arg, restrictions);
}

Expand All @@ -87,7 +87,7 @@ public partial class DefaultBinder : ActionBinder {
/// </summary>
private static DynamicMetaObject TryAssignableConversion(Type toType, Type type, BindingRestrictions restrictions, DynamicMetaObject arg) {
if (toType.IsAssignableFrom(type) ||
(type == typeof(DynamicNull) && (toType.IsClass() || toType.IsInterface()))) {
(type == typeof(DynamicNull) && (toType.IsClass || toType.IsInterface))) {
// MakeSimpleConversionTarget handles the ConversionResultKind check
return MakeSimpleConversionTarget(toType, restrictions, arg);
}
Expand Down Expand Up @@ -180,7 +180,7 @@ public partial class DefaultBinder : ActionBinder {
/// </summary>
private static DynamicMetaObject TryImplicitNumericConversion(Type toType, Type type, BindingRestrictions restrictions, DynamicMetaObject arg) {
Type checkType = type;
if (type.IsGenericType() && type.GetGenericTypeDefinition() == typeof(Extensible<>)) {
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Extensible<>)) {
checkType = type.GetGenericArguments()[0];
}

Expand All @@ -205,7 +205,7 @@ public partial class DefaultBinder : ActionBinder {
/// Checks if there's a conversion to/from Nullable of T.
/// </summary>
private DynamicMetaObject TryNullableConversion(OverloadResolverFactory factory, Type toType, ConversionResultKind kind, Type knownType, BindingRestrictions restrictions, DynamicMetaObject arg) {
if (toType.IsGenericType() && toType.GetGenericTypeDefinition() == typeof(Nullable<>)) {
if (toType.IsGenericType && toType.GetGenericTypeDefinition() == typeof(Nullable<>)) {
if (knownType == typeof(DynamicNull)) {
// null -> Nullable<T>
return MakeNullToNullableOfTTarget(toType, restrictions);
Expand All @@ -230,7 +230,7 @@ public partial class DefaultBinder : ActionBinder {
/// Checks to see if there's a conversion of null to a reference type
/// </summary>
private static DynamicMetaObject TryNullConversion(Type toType, Type knownType, BindingRestrictions restrictions) {
if (knownType == typeof(DynamicNull) && !toType.IsValueType()) {
if (knownType == typeof(DynamicNull) && !toType.IsValueType) {
return MakeNullTarget(toType, restrictions);
}
return null;
Expand Down Expand Up @@ -455,19 +455,12 @@ public partial class DefaultBinder : ActionBinder {
}

/// <summary>
/// Returns a value which indicates failure when a OldConvertToAction of ImplicitTry or
/// ExplicitTry.
/// Returns a value which indicates failure when a OldConvertToAction of ImplicitTry or ExplicitTry.
/// </summary>
public static Expression GetTryConvertReturnValue(Type type) {
Expression res;
if (type.IsInterface() || type.IsClass()) {
res = AstUtils.Constant(null, type);
} else {
res = AstUtils.Constant(null);
}

return res;
}
public static Expression GetTryConvertReturnValue(Type type) =>
type.IsInterface || type.IsClass
? AstUtils.Constant(null, type)
: AstUtils.Constant(null);

/// <summary>
/// Helper to extract the Value of an Extensible of T from the
Expand All @@ -492,10 +485,10 @@ public partial class DefaultBinder : ActionBinder {
private static Type GetUnderlyingType(Type fromType) {
Type curType = fromType;
do {
if (curType.IsGenericType() && curType.GetGenericTypeDefinition() == typeof(Extensible<>)) {
if (curType.IsGenericType && curType.GetGenericTypeDefinition() == typeof(Extensible<>)) {
fromType = curType.GetGenericArguments()[0];
}
curType = curType.GetBaseType();
curType = curType.BaseType;
} while (curType != null);
return fromType;
}
Expand Down
2 changes: 1 addition & 1 deletion Src/Microsoft.Dynamic/Actions/DefaultBinder.GetMember.cs
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ public partial class DefaultBinder : ActionBinder {
// Throws an exception if we don't have a non-generic type, and if we do report an error now. This matches
// the rule version of the default binder but should probably be removed long term.
EnsureTrackerRepresentsNonGenericType((TypeTracker)target.Value);
} else if (targetType.IsInterface()) {
} else if (targetType.IsInterface) {
// all interfaces have object members
targetType = typeof(object);
members = GetMember(MemberRequestKind.Get, targetType, getMemInfo.Name);
Expand Down
2 changes: 1 addition & 1 deletion Src/Microsoft.Dynamic/Actions/DefaultBinder.Invoke.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public partial class DefaultBinder : ActionBinder {
if (targetInfo != null) {
// we're calling a well-known MethodBase
DynamicMetaObject res = MakeMetaMethodCall(signature, resolverFactory, targetInfo);
if (res.Expression.Type.IsValueType()) {
if (res.Expression.Type.IsValueType) {
res = new DynamicMetaObject(
AstUtils.Convert(res.Expression, typeof(object)),
res.Restrictions
Expand Down
4 changes: 2 additions & 2 deletions Src/Microsoft.Dynamic/Actions/DefaultBinder.Operations.cs
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ private enum IndexType {
BindingRestrictions restrictions = BindingRestrictionsHelpers.GetRuntimeTypeRestriction(args[0].Expression, args[0].GetLimitType()).Merge(BindingRestrictions.Combine(args));

if (args[0].GetLimitType() == typeof(DynamicNull)) {
if (!otherType.IsValueType()) {
if (!otherType.IsValueType) {
return new DynamicMetaObject(
Expression.Equal(args[0].Expression, AstUtils.Constant(null)),
restrictions
Expand All @@ -268,7 +268,7 @@ private enum IndexType {
);
}
} else if (otherType == typeof(DynamicNull)) {
if (!args[0].GetLimitType().IsValueType()) {
if (!args[0].GetLimitType().IsValueType) {
return new DynamicMetaObject(
Expression.Equal(args[0].Expression, AstUtils.Constant(null)),
restrictions
Expand Down
8 changes: 4 additions & 4 deletions Src/Microsoft.Dynamic/Actions/DefaultBinder.SetMember.cs
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ public partial class DefaultBinder : ActionBinder {
memInfo.Body.FinishCondition(
MakeGenericPropertyExpression(memInfo)
);
} else if (setter.IsPublic && !setter.DeclaringType.IsValueType()) {
} else if (setter.IsPublic && !setter.DeclaringType.IsValueType) {
if (instance == null) {
memInfo.Body.FinishCondition(
Expression.Block(
Expand Down Expand Up @@ -327,7 +327,7 @@ public partial class DefaultBinder : ActionBinder {
FieldTracker field = (FieldTracker)fields[0];

// TODO: Tmp variable for target
if (instance != null && field.DeclaringType.IsGenericType() && field.DeclaringType.GetGenericTypeDefinition() == typeof(StrongBox<>)) {
if (instance != null && field.DeclaringType.IsGenericType && field.DeclaringType.GetGenericTypeDefinition() == typeof(StrongBox<>)) {
// work around a CLR bug where we can't access generic fields from dynamic methods.
Type[] generic = field.DeclaringType.GetGenericArguments();
memInfo.Body.FinishCondition(
Expand Down Expand Up @@ -356,14 +356,14 @@ public partial class DefaultBinder : ActionBinder {
typeof(object)
)
);
} else if (field.DeclaringType.IsValueType() && !field.IsStatic) {
} else if (field.DeclaringType.IsValueType && !field.IsStatic) {
memInfo.Body.FinishError(
errorSuggestion ?? MakeError(
MakeSetValueTypeFieldError(field, instance, target),
typeof(object)
)
);
} else if (field.IsPublic && field.DeclaringType.IsVisible()) {
} else if (field.IsPublic && field.DeclaringType.IsVisible) {
if (!field.IsStatic && instance == null) {
memInfo.Body.FinishError(
Expression.Throw(
Expand Down
2 changes: 1 addition & 1 deletion Src/Microsoft.Dynamic/Actions/DefaultBinder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ public partial class DefaultBinder : ActionBinder {
return mi;
}

curType = curType.GetBaseType();
curType = curType.BaseType;
} while (curType != null);

return null;
Expand Down
8 changes: 4 additions & 4 deletions Src/Microsoft.Dynamic/Actions/FieldTracker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,11 @@ public class FieldTracker : MemberTracker {
return binder.ReturnMemberTracker(type, this);
}

if (Field.DeclaringType.ContainsGenericParameters()) {
if (Field.DeclaringType.ContainsGenericParameters) {
return null;
}

if (IsPublic && DeclaringType.IsPublic()) {
if (IsPublic && DeclaringType.IsPublic) {
return new DynamicMetaObject(
Expression.Convert(Expression.Field(null, Field), typeof(object)),
BindingRestrictions.Empty
Expand All @@ -82,7 +82,7 @@ public class FieldTracker : MemberTracker {
public override ErrorInfo GetError(ActionBinder binder, Type instanceType) {
// FieldTracker only has one error - accessing a static field from
// a generic type.
Debug.Assert(Field.DeclaringType.ContainsGenericParameters());
Debug.Assert(Field.DeclaringType.ContainsGenericParameters);

return binder.MakeContainsGenericParametersError(this);
}
Expand All @@ -92,7 +92,7 @@ public class FieldTracker : MemberTracker {
#region Internal expression builders

protected internal override DynamicMetaObject GetBoundValue(OverloadResolverFactory resolverFactory, ActionBinder binder, Type type, DynamicMetaObject instance) {
if (IsPublic && DeclaringType.IsVisible()) {
if (IsPublic && DeclaringType.IsVisible) {
return new DynamicMetaObject(
AstUtils.Convert(
Expression.Field(
Expand Down
2 changes: 1 addition & 1 deletion Src/Microsoft.Dynamic/Actions/MethodTracker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public class MethodTracker : MemberTracker {
}

internal override DynamicMetaObject Call(OverloadResolverFactory resolverFactory, ActionBinder binder, params DynamicMetaObject[] arguments) {
if (Method.IsPublic && Method.DeclaringType.IsVisible()) {
if (Method.IsPublic && Method.DeclaringType.IsVisible) {
return binder.MakeCallExpression(resolverFactory, Method, arguments);
}

Expand Down
2 changes: 1 addition & 1 deletion Src/Microsoft.Dynamic/Actions/NamespaceTracker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ public class NamespaceTracker : MemberTracker, IMembersList, IEnumerable<KeyValu
continue;
}

bool publishType = type.IsPublic() || _topPackage.DomainManager.Configuration.PrivateBinding;
bool publishType = type.IsPublic || _topPackage.DomainManager.Configuration.PrivateBinding;
if (!publishType) {
continue;
}
Expand Down
Loading

0 comments on commit 6ae1539

Please sign in to comment.