Package kawa.lang
Class ListPat
- java.lang.Object
-
- kawa.lang.Pattern
-
- kawa.lang.ListPat
-
- All Implemented Interfaces:
gnu.kawa.format.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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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)
boolean
match(Object obj, Object[] vars, int start_vars)
Succeeds if obj is a list of length [min_length..max_length].void
print(Consumer out)
int
varCount()
-
-
-
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].- Specified by:
match
in classPattern
- Parameters:
obj
- the object to match againstvars
- the "pattern variable" values extracted from obj go herestart_vars
- where in vars to strt putting the varCount() values- 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.
-
-