usage method

void usage(
  1. String func,
  2. ClipParam childParam,
  3. bool cacheFlag
)

Implementation

void usage( String func, ClipParam childParam, bool cacheFlag ){
	ClipFuncData? curFunc;

	if( (curFunc = procFunc().search( func, false, null )) == null ){
		if( cacheFlag ){
			curFunc = newFuncCache( func, childParam, null );
		}
	}

	_topUsage = null;

	if( curFunc != null ){
		ClipLineData? line;
		curFunc.line().beginGetLine();
		while( (line = curFunc.line().getLine()) != null ){
			if( (line!.token()!.count() == 0) && (line.comment() != null) ){
				if( ClipMath.charAt( line.comment()!, 0 ) != '!' ){
					_addUsage( line.comment()!, func );
				}
			} else {
				break;
			}
		}
	} else {
		int cur;

		ParamString func2 = ParamString( func );
		List<String>? fileData = getExtFuncData( func2, null );
		if( fileData == null ){
			_errorProc( ClipGlobal.procErrFuncOpen, 0, childParam, ClipGlobal.codeExtFunc, func );
			return;
		}

		for( int i = 0; i < fileData.length; i++ ){
			String string = fileData[i];
			cur = _firstChar( string );
			if( (cur < string.length) && (ClipMath.charAt( string, cur ) == '#') ){
				cur++;
				if( (cur < string.length) && (ClipMath.charAt( string, cur ) == '!') ){
				} else if( cur >= string.length ){
					_addUsage( "", func );
				} else {
					_addUsage( string.substring( cur ), func );
				}
			} else {
				break;
			}
		}
	}

	doCommandUsage( _topUsage );

	ClipProcUsage? tmpUsage;
	_curUsage = _topUsage;
	while( _curUsage != null ){
		tmpUsage = _curUsage;
		_curUsage = _curUsage!._next;
		if( tmpUsage!._string != null ){
			tmpUsage._string = null;
		}
	}
}