test_class.file: mubench/src/test/java/de/tu_darmstadt/stg/mudetect/typehierarchy/TypeHierarchyTest.java
test_class.identifier: TypeHierarchyTest
test_case.body: @Test
      public void intIsALong() throws Exception {
          TypeHierarchy hierarchy = new TypeHierarchy();
  
          assertTrue(hierarchy.isA("int", "long"));
      }
test_case.class_method_signature: TypeHierarchyTest.intIsALong()
test_case.full_signature: @Test public void intIsALong()
test_case.identifier: intIsALong
test_case.invocations: assertTrue isA
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void intIsALong()
focal_class.declarator: supertypesByType = new HashMap<>()
focal_class.modifier: private
focal_class.original_string: private Map<String, Set<String>> supertypesByType = new HashMap<>();
focal_class.type: Map<String, Set<String>>
focal_class.var_name: supertypesByType
focal_class.file: mubench/src/main/java/de/tu_darmstadt/stg/mudetect/typehierarchy/TypeHierarchy.java
focal_class.identifier: TypeHierarchy
focal_class.class_method_signature: TypeHierarchy.TypeHierarchy()
focal_class.full_signature: protected  TypeHierarchy()
focal_class.identifier: TypeHierarchy
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.signature:  TypeHierarchy()
focal_class.class_method_signature: TypeHierarchy.isA(String type, String supertype)
focal_class.full_signature: public boolean isA(String type, String supertype)
focal_class.identifier: isA
focal_class.modifiers: public
focal_class.parameters: (String type, String supertype)
focal_class.return: boolean
focal_class.signature: boolean isA(String type, String supertype)
focal_class.class_method_signature: TypeHierarchy.getSupertypes(String type)
focal_class.full_signature: private Set<String> getSupertypes(String type)
focal_class.identifier: getSupertypes
focal_class.modifiers: private
focal_class.parameters: (String type)
focal_class.return: Set<String>
focal_class.signature: Set<String> getSupertypes(String type)
focal_class.class_method_signature: TypeHierarchy.addSupertype(String type, String supertype)
focal_class.full_signature: protected void addSupertype(String type, String supertype)
focal_class.identifier: addSupertype
focal_class.modifiers: protected
focal_class.parameters: (String type, String supertype)
focal_class.return: void
focal_class.signature: void addSupertype(String type, String supertype)
focal_class.class_method_signature: TypeHierarchy.addSupertypes(String type, Iterable<String> supertypes)
focal_class.full_signature:  void addSupertypes(String type, Iterable<String> supertypes)
focal_class.identifier: addSupertypes
focal_class.parameters: (String type, Iterable<String> supertypes)
focal_class.return: void
focal_class.signature: void addSupertypes(String type, Iterable<String> supertypes)
focal_method.body: public boolean isA(String type, String supertype) {
          Set<String> supertypes = getSupertypes(type);
          return type.equals(supertype) ||
                  supertypes.contains(supertype);
      }
focal_method.class_method_signature: TypeHierarchy.isA(String type, String supertype)
focal_method.full_signature: public boolean isA(String type, String supertype)
focal_method.identifier: isA
focal_method.invocations: getSupertypes equals contains
focal_method.modifiers: public
focal_method.parameters: (String type, String supertype)
focal_method.return: boolean
focal_method.signature: boolean isA(String type, String supertype)