public static IEnumerable <AnnotatedItem> GetAnnotations(this AndroidAnnotationsSupport api, ManagedApiQuery query) { if (query == null) { throw new ArgumentNullException(nameof(query)); } if (query.TypeName == null) { throw new ArgumentNullException("TypeName must not be null"); } IList <AnnotatedItem> l; var qt = api.Data.TryGetValue(query.TypeName, out l) ? l : new AnnotatedItem [0]; if (query.MemberName == null) // type { return(qt); } var qmbr = qt.Where(a => a.ManagedInfo.MemberName == query.MemberName); if (query.Arguments == null) // field, property (from managed signature), or method match without arguments. { return(qmbr.Concat(qt.Where(a => IsProperty(a, query.MemberName)))); } var qmth = qmbr.Where(a => AreArgumentsEqual(a.ManagedInfo.Arguments, query.Arguments)); // method (idx < 0) or parameter (idx >= 0) return(qmth.Where(a => a.ParameterIndex == query.ParameterIndex || a.ParameterIndex < 0 && query.ParameterIndex < 0)); }
public static IEnumerable <AnnotatedItem> GetMethodsAnnotations(this AndroidAnnotationsSupport api, string managedTypeName, string managedMethodName) { if (managedMethodName == null) { throw new ArgumentNullException(nameof(managedMethodName)); } return(GetAnnotations(api, managedTypeName, managedMethodName)); }
public static AnnotationData GetPropertyIntDef(this AndroidAnnotationsSupport api, string managedTypeName, string managedPropertyName) { if (managedPropertyName == null) { throw new ArgumentNullException(nameof(managedPropertyName)); } return(api.GetAnnotations(managedTypeName, managedPropertyName).Data().FirstOrDefault(is_intdef)); }
public static AnnotationData GetMethodParameterIntDef(this AndroidAnnotationsSupport api, string managedTypeName, string managedMethodName, string [] managedParameterTypes, int parameterIndex) { if (managedMethodName == null) { throw new ArgumentNullException(nameof(managedMethodName)); } if (managedParameterTypes == null) { throw new ArgumentNullException(nameof(managedParameterTypes)); } return(api.GetAnnotations(managedTypeName, managedMethodName, managedParameterTypes, parameterIndex).Data().FirstOrDefault(is_intdef)); }
public static IEnumerable <AnnotatedItem> GetParameterAnnotations(this AndroidAnnotationsSupport api, string managedTypeName, string managedMethodName, string [] managedParameterTypes, int parameterIndex) { if (managedMethodName == null) { throw new ArgumentNullException(nameof(managedMethodName)); } if (managedParameterTypes == null) { throw new ArgumentNullException(nameof(managedParameterTypes)); } return(GetAnnotations(api, managedTypeName, managedMethodName, managedParameterTypes, parameterIndex)); }
public static IEnumerable <AnnotatedItem> GetAnnotations(this AndroidAnnotationsSupport api, string managedTypeName, string managedMethodName, string [] parameterTypes, int parameterIndex) { return(api.GetAnnotations(new ManagedApiQuery { TypeName = managedTypeName, MemberName = managedMethodName, Arguments = parameterTypes, ParameterIndex = parameterIndex })); }
public static IEnumerable <AnnotatedItem> GetAnnotations(this AndroidAnnotationsSupport api, string managedTypeName, string managedMemberName) { return(api.GetAnnotations(new ManagedApiQuery { TypeName = managedTypeName, MemberName = managedMemberName })); }
public static AnnotationData GetIntDef(this AndroidAnnotationsSupport api, ManagedApiQuery query) { return(api.GetAnnotations(query).Data().FirstOrDefault(is_intdef)); }