/* should not generate diagnostics */
function goodFunction(a, b, c) {
    return a + b + c;
}

function oneParam(a) {
    return a;
}

function noParams() {
    return 42;
}

const fn1 = function(a, b, c) {
    return a + b + c;
};

const fn2 = function namedFn(a, b) {
    return a + b;
};

const arrow1 = (a, b, c) => {
    return a + b + c;
};

const arrow2 = (a, b) => a + b;

const arrow3 = a => a * 2;

class MyClass {
    method(a, b, c) {
        return a + b + c;
    }

    constructor(a, b) {
        this.sum = a + b;
    }
}

const obj = {
    method(a, b, c) {
        return a + b + c;
    }
};

function withThisParamValid(this, a, b, c) {
    return a + b + c;
}
