void set(final String name, final String desc, final Handle bsm,
            final Object[] bsmArgs) {
        this.type = 'y';
        this.strVal1 = name;
        this.strVal2 = desc;
        this.objVal3 = bsm;
        this.objVals = bsmArgs;

        int hashCode = 'y' + name.hashCode() * desc.hashCode() * bsm.hashCode();
        for (int i = 0; i < bsmArgs.length; i++) {
            hashCode *= bsmArgs[i].hashCode();
        }
        this.hashCode = 0x7FFFFFFF & hashCode;
    }
void set ( final String name , final String desc , final Handle bsm , final Object [ ] bsmArgs ) { this . type = 'y' ; this . strVal1 = name ; this . strVal2 = desc ; this . objVal3 = bsm ; this . objVals = bsmArgs ; int hashCode = 'y' + name . hashCode ( ) * desc . hashCode ( ) * bsm . hashCode ( ) ; for ( int i = 0 ; i < bsmArgs . length ; i ++ ) { hashCode *= bsmArgs [ i ] . hashCode ( ) ; } this . hashCode = 0x7FFFFFFF & hashCode ; }
Set this item to an InvokeDynamic item.

@param name
invokedynamic's name.
@param desc
invokedynamic's descriptor.
@param bsm
bootstrap method.
@param bsmArgs
bootstrap method constant arguments.