ola-parser 1.0.1

Ola Language Parser
Documentation



contract C {
    fn f(u256[][1][]  a) -> (u256) {
        return 42;
    }

    fn g(u256[][1][]  a) -> (u256) {
        a[0];
        return 42;
    }

    fn h(u256[][1][]  a) -> (u256) {
        a[0][0];
        return 42;
    }
}
// ====
// compileViaYul: also
// ----
// f(u256[][1][]): 0x20, 0x0  -> 42 # valid access stub #
// f(u256[][1][]): 0x20, 0x1  -> FAILURE # invalid on argument decoding #
// f(u256[][1][]): 0x20, 0x1, 0x20  -> 42 # invalid on outer access #
// g(u256[][1][]): 0x20, 0x1, 0x20  -> FAILURE
// f(u256[][1][]): 0x20, 0x1, 0x20, 0x20  -> 42 # invalid on inner access #
// g(u256[][1][]): 0x20, 0x1, 0x20, 0x20  -> 42
// h(u256[][1][]): 0x20, 0x1, 0x20, 0x20  -> FAILURE
// f(u256[][1][]): 0x20, 0x1, 0x20, 0x20, 0x1  -> 42
// g(u256[][1][]): 0x20, 0x1, 0x20, 0x20, 0x1  -> 42
// h(u256[][1][]): 0x20, 0x1, 0x20, 0x20, 0x1  -> FAILURE