Package clojure.lang

Examples of clojure.lang.Var.invoke()


            Var cons_fn = DiametricService.getFn("clojure.core", "conj");
            Var read_string_fn = DiametricService.getFn("clojure.core", "read-string");
            for (int i=args.length-1; i>-1; i--) {
                Object value = DiametricUtils.convertRubyToJava(context, args[i]);
                if (value instanceof RubyString) {
                    value = read_string_fn.invoke(value);
                }
                list = (List) cons_fn.invoke(list, value);
            }
            RubyClass clazz = (RubyClass)context.getRuntime().getClassFromPath("Diametric::Persistence::Fn");
            DiametricFn diametric_fn = (DiametricFn)clazz.allocate();
View Full Code Here


        return null;
    }

    static PersistentVector fromRubyArray(ThreadContext context, RubyArray ruby_array) {
        Var var = DiametricService.getFn("clojure.core", "vector");
        PersistentVector clj_tx_data = (PersistentVector)var.invoke();
        Var adder = DiametricService.getFn("clojure.core", "conj");
        for (int i=0; i<ruby_array.getLength(); i++) {
            Object element = ruby_array.get(i);
            if (element instanceof RubyHash) {
                APersistentMap map = fromRubyHash(context, (RubyHash)element);
View Full Code Here

        Var adder = DiametricService.getFn("clojure.core", "conj");
        for (int i=0; i<ruby_array.getLength(); i++) {
            Object element = ruby_array.get(i);
            if (element instanceof RubyHash) {
                APersistentMap map = fromRubyHash(context, (RubyHash)element);
                clj_tx_data = (PersistentVector)adder.invoke(clj_tx_data, map);
            } else if (element instanceof RubyArray) {
                PersistentVector vector = fromRubyArray(context, (RubyArray)element);
                clj_tx_data = (PersistentVector)adder.invoke(clj_tx_data, vector);
            } else if (element instanceof IRubyObject) {
                clj_tx_data =
View Full Code Here

            if (element instanceof RubyHash) {
                APersistentMap map = fromRubyHash(context, (RubyHash)element);
                clj_tx_data = (PersistentVector)adder.invoke(clj_tx_data, map);
            } else if (element instanceof RubyArray) {
                PersistentVector vector = fromRubyArray(context, (RubyArray)element);
                clj_tx_data = (PersistentVector)adder.invoke(clj_tx_data, vector);
            } else if (element instanceof IRubyObject) {
                clj_tx_data =
                        (PersistentVector)adder.invoke(clj_tx_data, DiametricUtils.convertRubyToJava(context, (IRubyObject)element));
            } else if (element instanceof String) {
                clj_tx_data = (PersistentVector)adder.invoke(clj_tx_data, getStringOrUUID((String)element));
View Full Code Here

            } else if (element instanceof RubyArray) {
                PersistentVector vector = fromRubyArray(context, (RubyArray)element);
                clj_tx_data = (PersistentVector)adder.invoke(clj_tx_data, vector);
            } else if (element instanceof IRubyObject) {
                clj_tx_data =
                        (PersistentVector)adder.invoke(clj_tx_data, DiametricUtils.convertRubyToJava(context, (IRubyObject)element));
            } else if (element instanceof String) {
                clj_tx_data = (PersistentVector)adder.invoke(clj_tx_data, getStringOrUUID((String)element));
            } else {
                clj_tx_data = (PersistentVector)adder.invoke(clj_tx_data, element);
            }
View Full Code Here

                clj_tx_data = (PersistentVector)adder.invoke(clj_tx_data, vector);
            } else if (element instanceof IRubyObject) {
                clj_tx_data =
                        (PersistentVector)adder.invoke(clj_tx_data, DiametricUtils.convertRubyToJava(context, (IRubyObject)element));
            } else if (element instanceof String) {
                clj_tx_data = (PersistentVector)adder.invoke(clj_tx_data, getStringOrUUID((String)element));
            } else {
                clj_tx_data = (PersistentVector)adder.invoke(clj_tx_data, element);
            }
        }
        return clj_tx_data;
View Full Code Here

                clj_tx_data =
                        (PersistentVector)adder.invoke(clj_tx_data, DiametricUtils.convertRubyToJava(context, (IRubyObject)element));
            } else if (element instanceof String) {
                clj_tx_data = (PersistentVector)adder.invoke(clj_tx_data, getStringOrUUID((String)element));
            } else {
                clj_tx_data = (PersistentVector)adder.invoke(clj_tx_data, element);
            }
        }
        return clj_tx_data;
    }
View Full Code Here

        return clj_tx_data;
    }

    private static APersistentMap fromRubyHash(ThreadContext context, RubyHash ruby_hash) {
        Var var = DiametricService.getFn("clojure.core", "hash-map");
        APersistentMap map = (APersistentMap)var.invoke();
        Var associator = DiametricService.getFn("clojure.core", "assoc");
        while (true) {
            IRubyObject pair = ruby_hash.shift(context);
            if (pair instanceof RubyNil) break;
            Object key = DiametricUtils.convertRubyToJava(context, ((RubyArray) pair).shift(context));
View Full Code Here

            if (value instanceof RubyHash) {
                value = fromRubyHash(context, (RubyHash)value);
            } else if (value instanceof RubyArray) {
                value = fromRubyArray(context, (RubyArray)value);
            }
            map = (APersistentMap)associator.invoke(map, key, value);
        }
        return map;
    }
}
View Full Code Here

        } else {
            return context.getRuntime().getFalse();
        }
        try {
            Var var = DiametricService.getFn("clojure.core", "=");
            if ((Boolean)var.invoke(set, other)) {
                return context.getRuntime().getTrue();
            } else {
                return context.getRuntime().getFalse();
            }
        } catch(Throwable t) {
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.