public void setExprList(ExprList exprList) {
		int len = exprList.length();
		if (len == 0) {
			throw new ParseException("模板函数名不能缺失", location);
		}
		
		int index = 0;
		Expr expr = exprList.getExpr(index);
		if (expr instanceof Const && ((Const)expr).isBoolean()) {
			if (len == 1) {
				throw new ParseException("模板函数名不能缺失", location);
			}
			
			nullSafe = ((Const)expr).getBoolean();
			index++;
		}
		
		funcNameExpr = exprList.getExpr(index++);
		
		ArrayList<Expr> list = new ArrayList<Expr>();
		for (int i=index; i<len; i++) {
			list.add(exprList.getExpr(i));
		}
		paraExpr = new ExprList(list);
	}
public void setExprList ( ExprList exprList ) { int len = exprList . length ( ) ; if ( len == 0 ) { throw new ParseException ( "模板函数名不能缺失" , location ) ; } int index = 0 ; Expr expr = exprList . getExpr ( index ) ; if ( expr instanceof Const && ( ( Const ) expr ) . isBoolean ( ) ) { if ( len == 1 ) { throw new ParseException ( "模板函数名不能缺失" , location ) ; } nullSafe = ( ( Const ) expr ) . getBoolean ( ) ; index ++ ; } funcNameExpr = exprList . getExpr ( index ++ ) ; ArrayList < Expr > list = new ArrayList < Expr > ( ) ; for ( int i = index ; i < len ; i ++ ) { list . add ( exprList . getExpr ( i ) ) ; } paraExpr = new ExprList ( list ) ; }
是否支持函数名不存在时跳过