Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
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));
 }
Exemplo n.º 3
0
 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));
 }
Exemplo n.º 4
0
 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));
 }
Exemplo n.º 5
0
 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));
 }
Exemplo n.º 6
0
 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
     }));
 }
Exemplo n.º 7
0
 public static IEnumerable <AnnotatedItem> GetAnnotations(this AndroidAnnotationsSupport api, string managedTypeName, string managedMemberName)
 {
     return(api.GetAnnotations(new ManagedApiQuery {
         TypeName = managedTypeName, MemberName = managedMemberName
     }));
 }
Exemplo n.º 8
0
 public static AnnotationData GetIntDef(this AndroidAnnotationsSupport api, ManagedApiQuery query)
 {
     return(api.GetAnnotations(query).Data().FirstOrDefault(is_intdef));
 }