X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fbind%2FBindable.java;h=8f5cc86749efa2060ac98fda91c2bfb6ae308d1a;hb=173e1696d10a91db6f5a919dbb2b2ed2c6e2a227;hp=ccaa51d069ada173a185bece9d1a45adb80f9a09;hpb=6e639c9ed89dfda4b14ac4c768e66d25b91f5037;p=sbp.git diff --git a/src/edu/berkeley/sbp/bind/Bindable.java b/src/edu/berkeley/sbp/bind/Bindable.java index ccaa51d..8f5cc86 100644 --- a/src/edu/berkeley/sbp/bind/Bindable.java +++ b/src/edu/berkeley/sbp/bind/Bindable.java @@ -22,49 +22,19 @@ public abstract class Bindable implements ToJava { public abstract String[] getArgNames(); public abstract Class[] getArgTypes(); - public static Bindable create(Object o) { - if (o instanceof Class) return new BindableClass((Class)o); - if (o instanceof Method) return new BindableMethod((Method)o); - if (o instanceof Constructor) return new BindableConstructor((Constructor)o); - return null; - } - public Binding createBinding() { return new SimpleBinding(); } public Binding createBinding(final int[] map) { return new SimpleBinding(map); } public Binding createBinding(final int[] map, Object prepend) { return new SimpleBinding(map, prepend); } - public class SimpleBinding implements Binding, ToJava { - private int[] map = null; - private Object prepend = null; - public SimpleBinding() { } - public SimpleBinding(int[] map) { this.map = map; } - public SimpleBinding(int[] map, Object prepend) { this.map = map; this.prepend = prepend; } - - public Object invoke(Object[] o) { - if (map==null) return impose(o); - int max = 0; - for(int i=0; i