kawa.lang

Class ListPat

public class ListPat extends Pattern

Match a list whose length in in the range [min_length..max_length].
Constructor Summary
ListPat(int len)
ListPat(int min, int max)
ListPat(int min, int max, Object default_val)
Method Summary
static booleanmatch(int min, int max, Object default_val, Object obj, Object[] vars, int start_vars)
static Object[]match(int min, int max, Object default_val, Object obj)
Succeeds if obj is a list of length [min..max].
booleanmatch(Object obj, Object[] vars, int start_vars)
Succeeds if obj is a list of length [min_length..max_length].
voidprint(Consumer out)
intvarCount()

Constructor Detail

ListPat

public ListPat(int len)

ListPat

public ListPat(int min, int max)

ListPat

public ListPat(int min, int max, Object default_val)

Method Detail

match

public static boolean match(int min, int max, Object default_val, Object obj, Object[] vars, int start_vars)

match

public static Object[] match(int min, int max, Object default_val, Object obj)
Succeeds if obj is a list of length [min..max].

Parameters: obj the object to match against

Returns: true iff the match succeeded On success, max_length values from the elements of the list are placed in vars (starting at start_vars); if obj is shorter, missing elements are set to default_value.

match

public boolean match(Object obj, Object[] vars, int start_vars)
Succeeds if obj is a list of length [min_length..max_length].

Parameters: obj the object to match against

Returns: null on failure, or an array of bound pattern variables: max_length values from the elements of the list are placed in the result; if obj is shorter, missing elements are set to default_value.

print

public void print(Consumer out)

varCount

public int varCount()