visitArrayAccess method

  1. @override
dynamic visitArrayAccess(
  1. ArrayAccess arrayAccess
)

Implementation

@override
visitArrayAccess(ArrayAccess arrayAccess) {
  final array = arrayAccess.array.accept(this);
  final key = arrayAccess.key.accept(this);
  if (array is List) {
    final index = key is int ? key : int.parse(key);
    if (index >= 0 && index < array.length) {
      return array[index];
    }
  } else if (array is Map && array.containsKey(key)) {
    return array[key];
  }
  return null;
}