/*non-public*/ internal static String GetNameString(MethodHandle target, MethodType type) { if (type == null) { type = target.Type(); } MemberName name = null; if (target != null) { name = target.InternalMemberName(); } if (name == null) { return("invoke" + type); } return(name.Name + type); }
// Tracing logic: internal static MemberName LinkCallSiteTracing(Class caller, MethodHandle bootstrapMethod, String name, MethodType type, Object staticArguments, Object[] appendixResult) { Object bsmReference = bootstrapMethod.InternalMemberName(); if (bsmReference == null) { bsmReference = bootstrapMethod; } Object staticArglist = (staticArguments is Object[] ? (Object[])staticArguments : staticArguments); System.Console.WriteLine("linkCallSite " + caller.Name + " " + bsmReference + " " + name + type + "/" + staticArglist); try { MemberName res = LinkCallSiteImpl(caller, bootstrapMethod, name, type, staticArguments, appendixResult); System.Console.WriteLine("linkCallSite => " + res + " + " + appendixResult[0]); return(res); } catch (Throwable ex) { System.Console.WriteLine("linkCallSite => throw " + ex); throw ex; } }
internal override MemberName InternalMemberName() { return(Target.InternalMemberName()); }