Example #1
0
 static object AskForDef(string title, ITokenResolver resolver) => MsgBox.Instance.Ask(dnSpy_Resources.GoToToken_Label, null, title, s => {
     string error;
     uint token    = SimpleTypeConverter.ParseUInt32(s, uint.MinValue, uint.MaxValue, out error);
     var memberRef = resolver.ResolveToken(token);
     var member    = ResolveDef(memberRef);
     return(member);
 }, s => {
     string error;
     uint token = SimpleTypeConverter.ParseUInt32(s, uint.MinValue, uint.MaxValue, out error);
     if (!string.IsNullOrEmpty(error))
     {
         return(error);
     }
     var memberRef = resolver.ResolveToken(token);
     var member    = ResolveDef(memberRef);
     if (memberRef == null)
     {
         return(string.Format(dnSpy_Resources.GoToToken_InvalidToken, token));
     }
     else if (member == null)
     {
         return(string.Format(dnSpy_Resources.GoToToken_CouldNotResolve, token));
     }
     return(string.Empty);
 });
Example #2
0
 static IDnlibDef AskForDef(string title, ITokenResolver resolver)
 {
     return(Shared.App.MsgBox.Instance.Ask(dnSpy_Resources.GoToToken_Label, null, title, s => {
         string error;
         uint token = NumberVMUtils.ParseUInt32(s, uint.MinValue, uint.MaxValue, out error);
         var memberRef = resolver.ResolveToken(token);
         var member = ResolveDef(memberRef);
         return member;
     }, s => {
         string error;
         uint token = NumberVMUtils.ParseUInt32(s, uint.MinValue, uint.MaxValue, out error);
         if (!string.IsNullOrEmpty(error))
         {
             return error;
         }
         var memberRef = resolver.ResolveToken(token);
         var member = ResolveDef(memberRef);
         if (memberRef == null)
         {
             return string.Format(dnSpy_Resources.GoToToken_InvalidToken, token);
         }
         else if (member == null)
         {
             return string.Format(dnSpy_Resources.GoToToken_CouldNotResolve, token);
         }
         return string.Empty;
     }));
 }
Example #3
0
 static void AddToken(this IList <short> instrs, ITokenResolver resolver, uint token)
 {
     if (resolver == null || resolver.ResolveToken(token) == null)
     {
         instrs.AddUnknownInt32();
     }
     else
     {
         instrs.AddInt32(unchecked ((int)token));
     }
 }
Example #4
0
 static IDnlibDef AskForDef(string title, ITokenResolver resolver)
 {
     return Shared.App.MsgBox.Instance.Ask(dnSpy_Resources.GoToToken_Label, null, title, s => {
         string error;
         uint token = NumberVMUtils.ParseUInt32(s, uint.MinValue, uint.MaxValue, out error);
         var memberRef = resolver.ResolveToken(token);
         var member = ResolveDef(memberRef);
         return member;
     }, s => {
         string error;
         uint token = NumberVMUtils.ParseUInt32(s, uint.MinValue, uint.MaxValue, out error);
         if (!string.IsNullOrEmpty(error))
             return error;
         var memberRef = resolver.ResolveToken(token);
         var member = ResolveDef(memberRef);
         if (memberRef == null)
             return string.Format(dnSpy_Resources.GoToToken_InvalidToken, token);
         else if (member == null)
             return string.Format(dnSpy_Resources.GoToToken_CouldNotResolve, token);
         return string.Empty;
     });
 }
Example #5
0
 static void AddToken(this IList <short> instrs, ITokenResolver resolver, uint token)
 {
     if (resolver is null || resolver.ResolveToken(token) is null)
     {
         instrs.AddUnknownInt32();
     }
Example #6
0
 /// <summary>
 /// Resolves a token
 /// </summary>
 /// <param name="self">This</param>
 /// <param name="token">The metadata token</param>
 /// <returns>A <see cref="IMDTokenProvider"/> or <c>null</c> if <paramref name="token"/> is invalid</returns>
 public static IMDTokenProvider ResolveToken(this ITokenResolver self, uint token)
 {
     return(self.ResolveToken(token, new GenericParamContext()));
 }
Example #7
0
		static void AddToken(this IList<short> instrs, ITokenResolver resolver, uint token) {
			if (resolver == null || resolver.ResolveToken(token) == null)
				instrs.AddUnknownInt32();
			else
				instrs.AddInt32(unchecked((int)token));
		}
Example #8
0
		static object AskForDef(string title, ITokenResolver resolver) => MsgBox.Instance.Ask(dnSpy_Resources.GoToToken_Label, null, title, s => {
			string error;
			uint token = SimpleTypeConverter.ParseUInt32(s, uint.MinValue, uint.MaxValue, out error);
			var memberRef = resolver.ResolveToken(token);
			var member = ResolveDef(memberRef);
			return member;
		}, s => {
			string error;
			uint token = SimpleTypeConverter.ParseUInt32(s, uint.MinValue, uint.MaxValue, out error);
			if (!string.IsNullOrEmpty(error))
				return error;
			var memberRef = resolver.ResolveToken(token);
			var member = ResolveDef(memberRef);
			if (memberRef == null)
				return string.Format(dnSpy_Resources.GoToToken_InvalidToken, token);
			else if (member == null)
				return string.Format(dnSpy_Resources.GoToToken_CouldNotResolve, token);
			return string.Empty;
		});