| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- class _HashEnd {
- const _HashEnd();
- }
- const _HashEnd _hashEnd = _HashEnd();
- class _Jenkins {
- static int combine(int hash, Object o) {
- assert(o is! Iterable);
- hash = 0x1fffffff & (hash + o.hashCode);
- hash = 0x1fffffff & (hash + ((0x0007ffff & hash) << 10));
- return hash ^ (hash >> 6);
- }
- static int finish(int hash) {
- hash = 0x1fffffff & (hash + ((0x03ffffff & hash) << 3));
- hash = hash ^ (hash >> 11);
- return 0x1fffffff & (hash + ((0x00003fff & hash) << 15));
- }
- }
- int hashValues(Object arg01, Object arg02,
- [Object arg03 = _hashEnd,
- Object arg04 = _hashEnd,
- Object arg05 = _hashEnd,
- Object arg06 = _hashEnd,
- Object arg07 = _hashEnd,
- Object arg08 = _hashEnd,
- Object arg09 = _hashEnd,
- Object arg10 = _hashEnd,
- Object arg11 = _hashEnd,
- Object arg12 = _hashEnd,
- Object arg13 = _hashEnd,
- Object arg14 = _hashEnd,
- Object arg15 = _hashEnd,
- Object arg16 = _hashEnd,
- Object arg17 = _hashEnd,
- Object arg18 = _hashEnd,
- Object arg19 = _hashEnd,
- Object arg20 = _hashEnd]) {
- int result = 0;
- result = _Jenkins.combine(result, arg01);
- result = _Jenkins.combine(result, arg02);
- if (!identical(arg03, _hashEnd)) {
- result = _Jenkins.combine(result, arg03);
- if (!identical(arg04, _hashEnd)) {
- result = _Jenkins.combine(result, arg04);
- if (!identical(arg05, _hashEnd)) {
- result = _Jenkins.combine(result, arg05);
- if (!identical(arg06, _hashEnd)) {
- result = _Jenkins.combine(result, arg06);
- if (!identical(arg07, _hashEnd)) {
- result = _Jenkins.combine(result, arg07);
- if (!identical(arg08, _hashEnd)) {
- result = _Jenkins.combine(result, arg08);
- if (!identical(arg09, _hashEnd)) {
- result = _Jenkins.combine(result, arg09);
- if (!identical(arg10, _hashEnd)) {
- result = _Jenkins.combine(result, arg10);
- if (!identical(arg11, _hashEnd)) {
- result = _Jenkins.combine(result, arg11);
- if (!identical(arg12, _hashEnd)) {
- result = _Jenkins.combine(result, arg12);
- if (!identical(arg13, _hashEnd)) {
- result = _Jenkins.combine(result, arg13);
- if (!identical(arg14, _hashEnd)) {
- result = _Jenkins.combine(result, arg14);
- if (!identical(arg15, _hashEnd)) {
- result = _Jenkins.combine(result, arg15);
- if (!identical(arg16, _hashEnd)) {
- result = _Jenkins.combine(result, arg16);
- if (!identical(arg17, _hashEnd)) {
- result = _Jenkins.combine(result, arg17);
- if (!identical(arg18, _hashEnd)) {
- result = _Jenkins.combine(result, arg18);
- if (!identical(arg19, _hashEnd)) {
- result = _Jenkins.combine(result, arg19);
- if (!identical(arg20, _hashEnd)) {
- result = _Jenkins.combine(result, arg20);
- // I can see my house from here!
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return _Jenkins.finish(result);
- }
- int hashList(Iterable<Object> arguments) {
- int result = 0;
- if (arguments != null) {
- for (Object argument in arguments)
- result = _Jenkins.combine(result, argument);
- }
- return _Jenkins.finish(result);
- }
|