/*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);
        }
Example #2
0
        // 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;
            }
        }
Example #3
0
 internal override MemberName InternalMemberName()
 {
     return(Target.InternalMemberName());
 }