summaryrefslogtreecommitdiff
path: root/test/files/run/indy-via-macro-with-dynamic-args/Bootstrap.java
blob: 5c9ce01cf40aa61d76e4781adc25e31ed19c8583 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package test;

import java.lang.invoke.*;
import java.util.regex.Pattern;

public final class Bootstrap {
    private Bootstrap() {
    }

    /** Pre-compile a regex */
    public static CallSite bootstrap(MethodHandles.Lookup lookup, String invokedName,
                                     MethodType invokedType,
                                     String value) throws Throwable {
    	MethodHandle Pattern_matcher = MethodHandles.lookup().findVirtual(java.util.regex.Pattern.class, "matcher", MethodType.fromMethodDescriptorString("(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;", lookup.lookupClass().getClassLoader()));
        return new ConstantCallSite(Pattern_matcher.bindTo(Pattern.compile(value)));
    }
}