ClipParam constructor
Implementation
ClipParam( [int num = 0, ClipParam? parentParam, bool inherit = false] ){
// 呼び出し元情報
_parentNum = (parentParam == null) ? 0 : (
parentParam._fileFlag ? ((parentParam._topNum > 0) ? num - parentParam._topNum + 1 : num) : 0
);
_parentFunc = (parentParam == null) ? "" : (
(parentParam._funcName == null) ? "" : parentParam._funcName!
);
if( parentParam == null ){
inherit = false;
}
_calculator = inherit ? parentParam!._calculator : false;
_base = inherit ? parentParam!._base : 0;
_mode = inherit ? parentParam!._mode : ClipGlobal.defMode;
_fps = inherit ? parentParam!._fps : ClipGlobal.defFps;
_prec = inherit ? parentParam!._prec : ClipGlobal.defPrec;
_radix = inherit ? parentParam!._radix : ClipGlobal.defRadix;
_mpPrec = inherit ? parentParam!._mpPrec : ClipGlobal.defMPPrec;
_mpRound = inherit ? parentParam!._mpRound : ClipGlobal.defMPRound;
if( parentParam != null ){
_saveMode = parentParam._mode;
_saveFps = parentParam._fps;
}
updateMode();
updateFps();
_saveRadix = _radix;
_var = ClipVariable();
_array = ClipArray();
_func = ClipFunc();
// 外部関数関連
_funcName = null;
_fileData = null;
_fileDataGet = 0;
_fileLine = null;
_fileFlag = false;
_topNum = 0;
_lineNum = 1;
// 各種フラグ
_enableCommand = true;
_enableOpPow = false;
_enableStat = true;
_printAns = true;
_assFlag = false;
_subStep = 0;
_parent = null;
// 親プロセスのパラメータ値を更新するかどうかのフラグ
_updateParam = List.filled( 10, false );
_updateParamCode = [];
_updateParamIndex = [];
// 親プロセスの変数・配列を更新するかどうかのフラグ
_updateParentVar = [];
_updateParentArray = [];
_defNameSpace = null;
_nameSpace = null;
_seFlag = false;
_seToken = ClipGlobal.seNull;
_mpFlag = false;
_replace = [];
if( parentParam != null ){
for( int i = 0; i < parentParam._replace.length; i++ ){
_replace.add( _ClipReplace(
parentParam._replace[i]._descCode,
parentParam._replace[i]._descToken,
parentParam._replace[i]._realCode,
parentParam._replace[i]._realToken
) );
}
}
}