getElement method

  1. @override
Variant getElement(
  1. Variant value1,
  2. Variant value2
)
override

Performs [] operation for two variants.

  • value1 The first operand for this operation.
  • value2 The second operand for this operation. Returns A result variant object.

Implementation

@override
Variant getElement(Variant value1, Variant value2) {
  var result = Variant();

  // Processes VariantType.Null values.
  if (value1.type == VariantType.Null || value2.type == VariantType.Null) {
    return result;
  }

  value2 = convert(value2, VariantType.Integer);

  if (value1.type == VariantType.Array) {
    return value1.getByIndex(value2.asInteger);
  } else if (value1.type == VariantType.String) {
    result.asString = value1.asString[value2.asInteger];
    return result;
  }
  throw Exception("Operation '[]' is not supported for type " +
      typeToString(value1.type));
}