test_class.file: php-frontend/src/test/java/org/sonar/php/symbols/ProjectSymbolDataTest.java
test_class.identifier: ProjectSymbolDataTest
test_case.body: @Test
    public void add() {
      QualifiedName qualifiedName = qualifiedName("ns1\\Class1");
      ProjectSymbolData projectSymbolData = new ProjectSymbolData();
  
      assertThat(projectSymbolData.classSymbolData(qualifiedName)).isEmpty();
  
      ClassSymbolData class1 = new ClassSymbolData(new LocationInFileImpl("f1", 1, 2, 3, 4), qualifiedName, null, emptyList(), emptyList());
      projectSymbolData.add(class1);
      assertThat(projectSymbolData.classSymbolData(qualifiedName)).contains(class1);
    }
test_case.class_method_signature: ProjectSymbolDataTest.add()
test_case.full_signature: @Test public void add()
test_case.identifier: add
test_case.invocations: qualifiedName isEmpty assertThat classSymbolData emptyList emptyList add contains assertThat classSymbolData
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void add()
focal_class.declarator: builtinSymbolData = BuiltinSymbolData.BUILTINS
focal_class.modifier: private final
focal_class.original_string: private final BuiltinSymbolData builtinSymbolData = BuiltinSymbolData.BUILTINS;
focal_class.type: BuiltinSymbolData
focal_class.var_name: builtinSymbolData
focal_class.declarator: classSymbolsByQualifiedName = new HashMap<>()
focal_class.modifier: private final
focal_class.original_string: private final Map<QualifiedName, ClassSymbolData> classSymbolsByQualifiedName = new HashMap<>();
focal_class.type: Map<QualifiedName, ClassSymbolData>
focal_class.var_name: classSymbolsByQualifiedName
focal_class.declarator: functionSymbolsByQualifiedName = new HashMap<>()
focal_class.modifier: private final
focal_class.original_string: private final Map<QualifiedName, List<FunctionSymbolData>> functionSymbolsByQualifiedName = new HashMap<>();
focal_class.type: Map<QualifiedName, List<FunctionSymbolData>>
focal_class.var_name: functionSymbolsByQualifiedName
focal_class.file: php-frontend/src/main/java/org/sonar/php/symbols/ProjectSymbolData.java
focal_class.identifier: ProjectSymbolData
focal_class.class_method_signature: ProjectSymbolData.add(ClassSymbolData classSymbolData)
focal_class.full_signature: public void add(ClassSymbolData classSymbolData)
focal_class.identifier: add
focal_class.modifiers: public
focal_class.parameters: (ClassSymbolData classSymbolData)
focal_class.return: void
focal_class.signature: void add(ClassSymbolData classSymbolData)
focal_class.class_method_signature: ProjectSymbolData.add(FunctionSymbolData functionSymbolData)
focal_class.full_signature: public void add(FunctionSymbolData functionSymbolData)
focal_class.identifier: add
focal_class.modifiers: public
focal_class.parameters: (FunctionSymbolData functionSymbolData)
focal_class.return: void
focal_class.signature: void add(FunctionSymbolData functionSymbolData)
focal_class.class_method_signature: ProjectSymbolData.classSymbolData(QualifiedName qualifiedName)
focal_class.full_signature: public Optional<ClassSymbolData> classSymbolData(QualifiedName qualifiedName)
focal_class.identifier: classSymbolData
focal_class.modifiers: public
focal_class.parameters: (QualifiedName qualifiedName)
focal_class.return: Optional<ClassSymbolData>
focal_class.signature: Optional<ClassSymbolData> classSymbolData(QualifiedName qualifiedName)
focal_class.class_method_signature: ProjectSymbolData.functionSymbolData(QualifiedName qualifiedName)
focal_class.full_signature: public List<FunctionSymbolData> functionSymbolData(QualifiedName qualifiedName)
focal_class.identifier: functionSymbolData
focal_class.modifiers: public
focal_class.parameters: (QualifiedName qualifiedName)
focal_class.return: List<FunctionSymbolData>
focal_class.signature: List<FunctionSymbolData> functionSymbolData(QualifiedName qualifiedName)
focal_method.body: public void add(ClassSymbolData classSymbolData) {
      classSymbolsByQualifiedName.put(classSymbolData.qualifiedName(), classSymbolData);
    }
focal_method.class_method_signature: ProjectSymbolData.add(ClassSymbolData classSymbolData)
focal_method.full_signature: public void add(ClassSymbolData classSymbolData)
focal_method.identifier: add
focal_method.invocations: put qualifiedName
focal_method.modifiers: public
focal_method.parameters: (ClassSymbolData classSymbolData)
focal_method.return: void
focal_method.signature: void add(ClassSymbolData classSymbolData)