kawa.lang

Class ListPat

Implemented Interfaces:
Printable

public class ListPat
extends Pattern

Match a list whose length in in the range [min_length..max_length].

Field Summary

Fields inherited from class kawa.lang.Pattern

matchPatternMethod, typePattern

Constructor Summary

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

Method Summary

boolean
match(Object obj, Object[] vars, int start_vars)
Succeeds if obj is a list of length [min_length..max_length].
static Object[]
match(int min, int max, Object default_val, Object obj)
Succeeds if obj is a list of length [min..max].
static boolean
match(int min, int max, Object default_val, Object obj, Object[] vars, int start_vars)
void
print(Consumer out)
int
varCount()

Methods inherited from class kawa.lang.Pattern

match, match, varCount

Constructor Details

ListPat

public ListPat(int len)

ListPat

public ListPat(int min,
               int max)

ListPat

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

Method Details

match

public boolean match(Object obj,
                     Object[] vars,
                     int start_vars)
Succeeds if obj is a list of length [min_length..max_length].
Overrides:
match in interface Pattern
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.

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 static boolean match(int min,
                            int max,
                            Object default_val,
                            Object obj,
                            Object[] vars,
                            int start_vars)

print

public void print(Consumer out)
Specified by:
print in interface Printable

varCount

public int varCount()
Overrides:
varCount in interface Pattern