setLabel method

void setLabel(
  1. ClipToken label
)

Implementation

void setLabel( ClipToken label ){
	int i;
	int code;
	dynamic token;
	String strLabel = "";
	ClipTokenData? lock;

	i = 0;
	label.beginGetToken();
	while( label.getToken() ){
		code  = ClipToken.curCode();
		token = ClipToken.curToken();
		// &かどうかをチェックする
		if( (code == ClipGlobal.codeParamAns) || ((code == ClipGlobal.codeOperator) && (token >= ClipGlobal.opAnd)) ){
			if( !(label.getToken()) ){
				break;
			}
			code  = ClipToken.curCode();
			token = ClipToken.curToken();
			_updateParam[i] = true;
		} else {
			_updateParam[i] = false;
		}

		if( code == ClipGlobal.codeLabel ){
			strLabel = token;

			// ラベルを設定する
			lock = label.lock();
			if( label.getToken() ){
				code  = ClipToken.curCode();
				token = ClipToken.curToken();
				if( code == ClipGlobal.codeParamArray ){
					_array.label().setLabel( ClipMath.charCode0 + i, strLabel, true );
				} else {
					label.unlock( lock );
					_var.label().setLabel( ClipMath.charCode0 + i, strLabel, true );
				}
			} else {
				label.unlock( lock );
				_var.label().setLabel( ClipMath.charCode0 + i, strLabel, true );
			}

			i++;
		}
	}
}