test_class.file: flink-core/src/test/java/org/apache/flink/api/java/typeutils/TypeInfoParserTest.java
test_class.identifier: TypeInfoParserTest
test_case.body: @Test
  	public void testGenericType() {
  		TypeInformation<?> ti = TypeInfoParser.parse("java.lang.Class");
  		Assert.assertTrue(ti instanceof GenericTypeInfo);
  		Assert.assertEquals(Class.class, ((GenericTypeInfo<?>) ti).getTypeClass());
  	}
test_case.class_method_signature: TypeInfoParserTest.testGenericType()
test_case.full_signature: @Test public void testGenericType()
test_case.identifier: testGenericType
test_case.invocations: parse assertTrue assertEquals getTypeClass
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGenericType()
focal_class.declarator: TUPLE_PACKAGE = "org.apache.flink.api.java.tuple"
focal_class.modifier: private static final
focal_class.original_string: private static final String TUPLE_PACKAGE = "org.apache.flink.api.java.tuple";
focal_class.type: String
focal_class.var_name: TUPLE_PACKAGE
focal_class.declarator: VALUE_PACKAGE = "org.apache.flink.types"
focal_class.modifier: private static final
focal_class.original_string: private static final String VALUE_PACKAGE = "org.apache.flink.types";
focal_class.type: String
focal_class.var_name: VALUE_PACKAGE
focal_class.declarator: WRITABLE_PACKAGE = "org.apache.hadoop.io"
focal_class.modifier: private static final
focal_class.original_string: private static final String WRITABLE_PACKAGE = "org.apache.hadoop.io";
focal_class.type: String
focal_class.var_name: WRITABLE_PACKAGE
focal_class.declarator: tuplePattern = Pattern.compile("^(" + TUPLE_PACKAGE.replaceAll("\\.", "\\\\.") + "\\.)?((Tuple[1-9][0-9]?)<|(Tuple0))")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern tuplePattern = Pattern.compile("^(" + TUPLE_PACKAGE.replaceAll("\\.", "\\\\.") + "\\.)?((Tuple[1-9][0-9]?)<|(Tuple0))");
focal_class.type: Pattern
focal_class.var_name: tuplePattern
focal_class.declarator: writablePattern = Pattern.compile("^((" + WRITABLE_PACKAGE.replaceAll("\\.", "\\\\.") + "\\.)?Writable)<([^\\s,>]*)(,|>|$|\\[)")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern writablePattern = Pattern.compile("^((" + WRITABLE_PACKAGE.replaceAll("\\.", "\\\\.") + "\\.)?Writable)<([^\\s,>]*)(,|>|$|\\[)");
focal_class.type: Pattern
focal_class.var_name: writablePattern
focal_class.declarator: enumPattern = Pattern.compile("^((java\\.lang\\.)?Enum)<([^\\s,>]*)(,|>|$|\\[)")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern enumPattern = Pattern.compile("^((java\\.lang\\.)?Enum)<([^\\s,>]*)(,|>|$|\\[)");
focal_class.type: Pattern
focal_class.var_name: enumPattern
focal_class.declarator: basicTypePattern = Pattern
  			.compile("^((java\\.lang\\.)?(String|Integer|Byte|Short|Character|Double|Float|Long|Boolean|Void))(,|>|$|\\[)")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern basicTypePattern = Pattern
  			.compile("^((java\\.lang\\.)?(String|Integer|Byte|Short|Character|Double|Float|Long|Boolean|Void))(,|>|$|\\[)");
focal_class.type: Pattern
focal_class.var_name: basicTypePattern
focal_class.declarator: basicTypeDatePattern = Pattern.compile("^((java\\.util\\.)?Date)(,|>|$|\\[)")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern basicTypeDatePattern = Pattern.compile("^((java\\.util\\.)?Date)(,|>|$|\\[)");
focal_class.type: Pattern
focal_class.var_name: basicTypeDatePattern
focal_class.declarator: primitiveTypePattern = Pattern.compile("^(int|byte|short|char|double|float|long|boolean|void)(,|>|$|\\[)")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern primitiveTypePattern = Pattern.compile("^(int|byte|short|char|double|float|long|boolean|void)(,|>|$|\\[)");
focal_class.type: Pattern
focal_class.var_name: primitiveTypePattern
focal_class.declarator: valueTypePattern = Pattern.compile("^((" + VALUE_PACKAGE.replaceAll("\\.", "\\\\.")
  			+ "\\.)?(String|Int|Byte|Short|Char|Double|Float|Long|Boolean|List|Map|Null))Value(,|>|$|\\[)")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern valueTypePattern = Pattern.compile("^((" + VALUE_PACKAGE.replaceAll("\\.", "\\\\.")
  			+ "\\.)?(String|Int|Byte|Short|Char|Double|Float|Long|Boolean|List|Map|Null))Value(,|>|$|\\[)");
focal_class.type: Pattern
focal_class.var_name: valueTypePattern
focal_class.declarator: pojoGenericObjectPattern = Pattern.compile("^([^\\s,<>\\[]+)(<)?")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern pojoGenericObjectPattern = Pattern.compile("^([^\\s,<>\\[]+)(<)?");
focal_class.type: Pattern
focal_class.var_name: pojoGenericObjectPattern
focal_class.declarator: fieldPattern = Pattern.compile("^([^\\s,<>\\[]+)=")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern fieldPattern = Pattern.compile("^([^\\s,<>\\[]+)=");
focal_class.type: Pattern
focal_class.var_name: fieldPattern
focal_class.file: flink-core/src/main/java/org/apache/flink/api/java/typeutils/TypeInfoParser.java
focal_class.identifier: TypeInfoParser
focal_class.class_method_signature: TypeInfoParser.parse(String infoString)
focal_class.full_signature: @SuppressWarnings("unchecked") public static TypeInformation<X> parse(String infoString)
focal_class.identifier: parse
focal_class.modifiers: @SuppressWarnings("unchecked") public static
focal_class.parameters: (String infoString)
focal_class.return: TypeInformation<X>
focal_class.signature: TypeInformation<X> parse(String infoString)
focal_class.class_method_signature: TypeInfoParser.parse(StringBuilder sb)
focal_class.full_signature: @SuppressWarnings({ "rawtypes", "unchecked" }) private static TypeInformation<?> parse(StringBuilder sb)
focal_class.identifier: parse
focal_class.modifiers: @SuppressWarnings({ "rawtypes", "unchecked" }) private static
focal_class.parameters: (StringBuilder sb)
focal_class.return: TypeInformation<?>
focal_class.signature: TypeInformation<?> parse(StringBuilder sb)
focal_class.class_method_signature: TypeInfoParser.loadClass(String fullyQualifiedName)
focal_class.full_signature: private static Class<?> loadClass(String fullyQualifiedName)
focal_class.identifier: loadClass
focal_class.modifiers: private static
focal_class.parameters: (String fullyQualifiedName)
focal_class.return: Class<?>
focal_class.signature: Class<?> loadClass(String fullyQualifiedName)
focal_method.body: @SuppressWarnings("unchecked")
  	public static <X> TypeInformation<X> parse(String infoString) {
  		try {
  			if (infoString == null) {
  				throw new IllegalArgumentException("String is null.");
  			}
  			String clearedString = infoString.replaceAll("\\s", "");
  			if (clearedString.length() == 0) {
  				throw new IllegalArgumentException("String must not be empty.");
  			}
  			StringBuilder sb = new StringBuilder(clearedString);
  			TypeInformation<X> ti = (TypeInformation<X>) parse(sb);
  			if (sb.length() > 0) {
  				throw new IllegalArgumentException("String could not be parsed completely.");
  			}
  			return ti;
  		} catch (Exception e) {
  			throw new IllegalArgumentException("String could not be parsed: " + e.getMessage(), e);
  		}
  	}
focal_method.class_method_signature: TypeInfoParser.parse(String infoString)
focal_method.full_signature: @SuppressWarnings("unchecked") public static TypeInformation<X> parse(String infoString)
focal_method.identifier: parse
focal_method.invocations: replaceAll length parse length getMessage
focal_method.modifiers: @SuppressWarnings("unchecked") public static
focal_method.parameters: (String infoString)
focal_method.return: TypeInformation<X>
focal_method.signature: TypeInformation<X> parse(String infoString)