Skip to content

Instantly share code, notes, and snippets.

View raphw's full-sized avatar

Rafael Winterhalter raphw

View GitHub Profile
@raphw
raphw / Foo.java
Last active August 29, 2015 14:25
Bridge method resolution.
public abstract class Foo<T> {
abstract void foo(T t);
abstract T bar();
public static void main(String[] args) {
Foo<?> quxFoo = new Qux();
Bar<?> quxBar = new Qux();
@raphw
raphw / GenericVisibilityBridge.java
Last active August 29, 2015 14:26
Visibility bridges
package pkg;
class GenericVisibilityBridge extends GenericVisibilityBridgeBase<Void> {
@Override
public void foo(Void aVoid) {
System.out.println("specialized");
}
}
@raphw
raphw / Foo.java
Created August 3, 2015 08:30
FinalVisibilityBridge
package foo;
public class Foo extends Base {
}
class Base {
public final void foo() {
@raphw
raphw / Example.java
Last active August 29, 2015 14:26
Example for VerifierError when using method reference within a lambda before constructor is completed.
class Example {
Example(Function<Function<Function<Consumer<Void>, Void>, Void>, Void> innerClass) {
new InnerClass(innerClass);
}
void foo(Void v) { }
class InnerClass {
@raphw
raphw / SealedQuirk.java
Last active August 29, 2015 14:27
Sealed package quirk.
public class SealedQuirk {
private static final String FOO = "foo", BAR = "bar", TMP = "tmp";
private ClassLoader singleClassLoader, sealedChildClassLoader, sealedParentClassLoader;
@Before
public void setUp() throws Exception {
File folder = Files.createTempDirectory(TMP).toFile();
@raphw
raphw / Bar.java
Last active September 2, 2015 08:55
Package-private types in bridges.
package net.bytebuddy.bar;
public class Bar<T extends Baz> {
public void foo(T t) { }
}
@raphw
raphw / Interceptor.java
Created October 11, 2015 10:12
Example for bug report
package net.bytebuddy;
import net.bytebuddy.agent.ByteBuddyAgent;
import net.bytebuddy.agent.builder.AgentBuilder;
import net.bytebuddy.description.type.TypeDescription;
import net.bytebuddy.dynamic.DynamicType;
import net.bytebuddy.implementation.MethodDelegation;
import net.bytebuddy.implementation.bind.annotation.Origin;
import net.bytebuddy.implementation.bind.annotation.RuntimeType;
import net.bytebuddy.matcher.ElementMatchers;
@raphw
raphw / bower.json
Created November 26, 2015 14:01
Simple Gulp script
{
"name": "app",
"version": "0.0.0",
"authors": [
"foo <foo@bar.qux>"
],
"license": "MIT",
"private": true,
"ignore": [
"**/.*",
@raphw
raphw / NullChainSensitiveBeanComparator.java
Created December 6, 2013 14:08
A sortable data provider for memory-stored beans for Wicket.
import org.apache.commons.beanutils.BeanComparator;
import org.apache.wicket.util.lang.PropertyResolver;
import java.util.Comparator;
public class NullChainSensitiveBeanComparator extends BeanComparator {
public NullChainSensitiveBeanComparator() {
}
@raphw
raphw / AjaxTwitterBootstrapNavigationToolbar.java
Created December 6, 2013 14:11
Ajax-enhanced navigator with Twitter bootstrap styles for Wicket
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxNavigationToolbar;
import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;
import org.apache.wicket.markup.html.navigation.paging.PagingNavigator;
public class AjaxTwitterBootstrapNavigationToolbar extends AjaxNavigationToolbar {
public AjaxTwitterBootstrapNavigationToolbar(DataTable<?, ?> table) {
super(table);
}