test_class.file: flink-streaming-java/src/test/java/org/apache/flink/streaming/util/FieldAccessorTest.java
test_class.identifier: FieldAccessorTest
test_case.body: @Test
  	@SuppressWarnings("unchecked")
  	public void tupleFieldAccessorOutOfBoundsTest() {
  		try {
  			FieldAccessor<Tuple2<Integer, Integer>, Integer> fieldAccessor =
  					(FieldAccessor<Tuple2<Integer, Integer>, Integer>) (Object)
  							FieldAccessor.create(2, TupleTypeInfo.getBasicTupleTypeInfo(Integer.class, Integer.class),
  									null);
  			fail();
  		} catch (IndexOutOfBoundsException e) {
  			// Nothing to do here
  		}
  	}
test_case.class_method_signature: FieldAccessorTest.tupleFieldAccessorOutOfBoundsTest()
test_case.full_signature: @Test @SuppressWarnings("unchecked") public void tupleFieldAccessorOutOfBoundsTest()
test_case.identifier: tupleFieldAccessorOutOfBoundsTest
test_case.invocations: create getBasicTupleTypeInfo fail
test_case.modifiers: @Test @SuppressWarnings("unchecked") public
test_case.parameters: ()
test_case.return: void
test_case.signature: void tupleFieldAccessorOutOfBoundsTest()
focal_class.declarator: serialVersionUID = 1L
focal_class.modifier: private static final
focal_class.original_string: private static final long serialVersionUID = 1L;
focal_class.type: long
focal_class.var_name: serialVersionUID
focal_class.declarator: fieldType
focal_class.original_string: TypeInformation fieldType;
focal_class.type: TypeInformation
focal_class.var_name: fieldType
focal_class.file: flink-streaming-java/src/main/java/org/apache/flink/streaming/util/FieldAccessor.java
focal_class.identifier: FieldAccessor
focal_class.interfaces: implements Serializable
focal_class.class_method_signature: FieldAccessor.getFieldType()
focal_class.full_signature: @SuppressWarnings("unchecked") public TypeInformation<F> getFieldType()
focal_class.identifier: getFieldType
focal_class.modifiers: @SuppressWarnings("unchecked") public
focal_class.parameters: ()
focal_class.return: TypeInformation<F>
focal_class.signature: TypeInformation<F> getFieldType()
focal_class.class_method_signature: FieldAccessor.get(R record)
focal_class.full_signature: public abstract F get(R record)
focal_class.identifier: get
focal_class.modifiers: public abstract
focal_class.parameters: (R record)
focal_class.return: F
focal_class.signature: F get(R record)
focal_class.class_method_signature: FieldAccessor.set(R record, F fieldValue)
focal_class.full_signature: public abstract R set(R record, F fieldValue)
focal_class.identifier: set
focal_class.modifiers: public abstract
focal_class.parameters: (R record, F fieldValue)
focal_class.return: R
focal_class.signature: R set(R record, F fieldValue)
focal_class.class_method_signature: FieldAccessor.create(int pos, TypeInformation<R> typeInfo, ExecutionConfig config)
focal_class.full_signature: @SuppressWarnings("unchecked") public static FieldAccessor<R, F> create(int pos, TypeInformation<R> typeInfo, ExecutionConfig config)
focal_class.identifier: create
focal_class.modifiers: @SuppressWarnings("unchecked") public static
focal_class.parameters: (int pos, TypeInformation<R> typeInfo, ExecutionConfig config)
focal_class.return: FieldAccessor<R, F>
focal_class.signature: FieldAccessor<R, F> create(int pos, TypeInformation<R> typeInfo, ExecutionConfig config)
focal_class.class_method_signature: FieldAccessor.create(String field, TypeInformation<R> typeInfo, ExecutionConfig config)
focal_class.full_signature: public static FieldAccessor<R, F> create(String field, TypeInformation<R> typeInfo, ExecutionConfig config)
focal_class.identifier: create
focal_class.modifiers: public static
focal_class.parameters: (String field, TypeInformation<R> typeInfo, ExecutionConfig config)
focal_class.return: FieldAccessor<R, F>
focal_class.signature: FieldAccessor<R, F> create(String field, TypeInformation<R> typeInfo, ExecutionConfig config)
focal_method.body: @SuppressWarnings("unchecked")
  	public static <R, F> FieldAccessor<R, F> create(int pos, TypeInformation<R> typeInfo, ExecutionConfig config) {
  		if (typeInfo.isTupleType() && ((TupleTypeInfoBase)typeInfo).isCaseClass()) {
  			return new ProductFieldAccessor<R, F>(pos, typeInfo, config);
  		} else if (typeInfo.isTupleType()) {
  			return new TupleFieldAccessor<R, F>(pos, typeInfo);
  		} else if (typeInfo instanceof BasicArrayTypeInfo || typeInfo instanceof PrimitiveArrayTypeInfo) {
  			return new ArrayFieldAccessor<R, F>(pos, typeInfo);
  		} else {
  			if(pos != 0) {
  				throw new IndexOutOfBoundsException("Not 0th field selected for a simple type (non-tuple, non-array).");
  			}
  			return (FieldAccessor<R, F>) new SimpleFieldAccessor<R>(typeInfo);
  		}
  	}
focal_method.class_method_signature: FieldAccessor.create(int pos, TypeInformation<R> typeInfo, ExecutionConfig config)
focal_method.full_signature: @SuppressWarnings("unchecked") public static FieldAccessor<R, F> create(int pos, TypeInformation<R> typeInfo, ExecutionConfig config)
focal_method.identifier: create
focal_method.invocations: isTupleType isCaseClass isTupleType
focal_method.modifiers: @SuppressWarnings("unchecked") public static
focal_method.parameters: (int pos, TypeInformation<R> typeInfo, ExecutionConfig config)
focal_method.return: FieldAccessor<R, F>
focal_method.signature: FieldAccessor<R, F> create(int pos, TypeInformation<R> typeInfo, ExecutionConfig config)