1[38;2;117;113;94m//[0m[38;2;117;113;94m The hugeparam command identifies by-value parameters that are larger than n bytes.[0m 2[38;2;117;113;94m//[0m 3[38;2;117;113;94m//[0m[38;2;117;113;94m Example:[0m 4[38;2;117;113;94m//[0m[38;2;117;113;94m $ ./hugeparams encoding/xml[0m 5[38;2;249;38;114mpackage[0m[38;2;248;248;242m [0m[38;2;255;255;255mmain[0m 6 7[38;2;249;38;114mimport[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m 8[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mflag[0m[38;2;230;219;116m"[0m 9[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mfmt[0m[38;2;230;219;116m"[0m 10[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mgo/ast[0m[38;2;230;219;116m"[0m 11[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mgo/token[0m[38;2;230;219;116m"[0m 12[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mgo/types[0m[38;2;230;219;116m"[0m 13[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mlog[0m[38;2;230;219;116m"[0m 14 15[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mgolang.org/x/tools/go/loader[0m[38;2;230;219;116m"[0m 16[38;2;248;248;242m)[0m 17 18[38;2;117;113;94m//[0m[38;2;117;113;94m!+[0m 19[3;38;2;102;217;239mvar[0m[38;2;248;248;242m [0m[38;2;248;248;242mbytesFlag[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255mflag[0m[38;2;248;248;242m.[0m[38;2;248;248;242mInt[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mbytes[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m48[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mmaximum parameter size in bytes[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m 20 21[3;38;2;102;217;239mvar[0m[38;2;248;248;242m [0m[38;2;248;248;242msizeof[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;249;38;114m&[0m[38;2;255;255;255mtypes[0m[38;2;248;248;242m.[0m[38;2;255;255;255mStdSizes[0m[38;2;248;248;242m{[0m[38;2;190;132;255m8[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m8[0m[38;2;248;248;242m}[0m[38;2;248;248;242m)[0m[38;2;248;248;242m.[0m[38;2;255;255;255mSizeof[0m[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m the sizeof function[0m 22 23[3;38;2;102;217;239mfunc[0m[38;2;248;248;242m [0m[38;2;166;226;46mPrintHugeParams[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mfset[0m[38;2;248;248;242m [0m[38;2;249;38;114m*[0m[38;2;255;255;255mtoken[0m[38;2;248;248;242m.[0m[3;38;2;102;217;239mFileSet[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31minfo[0m[38;2;248;248;242m [0m[38;2;249;38;114m*[0m[38;2;255;255;255mtypes[0m[38;2;248;248;242m.[0m[3;38;2;102;217;239mInfo[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mfiles[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;248;248;242m][0m[38;2;249;38;114m*[0m[38;2;255;255;255mast[0m[38;2;248;248;242m.[0m[3;38;2;102;217;239mFile[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m 24[38;2;248;248;242m [0m[38;2;248;248;242mcheckTuple[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mfunc[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mdescr[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mstring[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mtuple[0m[38;2;248;248;242m [0m[38;2;249;38;114m*[0m[38;2;255;255;255mtypes[0m[38;2;248;248;242m.[0m[3;38;2;102;217;239mTuple[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m 25[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m [0m[38;2;248;248;242mi[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m;[0m[38;2;248;248;242m [0m[38;2;255;255;255mi[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;255;255;255mtuple[0m[38;2;248;248;242m.[0m[38;2;248;248;242mLen[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m[38;2;248;248;242m [0m[38;2;255;255;255mi[0m[38;2;249;38;114m++[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m 26[38;2;248;248;242m [0m[38;2;248;248;242mv[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;255;255;255mtuple[0m[38;2;248;248;242m.[0m[38;2;248;248;242mAt[0m[38;2;248;248;242m([0m[38;2;255;255;255mi[0m[38;2;248;248;242m)[0m 27[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;248;248;242msz[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;248;248;242msizeof[0m[38;2;248;248;242m([0m[38;2;255;255;255mv[0m[38;2;248;248;242m.[0m[38;2;248;248;242mType[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m[38;2;248;248;242m [0m[38;2;255;255;255msz[0m[38;2;248;248;242m [0m[38;2;249;38;114m>[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mint64[0m[38;2;248;248;242m([0m[38;2;249;38;114m*[0m[38;2;255;255;255mbytesFlag[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m 28[38;2;248;248;242m [0m[38;2;255;255;255mfmt[0m[38;2;248;248;242m.[0m[38;2;248;248;242mPrintf[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;190;132;255m%s[0m[38;2;230;219;116m: [0m[38;2;190;132;255m%q[0m[38;2;230;219;116m [0m[38;2;190;132;255m%s[0m[38;2;230;219;116m: [0m[38;2;190;132;255m%s[0m[38;2;230;219;116m = [0m[38;2;190;132;255m%d[0m[38;2;230;219;116m bytes[0m[38;2;190;132;255m\n[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m 29[38;2;248;248;242m [0m[38;2;255;255;255mfset[0m[38;2;248;248;242m.[0m[38;2;248;248;242mPosition[0m[38;2;248;248;242m([0m[38;2;255;255;255mv[0m[38;2;248;248;242m.[0m[38;2;248;248;242mPos[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m,[0m 30[38;2;248;248;242m [0m[38;2;255;255;255mv[0m[38;2;248;248;242m.[0m[38;2;248;248;242mName[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;255;255;255mdescr[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;255;255;255mv[0m[38;2;248;248;242m.[0m[38;2;248;248;242mType[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;255;255;255msz[0m[38;2;248;248;242m)[0m 31[38;2;248;248;242m [0m[38;2;248;248;242m}[0m 32[38;2;248;248;242m [0m[38;2;248;248;242m}[0m 33[38;2;248;248;242m [0m[38;2;248;248;242m}[0m 34[38;2;248;248;242m [0m[38;2;248;248;242mcheckSig[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mfunc[0m[38;2;248;248;242m([0m[3;38;2;253;151;31msig[0m[38;2;248;248;242m [0m[38;2;249;38;114m*[0m[38;2;255;255;255mtypes[0m[38;2;248;248;242m.[0m[3;38;2;102;217;239mSignature[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m 35[38;2;248;248;242m [0m[38;2;248;248;242mcheckTuple[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mparameter[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;255;255;255msig[0m[38;2;248;248;242m.[0m[38;2;248;248;242mParams[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m 36[38;2;248;248;242m [0m[38;2;248;248;242mcheckTuple[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mresult[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;255;255;255msig[0m[38;2;248;248;242m.[0m[38;2;248;248;242mResults[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m 37[38;2;248;248;242m [0m[38;2;248;248;242m}[0m 38[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m [0m[38;2;255;255;255m_[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;248;248;242mfile[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;249;38;114mrange[0m[38;2;248;248;242m [0m[38;2;255;255;255mfiles[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m 39[38;2;248;248;242m [0m[38;2;255;255;255mast[0m[38;2;248;248;242m.[0m[38;2;248;248;242mInspect[0m[38;2;248;248;242m([0m[38;2;255;255;255mfile[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mfunc[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mn[0m[38;2;248;248;242m [0m[38;2;255;255;255mast[0m[38;2;248;248;242m.[0m[3;38;2;102;217;239mNode[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mbool[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m 40[38;2;248;248;242m [0m[38;2;249;38;114mswitch[0m[38;2;248;248;242m [0m[38;2;248;248;242mn[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;255;255;255mn[0m[38;2;248;248;242m.[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mtype[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m 41[38;2;248;248;242m [0m[38;2;249;38;114mcase[0m[38;2;248;248;242m [0m[38;2;249;38;114m*[0m[38;2;255;255;255mast[0m[38;2;248;248;242m.[0m[38;2;255;255;255mFuncDecl[0m[38;2;248;248;242m:[0m 42[38;2;248;248;242m [0m[38;2;248;248;242mcheckSig[0m[38;2;248;248;242m([0m[38;2;255;255;255minfo[0m[38;2;248;248;242m.[0m[38;2;255;255;255mDefs[0m[38;2;248;248;242m[[0m[38;2;255;255;255mn[0m[38;2;248;248;242m.[0m[38;2;255;255;255mName[0m[38;2;248;248;242m][0m[38;2;248;248;242m.[0m[38;2;248;248;242mType[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m.[0m[38;2;248;248;242m([0m[38;2;249;38;114m*[0m[38;2;255;255;255mtypes[0m[38;2;248;248;242m.[0m[3;38;2;102;217;239mSignature[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m 43[38;2;248;248;242m [0m[38;2;249;38;114mcase[0m[38;2;248;248;242m [0m[38;2;249;38;114m*[0m[38;2;255;255;255mast[0m[38;2;248;248;242m.[0m[38;2;255;255;255mFuncLit[0m[38;2;248;248;242m:[0m 44[38;2;248;248;242m [0m[38;2;248;248;242mcheckSig[0m[38;2;248;248;242m([0m[38;2;255;255;255minfo[0m[38;2;248;248;242m.[0m[38;2;255;255;255mTypes[0m[38;2;248;248;242m[[0m[38;2;255;255;255mn[0m[38;2;248;248;242m.[0m[38;2;255;255;255mType[0m[38;2;248;248;242m][0m[38;2;248;248;242m.[0m[38;2;255;255;255mType[0m[38;2;248;248;242m.[0m[38;2;248;248;242m([0m[38;2;249;38;114m*[0m[38;2;255;255;255mtypes[0m[38;2;248;248;242m.[0m[3;38;2;102;217;239mSignature[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m 45[38;2;248;248;242m [0m[38;2;248;248;242m}[0m 46[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;190;132;255mtrue[0m 47[38;2;248;248;242m [0m[38;2;248;248;242m}[0m[38;2;248;248;242m)[0m 48[38;2;248;248;242m [0m[38;2;248;248;242m}[0m 49[38;2;248;248;242m}[0m 50 51[38;2;117;113;94m//[0m[38;2;117;113;94m!-[0m 52 53[3;38;2;102;217;239mfunc[0m[38;2;248;248;242m [0m[38;2;166;226;46mmain[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m 54[38;2;248;248;242m [0m[38;2;255;255;255mflag[0m[38;2;248;248;242m.[0m[38;2;248;248;242mParse[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m 55 56[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m The loader loads a complete Go program from source code.[0m 57[38;2;248;248;242m [0m[3;38;2;102;217;239mvar[0m[38;2;248;248;242m [0m[38;2;248;248;242mconf[0m[38;2;248;248;242m [0m[38;2;255;255;255mloader[0m[38;2;248;248;242m.[0m[3;38;2;102;217;239mConfig[0m 58[38;2;248;248;242m [0m[38;2;255;255;255m_[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;248;248;242merr[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;255;255;255mconf[0m[38;2;248;248;242m.[0m[38;2;248;248;242mFromArgs[0m[38;2;248;248;242m([0m[38;2;255;255;255mflag[0m[38;2;248;248;242m.[0m[38;2;248;248;242mArgs[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255mfalse[0m[38;2;248;248;242m)[0m 59[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;255;255;255merr[0m[38;2;248;248;242m [0m[38;2;249;38;114m!=[0m[38;2;248;248;242m [0m[38;2;190;132;255mnil[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m 60[38;2;248;248;242m [0m[38;2;255;255;255mlog[0m[38;2;248;248;242m.[0m[38;2;248;248;242mFatal[0m[38;2;248;248;242m([0m[38;2;255;255;255merr[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m command syntax error[0m 61[38;2;248;248;242m [0m[38;2;248;248;242m}[0m 62[38;2;248;248;242m [0m[38;2;248;248;242mlprog[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;248;248;242merr[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;255;255;255mconf[0m[38;2;248;248;242m.[0m[38;2;248;248;242mLoad[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m 63[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;255;255;255merr[0m[38;2;248;248;242m [0m[38;2;249;38;114m!=[0m[38;2;248;248;242m [0m[38;2;190;132;255mnil[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m 64[38;2;248;248;242m [0m[38;2;255;255;255mlog[0m[38;2;248;248;242m.[0m[38;2;248;248;242mFatal[0m[38;2;248;248;242m([0m[38;2;255;255;255merr[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m load error[0m 65[38;2;248;248;242m [0m[38;2;248;248;242m}[0m 66 67[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m [0m[38;2;255;255;255m_[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;248;248;242minfo[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;249;38;114mrange[0m[38;2;248;248;242m [0m[38;2;255;255;255mlprog[0m[38;2;248;248;242m.[0m[38;2;248;248;242mInitialPackages[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m 68[38;2;248;248;242m [0m[38;2;248;248;242mPrintHugeParams[0m[38;2;248;248;242m([0m[38;2;255;255;255mlprog[0m[38;2;248;248;242m.[0m[38;2;255;255;255mFset[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;249;38;114m&[0m[38;2;255;255;255minfo[0m[38;2;248;248;242m.[0m[38;2;255;255;255mInfo[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;255;255;255minfo[0m[38;2;248;248;242m.[0m[38;2;255;255;255mFiles[0m[38;2;248;248;242m)[0m 69[38;2;248;248;242m [0m[38;2;248;248;242m}[0m 70[38;2;248;248;242m}[0m 71 72[38;2;117;113;94m/*[0m 73[38;2;117;113;94m//!+output[0m 74[38;2;117;113;94m% ./hugeparam encoding/xml[0m 75[38;2;117;113;94m/go/src/encoding/xml/marshal.go:167:50: "start" parameter: encoding/xml.StartElement = 56 bytes[0m 76[38;2;117;113;94m/go/src/encoding/xml/marshal.go:734:97: "" result: encoding/xml.StartElement = 56 bytes[0m 77[38;2;117;113;94m/go/src/encoding/xml/marshal.go:761:51: "start" parameter: encoding/xml.StartElement = 56 bytes[0m 78[38;2;117;113;94m/go/src/encoding/xml/marshal.go:781:68: "start" parameter: encoding/xml.StartElement = 56 bytes[0m 79[38;2;117;113;94m/go/src/encoding/xml/xml.go:72:30: "" result: encoding/xml.StartElement = 56 bytes[0m 80[38;2;117;113;94m//!-output[0m 81[38;2;117;113;94m*/[0m 82