Class ArraySuffix

  • Direct Known Subclasses:
    PropertySuffix

    public class ArraySuffix
    extends ValueSuffix

    Represents an operator that obtains a Map entry, an indexed value, a property value, or an indexed property value of an object. The following are the rules for evaluating this operator:

       Evaluating a[b] (assuming a.b == a["b"])
         a is null
           return null
         b is null
           return null
         a is Map
           !a.containsKey (b)
             return null
           a.get(b) == null
             return null
           otherwise
             return a.get(b)
         a is List or array
           coerce b to int (using coercion rules)
           coercion couldn't be performed
             error
           a.get(b) or Array.get(a, b) throws ArrayIndexOutOfBoundsException or IndexOutOfBoundsException
             return null
           a.get(b) or Array.get(a, b) throws other exception
             error
           return a.get(b) or Array.get(a, b)
       
         coerce b to String
         b is a readable property of a
           getter throws an exception
             error
           otherwise
             return result of getter call
      
         otherwise
           error
       
    Version:
    $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author: kchung $
    Author:
    Nathan Abramson - Art Technology Group, Shawn Bayern