Firebase SDK for Apple App Development
This report summarizes scanner evidence for firebase/firebase-ios-sdk, a C++ project with 6,935 GitHub stars. SynthScan examined 686,865 lines of code across 3718 source files, recording 3551 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 5.2 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 3476 finding(s).
Are imports declared and package/API names verified? 33 finding(s).
Are wrappers, guards, and repeated structures necessary? 174 finding(s).
Which changes need focused human review? 3551 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 3551 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CMakeLists.txt | 1 | # Copyright 2017 Google LLC | COMMENT |
| LOW | Package.swift | 1 | // swift-tools-version:6.2.1 | COMMENT |
| LOW | SymbolCollisionTest/SymbolCollisionTest/AppDelegate.h | 1 | // Copyright 2018 Google | COMMENT |
| LOW | …mbolCollisionTest/SymbolCollisionTest/ViewController.m | 1 | // Copyright 2018 Google | COMMENT |
| LOW | SymbolCollisionTest/SymbolCollisionTest/main.m | 1 | // Copyright 2018 Google | COMMENT |
| LOW | SymbolCollisionTest/SymbolCollisionTest/AppDelegate.m | 1 | // Copyright 2018 Google | COMMENT |
| LOW | …mbolCollisionTest/SymbolCollisionTest/ViewController.h | 1 | // Copyright 2018 Google | COMMENT |
| LOW | …seSharedSwift/Tests/third_party/DataEncoderTests.swift | 161 | // let first: String | COMMENT |
| LOW | …seSharedSwift/Tests/third_party/DataEncoderTests.swift | 181 | // | COMMENT |
| LOW | …dSwift/Sources/FirebaseRemoteConfigValueDecoding.swift | 1 | // Copyright 2021 Google LLC | COMMENT |
| LOW | …rd_party/FirebaseDataEncoder/FirebaseDataEncoder.swift | 1 | // This file is derived from swift/stdlib/public/Darwin/Foundation/JSONEncoder.swift | COMMENT |
| LOW | …rd_party/FirebaseDataEncoder/FirebaseDataEncoder.swift | 61 | } | COMMENT |
| LOW | …rd_party/FirebaseDataEncoder/FirebaseDataEncoder.swift | 101 | // JSON Encoder | COMMENT |
| LOW | …rd_party/FirebaseDataEncoder/FirebaseDataEncoder.swift | 161 | COMMENT | |
| LOW | …rd_party/FirebaseDataEncoder/FirebaseDataEncoder.swift | 321 | COMMENT | |
| LOW | …rd_party/FirebaseDataEncoder/FirebaseDataEncoder.swift | 1121 | /// 1. Capitalizes the word starting after each `_` | COMMENT |
| LOW | …eTooling/Sources/PodspecsTester/InitializeSource.swift | 61 | case .success: | COMMENT |
| LOW | …eTooling/Sources/PodspecsTester/InitializeSource.swift | 81 | Shell.executeCommand("git tag -af \(testingTag) -m 'spectesting'", workingDir: sdkRepoPath) | COMMENT |
| LOW | …leaseTooling/Sources/ZipBuilder/ResourcesManager.swift | 41 | for resource in existingResources { | COMMENT |
| LOW | …leaseTooling/Sources/ZipBuilder/ResourcesManager.swift | 101 | // Find the right framework for these bundles to be embedded in - the folder structure is | COMMENT |
| LOW | ReleaseTooling/Sources/ZipBuilder/CarthageUtils.swift | 21 | struct CarthageBuildOptions { | COMMENT |
| LOW | ReleaseTooling/Sources/ZipBuilder/CarthageUtils.swift | 161 | // encoder with the `.withoutEscapingSlashes` option on `outputFormatting` like this: | COMMENT |
| LOW | ReleaseTooling/Sources/ZipBuilder/ZipBuilder.swift | 81 | COMMENT | |
| LOW | ReleaseTooling/Sources/ZipBuilder/ZipBuilder.swift | 501 | zipDir: zipDir, carthageDir: carthageDir) | COMMENT |
| LOW | ReleaseTooling/Sources/ZipBuilder/ZipBuilder.swift | 801 | COMMENT | |
| LOW | ReleaseTooling/Sources/ZipBuilder/ZipBuilder.swift | 861 | } | COMMENT |
| LOW | ReleaseTooling/Sources/ZipBuilder/CocoaPodUtils.swift | 161 | // Get the pods in the format of [PodInfo]. | COMMENT |
| LOW | ReleaseTooling/Sources/ZipBuilder/CocoaPodUtils.swift | 421 | // Get the components of the line to parse them individually. Ignore any whitespace only | COMMENT |
| LOW | …pDistributionInternal/Tests/Unit/ApiServiceTests.swift | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …ernal/Tests/Unit/FakeUtils/URLSessionPartialMock.swift | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …nInternal/Tests/Unit/FakeUtils/FakeInstallations.swift | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …rebaseAppDistributionInternal/Sources/ApiService.swift | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …tributionInternal/Sources/FeedbackViewController.swift | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …aseAppDistributionInternal/Sources/InAppFeedback.swift | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …eAppDistributionInternal/Sources/Internal/Logger.swift | 1 | // | COMMENT |
| LOW | …nInternal/Sources/Internal/InstallationsProtocol.swift | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | FirebaseFirestoreInternal/dummy.m | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …toreInternal/FirebaseFirestore/FIRLocalCacheSettings.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | FirebaseFirestoreInternal/FirebaseFirestore/FIRMinKey.h | 1 | // Copyright 2026 Google LLC | COMMENT |
| LOW | …storeInternal/FirebaseFirestore/FIRDocumentReference.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | FirebaseFirestoreInternal/FirebaseFirestore/FIRFilter.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …estoreInternal/FirebaseFirestore/FIRSnapshotMetadata.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …Internal/FirebaseFirestore/FIRAggregateQuerySnapshot.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | FirebaseFirestoreInternal/FirebaseFirestore/FIRQuery.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …irestoreInternal/FirebaseFirestore/FIRPipelineBridge.h | 1 | // Copyright 2026 Google LLC | COMMENT |
| LOW | …nal/FirebaseFirestore/FIRPersistentCacheIndexManager.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …ebaseFirestoreInternal/FirebaseFirestore/FIRGeoPoint.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | FirebaseFirestoreInternal/FirebaseFirestore/FIRMaxKey.h | 1 | // Copyright 2026 Google LLC | COMMENT |
| LOW | …storeInternal/FirebaseFirestore/FIRFirestoreSettings.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …irestoreInternal/FirebaseFirestore/FIRAggregateQuery.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …eInternal/FirebaseFirestore/FIRSnapshotListenOptions.h | 1 | // Copyright 2024 Google LLC | COMMENT |
| LOW | …irestoreInternal/FirebaseFirestore/FIRAggregateField.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …baseFirestoreInternal/FirebaseFirestore/FIRFieldPath.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …FirestoreInternal/FirebaseFirestore/FIRBSONTimestamp.h | 1 | // Copyright 2026 Google LLC | COMMENT |
| LOW | …eFirestoreInternal/FirebaseFirestore/FIRBSONObjectId.h | 1 | // Copyright 2026 Google LLC | COMMENT |
| LOW | …aseFirestoreInternal/FirebaseFirestore/FIRFieldValue.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …aseFirestoreInternal/FirebaseFirestore/FIRInt32Value.h | 1 | // Copyright 2026 Google LLC | COMMENT |
| LOW | …FirestoreInternal/FirebaseFirestore/FIRQuerySnapshot.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …reInternal/FirebaseFirestore/FIRListenerRegistration.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …irestoreInternal/FirebaseFirestore/FIRDocumentChange.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| 3131 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …lytics/Crashlytics/Rollouts/StringToHexConverter.swift | 17 | // This is a swift rewrite for the logic in FIRCLSFile for the function FIRCLSFileHexEncodeString() | COMMENT |
| LOW | cmake/external/leveldb_patch_test.py | 27 | def test_snappy_detect_line_is_commented_and_replaced(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 47 | def test_snappy_detect_line_has_indent_and_eol_preserved(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 67 | def test_snappy_detect_line_does_not_affect_surrounding_lines(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 95 | def test_snappy_include_is_amended(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 125 | def test_snappy_include_lines_adopt_indenting_and_eol_convention(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 155 | def test_snappy_include_line_does_not_affect_surrounding_lines(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 193 | def test_leveldb_snappy_link_line_is_commented_and_replaced(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 213 | def test_leveldb_snappy_link_line_has_indent_and_eol_preserved(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 233 | def test_leveldb_snappy_link_line_does_not_affect_surrounding_lines(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 261 | def test_all_patches_combined(self): | CODE |
| LOW | cmake/external/leveldb_patch.py | 122 | def _on_leveldb_include_start(self) -> Iterable[str]: | CODE |
| LOW | cmake/external/leveldb_patch.py | 136 | def _on_leveldb_snappy_link_line(self, line: LineComponents) -> Iterable[str]: | CODE |
| LOW | GeminiLanguageModel/scripts/typegen/upgrade_spec.py | 269 | def infer_required_properties(schemas: dict[str, Any]) -> None: | CODE |
| LOW | …niLanguageModel/scripts/typegen/swift_typegen/merge.py | 172 | def strip_prefix_from_schemas( | CODE |
| LOW | …iLanguageModel/scripts/typegen/swift_typegen/models.py | 49 | def needs_explicit_coding_key(self) -> bool: | CODE |
| LOW | …niLanguageModel/scripts/typegen/swift_typegen/graph.py | 222 | def build_direct_dependency_graph( | CODE |
| LOW | …nguageModel/scripts/typegen/swift_typegen/processor.py | 364 | def _resolve_swift_type_string( | CODE |
| LOW | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 58 | def test_infer_required_properties(self): | CODE |
| LOW | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 84 | def test_extract_standalone_enums(self): | CODE |
| LOW | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 136 | def test_extract_standalone_enums_prefers_superset_cases(self): | CODE |
| LOW | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 211 | def test_extract_standalone_enums_unions_non_superset_cases(self): | CODE |
| LOW | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 273 | def test_extract_standalone_enums_model_stage(self): | CODE |
| LOW | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 308 | def test_extract_standalone_enums_skips_non_enum_name_collision(self): | CODE |
| LOW | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 335 | def test_extract_standalone_enums_prefixes_tool_type(self): | CODE |
| LOW | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 351 | def test_extract_standalone_enums_uses_given_prefixes(self): | CODE |
| LOW⚡ | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 366 | def test_upgrade_nullables_string_type(self): | CODE |
| LOW⚡ | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 372 | def test_upgrade_nullables_list_type(self): | CODE |
| LOW⚡ | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 378 | def test_upgrade_nullables_ref(self): | CODE |
| LOW | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 424 | def test_deep_merge_replaces_non_dict_destination_values(self): | CODE |
| LOW | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 435 | def test_deep_merge_removes_type_and_items_on_ref(self): | CODE |
| LOW | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 451 | def test_main_auto_fetches_when_input_file_missing(self, mock_urlopen): | CODE |
| LOW | …nguageModel/scripts/typegen/tests/test_upgrade_spec.py | 490 | def test_main_uses_cached_input_file_without_fetch_flag(self, mock_urlopen): | CODE |
| LOW | …miniLanguageModel/scripts/typegen/tests/test_output.py | 43 | def test_write_files_writes_sources(self): | CODE |
| LOW | …miniLanguageModel/scripts/typegen/tests/test_output.py | 58 | def test_write_files_creates_output_dir(self): | CODE |
| LOW | …miniLanguageModel/scripts/typegen/tests/test_output.py | 63 | def test_write_files_removes_case_conflicting_files(self): | CODE |
| LOW | …miniLanguageModel/scripts/typegen/tests/test_output.py | 96 | def test_find_swift_format_prefers_path(self, which, run): | CODE |
| LOW | …miniLanguageModel/scripts/typegen/tests/test_output.py | 104 | def test_find_swift_format_falls_back_to_xcrun(self, which, run, _): | CODE |
| LOW | …miniLanguageModel/scripts/typegen/tests/test_output.py | 116 | def test_run_swift_format_warns_when_missing(self, _): | CODE |
| LOW | …miniLanguageModel/scripts/typegen/tests/test_output.py | 127 | def test_run_swift_format_warns_on_failure(self, _, run): | CODE |
| LOW | …miniLanguageModel/scripts/typegen/tests/test_output.py | 137 | def test_run_swift_format_skips_empty_paths(self, find): | CODE |
| LOW | GeminiLanguageModel/scripts/typegen/tests/test_merge.py | 25 | def test_schema_merging_order_preservation(self): | CODE |
| LOW | GeminiLanguageModel/scripts/typegen/tests/test_merge.py | 37 | def test_merge_properties_applies_divergence_resolution(self): | CODE |
| LOW | GeminiLanguageModel/scripts/typegen/tests/test_merge.py | 48 | def test_merge_properties_promotes_numeric_types(self): | CODE |
| LOW | GeminiLanguageModel/scripts/typegen/tests/test_merge.py | 60 | def test_strip_prefix_from_schemas(self): | CODE |
| LOW | GeminiLanguageModel/scripts/typegen/tests/test_merge.py | 94 | def test_strip_prefix_uses_backend_tag(self): | CODE |
| LOW | GeminiLanguageModel/scripts/typegen/tests/test_merge.py | 114 | def test_strip_prefix_applies_divergences_on_name_collision(self): | CODE |
| LOW | GeminiLanguageModel/scripts/typegen/tests/test_merge.py | 139 | def test_merge_schemas_combines_backend_provenance(self): | CODE |
| LOW | GeminiLanguageModel/scripts/typegen/tests/test_merge.py | 167 | def test_merge_properties_unions_enum_cases(self): | CODE |
| LOW | GeminiLanguageModel/scripts/typegen/tests/test_merge.py | 202 | def test_merge_schemas_unions_standalone_enum_cases(self): | CODE |
| LOW | GeminiLanguageModel/scripts/typegen/tests/test_merge.py | 250 | def test_strip_prefix_annotates_backend_enum_cases(self): | CODE |
| LOW | GeminiLanguageModel/scripts/typegen/tests/test_merge.py | 273 | def test_rename_schemas_and_refs_applies_acronyms(self): | CODE |
| LOW | …miniLanguageModel/scripts/typegen/tests/test_config.py | 24 | def test_provenance_key_builds_extension_key(self): | CODE |
| LOW⚡ | …miniLanguageModel/scripts/typegen/tests/test_config.py | 36 | def test_generator_config_defaults(self): | CODE |
| LOW⚡ | …miniLanguageModel/scripts/typegen/tests/test_config.py | 42 | def test_from_file_missing_raises(self): | CODE |
| LOW⚡ | …miniLanguageModel/scripts/typegen/tests/test_config.py | 46 | def test_from_file_parses_generator_config(self): | CODE |
| LOW⚡ | …miniLanguageModel/scripts/typegen/tests/test_config.py | 75 | def test_backend_rejects_unknown_tag(self): | CODE |
| LOW⚡ | …miniLanguageModel/scripts/typegen/tests/test_config.py | 79 | def test_backend_rejects_empty_prefix(self): | CODE |
| LOW⚡ | …miniLanguageModel/scripts/typegen/tests/test_config.py | 83 | def test_rejects_duplicate_backend_prefixes(self): | CODE |
| LOW⚡ | …miniLanguageModel/scripts/typegen/tests/test_config.py | 92 | def test_rejects_duplicate_backend_tags(self): | CODE |
| 72 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ng/Sources/ManifestParser/GHAMatrixSpecCollector.swift | 64 | print("Error while enumerating files: \(error.localizedDescription)") | CODE |
| MEDIUM | Firestore/Swift/Source/SwiftAPI/Pipeline/Pipeline.swift | 47 | /// print("Error in example 1: \(error)") | COMMENT |
| MEDIUM | Firestore/Swift/Source/SwiftAPI/Pipeline/Pipeline.swift | 60 | /// print("Error in example 2: \(error)") | COMMENT |
| MEDIUM | Firestore/Swift/Source/SwiftAPI/Pipeline/Pipeline.swift | 71 | /// print("Error in example 3: \(error)") | COMMENT |
| MEDIUM | …seAuth/Tests/SampleSwift/SwiftApiTests/TestsBase.swift | 52 | print("Error signing out: \(error)") | CODE |
| MEDIUM⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 280 | print("Error: Player not authenticated with Game Center.") | CODE |
| MEDIUM⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 287 | print("Error getting Game Center credential: \(error.localizedDescription)") | CODE |
| MEDIUM⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 292 | print("Error: Missing Game Center credential") | CODE |
| MEDIUM⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 299 | print("Error linking Game Center to Firebase: \(error.localizedDescription)") | CODE |
| MEDIUM⚡ | …cationExample/ViewControllers/AuthViewController.swift | 314 | print("Error logging into Game Center: \(error.localizedDescription)") | CODE |
| MEDIUM⚡ | …cationExample/ViewControllers/AuthViewController.swift | 330 | print("Error getting Game Center credential: \(error.localizedDescription)") | CODE |
| MEDIUM⚡ | …cationExample/ViewControllers/AuthViewController.swift | 335 | print("Error signing into Firebase with Game Center: \(error.localizedDescription)") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 415 | print("Error: No user logged in") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 421 | print("Error: Error refreshing token") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 433 | print("Error: Unable to access claims.") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 614 | print("Error: Action code continue URL is nil.") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 643 | print("Error: Action code continue URL is nil.") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 764 | print("Error: User must be logged in first.") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 863 | print("Error: No current user") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 895 | print("Error: No current user") | CODE |
| MEDIUM | …e/tvOSSample/tvOSSample/EmailLoginViewController.swift | 40 | print("Error signing in: \(error!)") | CODE |
| MEDIUM | …e/tvOSSample/tvOSSample/EmailLoginViewController.swift | 55 | print("Error signing up: \(error!)") | CODE |
| MEDIUM | …ple/tvOSSample/tvOSSample/DatabaseViewController.swift | 70 | print("Error grabbing value from Snapshot!") | CODE |
| MEDIUM | FirebaseRemoteConfig/Swift/RemoteConfig+Async.swift | 44 | /// print("Error listening for remote config updates: \(error)") | COMMENT |
| LOW | …nts/skills/style_and_commit/scripts/format_markdown.sh | 89 | except Exception as e: | CODE |
| LOW | …imulator-test-recording/scripts/run_test_and_record.sh | 59 | except Exception: | CODE |
| LOW | scripts/xcresult_logs.py | 75 | except Exception as e: | CODE |
| MEDIUM | …ts/create_spec_repo/Sources/SpecRepoBuilder/main.swift | 318 | print("Error: cannot find \(sdk_repo_path).") | CODE |
| MEDIUM | …ts/create_spec_repo/Sources/SpecRepoBuilder/main.swift | 332 | print("Error: cannot determine if \(dir.path) is a directory or not.") | CODE |
| MEDIUM | …ts/create_spec_repo/Sources/SpecRepoBuilder/main.swift | 348 | print("Error while enumerating files \(repoPath): \(error.localizedDescription)") | CODE |
| MEDIUM | …ts/create_spec_repo/Sources/SpecRepoBuilder/main.swift | 353 | print("Error occurred while removing \(repoPath)/\(sdkRepoName): \(error)") | CODE |
| LOW | .github/workflows/_build.yml | 120 | except Exception as error: | CODE |
| MEDIUM | .github/workflows/_build.yml | 121 | print(f"Error setting env vars: {error}") | CODE |
| LOW | .github/workflows/_spm.yml | 105 | except Exception as error: | CODE |
| MEDIUM | .github/workflows/_spm.yml | 106 | print(f"Error setting env vars: {error}") | CODE |
| LOW | .github/workflows/_spm.yml | 163 | except Exception as error: | CODE |
| MEDIUM | .github/workflows/_spm.yml | 164 | print(f"Error setting env vars: {error}") | CODE |
| MEDIUM | FirebaseStorage/Tests/Unit/StorageTestHelpers.swift | 55 | print("Error \(error)") | CODE |
| MEDIUM | FirebaseAI/Tests/Unit/APITests.swift | 98 | print("Error generating content: \(error)") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cmake/external/leveldb_patch.py | 94 | CODE | |
| LOW | GeminiLanguageModel/scripts/typegen/upgrade_spec.py | 172 | CODE | |
| LOW | GeminiLanguageModel/scripts/typegen/upgrade_spec.py | 269 | CODE | |
| LOW | GeminiLanguageModel/scripts/typegen/upgrade_spec.py | 291 | CODE | |
| LOW | …niLanguageModel/scripts/typegen/swift_typegen/merge.py | 26 | CODE | |
| LOW | …niLanguageModel/scripts/typegen/swift_typegen/merge.py | 172 | CODE | |
| LOW | …niLanguageModel/scripts/typegen/swift_typegen/merge.py | 247 | CODE | |
| LOW | …niLanguageModel/scripts/typegen/swift_typegen/merge.py | 308 | CODE | |
| LOW | …niLanguageModel/scripts/typegen/swift_typegen/merge.py | 194 | CODE | |
| LOW | …niLanguageModel/scripts/typegen/swift_typegen/merge.py | 270 | CODE | |
| LOW | …niLanguageModel/scripts/typegen/swift_typegen/graph.py | 76 | CODE | |
| LOW | …nguageModel/scripts/typegen/swift_typegen/processor.py | 29 | CODE | |
| LOW | …nguageModel/scripts/typegen/swift_typegen/processor.py | 197 | CODE | |
| LOW | …iLanguageModel/scripts/typegen/swift_typegen/output.py | 140 | CODE | |
| LOW | …iniLanguageModel/scripts/typegen/swift_typegen/docc.py | 120 | CODE | |
| LOW | …miniLanguageModel/scripts/typegen/tests/test_config.py | 101 | CODE | |
| LOW | …niLanguageModel/scripts/typegen/tests/test_pipeline.py | 48 | CODE | |
| LOW | Firestore/Protos/build_protos.py | 340 | CODE | |
| LOW | Firestore/Protos/build_protos.py | 410 | CODE | |
| LOW | scripts/xcresult_logs.py | 188 | CODE | |
| LOW | scripts/check_test_inclusion.py | 48 | CODE | |
| LOW | scripts/check_test_inclusion.py | 71 | CODE | |
| LOW | scripts/make_release_notes.py | 248 | CODE | |
| LOW | scripts/cpplint.py | 946 | CODE | |
| LOW | scripts/cpplint.py | 1652 | CODE | |
| LOW | scripts/cpplint.py | 1680 | CODE | |
| LOW | scripts/cpplint.py | 1762 | CODE | |
| LOW | scripts/cpplint.py | 1993 | CODE | |
| LOW | scripts/cpplint.py | 2115 | CODE | |
| LOW | scripts/cpplint.py | 2462 | CODE | |
| LOW | scripts/cpplint.py | 3267 | CODE | |
| LOW | scripts/cpplint.py | 3538 | CODE | |
| LOW | scripts/cpplint.py | 3609 | CODE | |
| LOW | scripts/cpplint.py | 3663 | CODE | |
| LOW | scripts/cpplint.py | 3791 | CODE | |
| LOW | scripts/cpplint.py | 4149 | CODE | |
| LOW | scripts/cpplint.py | 4227 | CODE | |
| LOW | scripts/cpplint.py | 4493 | CODE | |
| LOW | scripts/cpplint.py | 4620 | CODE | |
| LOW | scripts/cpplint.py | 4770 | CODE | |
| LOW | scripts/cpplint.py | 5169 | CODE | |
| LOW | scripts/cpplint.py | 5588 | CODE | |
| LOW | scripts/cpplint.py | 5922 | CODE | |
| LOW | scripts/cpplint.py | 5950 | CODE | |
| LOW | scripts/cpplint.py | 6363 | CODE | |
| LOW | scripts/cpplint.py | 6576 | CODE | |
| LOW | scripts/cpplint.py | 6678 | CODE | |
| LOW | scripts/cpplint.py | 1182 | CODE | |
| LOW | scripts/cpplint.py | 1366 | CODE | |
| LOW | scripts/cpplint.py | 1561 | CODE | |
| LOW | scripts/cpplint.py | 1926 | CODE | |
| LOW | scripts/cpplint.py | 3012 | CODE | |
| LOW | scripts/cpplint.py | 3069 | CODE | |
| LOW | scripts/api_diff_report/api_diff_report.py | 67 | CODE | |
| LOW | scripts/api_diff_report/api_diff_report.py | 145 | CODE | |
| LOW | scripts/api_diff_report/api_diff_report.py | 170 | CODE | |
| LOW | scripts/api_diff_report/api_diff_report.py | 202 | CODE | |
| LOW | scripts/api_diff_report/pr_commenter.py | 40 | CODE | |
| LOW | scripts/nanopb/proto_generator.py | 220 | CODE | |
| LOW | scripts/nanopb/proto_generator.py | 320 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | cmake/external/leveldb_patch.py | 61 | # Create a stamp file so the patch isn't applied twice. | COMMENT |
| MEDIUM | Firestore/Protos/build_protos.py | 133 | # Create a temporary file to which to write the tweaked script. | STRING |
| MEDIUM | …zingResources/Serializer/Corpus/ConvertTextToBinary.sh | 39 | # Create a folder to write binary protos to. This is our corpus. | COMMENT |
| MEDIUM | …imulator-test-recording/scripts/run_test_and_record.sh | 92 | # Create a dedicated build command | COMMENT |
| MEDIUM | scripts/configure_test_keychain.sh | 36 | # Create a test keychain. | COMMENT |
| MEDIUM⚡ | scripts/add_copyright.sh | 36 | # Define the base branch (defaulting to main). | COMMENT |
| MEDIUM | scripts/xcresult_logs.py | 62 | # Create a symbolic link to the xcresult bundle in a deterministic directory | COMMENT |
| MEDIUM | scripts/cpplint.py | 1396 | # Create a testcase for each file | COMMENT |
| MEDIUM | scripts/cpplint.py | 6005 | # The following function is just a speed up, no semantics are changed. | STRING |
| MEDIUM | scripts/check_firestore_symbols.sh | 77 | # Create a temporary directory for the test package. The test package defines an | COMMENT |
| MEDIUM | scripts/check_firestore_symbols.sh | 88 | # Create the package's subdirectories. | COMMENT |
| MEDIUM | .github/workflows/_build.yml | 146 | # This file is used as a template for other workflows, so | COMMENT |
| MEDIUM | .github/actions/testing_report_generation/app.rb | 148 | # Create a new issue if there exists failed workflows. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …iLanguageModel/scripts/typegen/swift_typegen/config.py | 121 | Returns the configured backend for a schema prefix. Args: prefix: Schema name prefix. Retu | STRING |
| HIGH | …iLanguageModel/scripts/typegen/swift_typegen/config.py | 142 | Loads generator configuration from a YAML overrides file. Args: path: Path to the YAML overrides fi | STRING |
| HIGH | …iLanguageModel/scripts/typegen/swift_typegen/config.py | 183 | Parses one generatorConfig.backends entry. Args: entry: A mapping with 'prefix' and 'tag' keys. Return | STRING |
| HIGH | …anguageModel/scripts/typegen/swift_typegen/pipeline.py | 70 | Loads the generator configuration from the overrides YAML file. Args: overrides_file: Path to the overrides | STRING |
| HIGH | …anguageModel/scripts/typegen/swift_typegen/pipeline.py | 91 | Selects the backends to strip and merge, in merge order. Merge order is always BACKEND_TAGS order (Developer API fi | STRING |
| HIGH | …anguageModel/scripts/typegen/swift_typegen/pipeline.py | 123 | Loads `components.schemas` from an OpenAPI specification file. Args: openapi_spec: Path to the OpenAPI spec | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Crashlytics/ProtoSupport/generate_crashlytics_protos.sh | 18 | # Example usage: | COMMENT |
| LOW | …restore/Swift/Source/SwiftAPI/Firestore+Pipeline.swift | 31 | /// Example usage: | COMMENT |
| LOW | Firestore/Swift/Source/SwiftAPI/Pipeline/Pipeline.swift | 618 | /// Example usage: | COMMENT |
| LOW | Firestore/Swift/Source/SwiftAPI/Pipeline/Pipeline.swift | 685 | /// Example usage: | COMMENT |
| LOW | …ift/Source/SwiftAPI/Pipeline/Aggregates/CountAll.swift | 21 | /// Example usage: | COMMENT |
| LOW | …/Source/SwiftAPI/Pipeline/Expressions/Expression.swift | 2601 | /// Example usage: | COMMENT |
| LOW | …/Source/SwiftAPI/Pipeline/Expressions/Expression.swift | 2625 | /// Example usage: | COMMENT |
| LOW | …/Source/SwiftAPI/Pipeline/Expressions/Expression.swift | 2646 | /// Example usage: | COMMENT |
| LOW | …Swift/Source/SwiftAPI/Pipeline/Expressions/Field.swift | 71 | /// Example usage: | COMMENT |
| LOW | …Swift/Source/SwiftAPI/Pipeline/Expressions/Field.swift | 93 | /// Example usage: | COMMENT |
| LOW | …I/Pipeline/Expressions/FunctionExpressions/Score.swift | 26 | /// Example usage: | COMMENT |
| LOW | …rebaseAuth/Tests/SampleSwift/generate_refresh_token.sh | 23 | # Usage: | COMMENT |
| LOW | …eInAppMessaging/ProtoSupport/generate_nanopb_protos.sh | 18 | # Example usage: | COMMENT |
| LOW | scripts/rotate_secrets.sh | 19 | # Usage: | COMMENT |
| LOW | scripts/style.sh | 17 | # Usage: | COMMENT |
| LOW | scripts/ai-infra/export_repo_skills.sh | 22 | # Usage: | COMMENT |
| LOW | scripts/nanopb/generate_protos.sh | 18 | # Example usage: | COMMENT |
| LOW | FirebaseMessaging/ProtoSupport/generate_protos.sh | 18 | # Example usage: | COMMENT |
| LOW | FirebasePerformance/ProtoSupport/generate_protos.sh | 18 | # Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …niAPIDataModels/GenerateContent/GenerationConfig.swift | 440 | /// the model to perceive more detail, which can lead to a more nuanced | COMMENT |
| MEDIUM | …GenerateContent/GenerationConfig+MediaResolution.swift | 29 | /// the model to perceive more detail, which can lead to a more nuanced | COMMENT |
| MEDIUM | Firestore/Example/Tests/Util/FSTIntegrationTestCase.mm | 319 | // which testing environment we're using. Essentially `setUpDefaults` determines | COMMENT |
| MEDIUM | Firestore/Example/Tests/API/FSTUserDataReaderTests.mm | 118 | // See comments in FSTUserDataReader regarding handling of signed char. Essentially, signed | COMMENT |
| MEDIUM | Firestore/third_party/re2/re2/prefilter_tree.h | 114 | // These are all the nodes formed by Compile. Essentially, there is | COMMENT |
| MEDIUM | …restore/Swift/Source/SwiftAPI/Firestore+Pipeline.swift | 46 | /// - They do not utilize or update the local SDK cache. | COMMENT |
| MEDIUM | FirebaseDatabase/Sources/FViewProcessor.m | 674 | // Essentially we'll just get our existing server cache for the affected | COMMENT |
| LOW | scripts/cpplint.py | 3059 | # Here we can just use a shallow copy since we are the last | COMMENT |
| MEDIUM | FirebaseAI/Sources/Types/Public/ThinkingConfig.swift | 17 | /// Gemini 2.5 series models and newer utilize a thinking process before generating a response. This | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | GeminiLanguageModel/scripts/typegen/upgrade_spec.py | 18 | CODE | |
| LOW | …niLanguageModel/scripts/typegen/swift_typegen/merge.py | 17 | CODE | |
| LOW | …iLanguageModel/scripts/typegen/swift_typegen/config.py | 17 | CODE | |
| LOW | …iLanguageModel/scripts/typegen/swift_typegen/models.py | 17 | CODE | |
| LOW | …iLanguageModel/scripts/typegen/swift_typegen/render.py | 17 | CODE | |
| LOW | …iLanguageModel/scripts/typegen/swift_typegen/naming.py | 17 | CODE | |
| LOW | …niLanguageModel/scripts/typegen/swift_typegen/graph.py | 17 | CODE | |
| LOW | …nguageModel/scripts/typegen/swift_typegen/processor.py | 17 | CODE | |
| LOW | …miniLanguageModel/scripts/typegen/swift_typegen/cli.py | 17 | CODE | |
| LOW | …anguageModel/scripts/typegen/swift_typegen/pipeline.py | 17 | CODE | |
| LOW | …iLanguageModel/scripts/typegen/swift_typegen/output.py | 17 | CODE | |
| LOW | …iniLanguageModel/scripts/typegen/swift_typegen/docc.py | 17 | CODE | |
| LOW | …iLanguageModel/scripts/typegen/tests/test_processor.py | 15 | CODE | |
| LOW | Firestore/Protos/build_protos.py | 20 | CODE | |
| LOW | Firestore/Protos/nanopb_cpp_generator.py | 20 | CODE | |
| LOW | Firestore/Protos/lib/pretty_printing.py | 17 | CODE | |
| LOW | Firestore/Protos/lib/pretty_printing.py | 19 | CODE | |
| LOW | scripts/check_test_inclusion.py | 20 | CODE | |
| LOW | scripts/lib/checker.py | 15 | CODE | |
| LOW | scripts/nanopb/nanopb_objc_generator.py | 20 | CODE | |
| LOW | scripts/nanopb/proto_generator.py | 28 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | scripts/add_copyright.sh | 27 | # Check if git is available. | COMMENT |
| LOW⚡ | scripts/add_copyright.sh | 39 | # Check if BASE_BRANCH exists. | COMMENT |
| LOW | scripts/add_copyright.sh | 91 | # Check if file already has copyright. | COMMENT |
| LOW | scripts/add_copyright.sh | 115 | # Check if first line starts with #! | COMMENT |
| LOW | scripts/check_secrets.sh | 18 | # Check if secrets are available for multiple CI's | COMMENT |
| LOW | scripts/cpplint.py | 2993 | # Check if token is an unmatched '<'. | COMMENT |
| LOW | scripts/cpplint.py | 3621 | # Check if the // may be in quotes. If so, ignore it | STRING |
| LOW | scripts/cpplint.py | 4576 | # Check if the body is empty | STRING |
| LOW | scripts/cpplint.py | 4867 | # Check if the line is a header guard. | STRING |
| LOW | scripts/cpplint.py | 5302 | # Check if people are using the verboten C basic types. The only exception | STRING |
| LOW | scripts/cpplint.py | 5314 | # Check if some verboten operator overloading is going on | STRING |
| LOW | scripts/cpplint.py | 5490 | # Check if some verboten C functions are being used. | STRING |
| LOW | scripts/cpplint.py | 6168 | # Set end_col to check whole lines after we are done with the | STRING |
| LOW | scripts/check_firestore_symbols.sh | 45 | # Check if the given repo path is valid. | COMMENT |
| LOW | scripts/check_firestore_symbols.sh | 58 | # Check if the given xcframework path is valid. | COMMENT |
| LOW | scripts/zip/zip_quickstart_test.sh | 45 | # Check if the scheme exists before attempting to build. | COMMENT |
| LOW | .github/actions/testing_report_generation/app.rb | 134 | # Check if there exists any cron jobs. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 278 | // Step 1: Ensure Game Center Authentication | COMMENT |
| LOW⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 284 | // Step 2: Get Game Center Credential for Linking | COMMENT |
| LOW⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 296 | // Step 3: Link Credential with Current Firebase User | COMMENT |
| LOW⚡ | …cationExample/ViewControllers/AuthViewController.swift | 310 | // Step 1: System Game Center Login | COMMENT |
| LOW⚡ | …cationExample/ViewControllers/AuthViewController.swift | 325 | // Step 2: Link to Firebase | COMMENT |
| LOW | FirebaseDatabase/Tests/Unit/FSyncPointTests.m | 190 | // Step 1: find location range in expected | COMMENT |
| LOW | FirebaseDatabase/Tests/Unit/FSyncPointTests.m | 203 | // Step 2: foreach in actual, asserting location | COMMENT |
| LOW | FirebaseDatabase/Tests/Unit/FSyncPointTests.m | 215 | // Step 3: slice each array | COMMENT |
| LOW | …baseDatabase/Sources/Core/View/Filter/FLimitedFilter.m | 151 | // We need to check if the `nextChild` is actually in range before | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 278 | // Step 1: Ensure Game Center Authentication | COMMENT |
| LOW⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 284 | // Step 2: Get Game Center Credential for Linking | COMMENT |
| LOW⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 296 | // Step 3: Link Credential with Current Firebase User | COMMENT |
| LOW⚡ | …cationExample/ViewControllers/AuthViewController.swift | 310 | // Step 1: System Game Center Login | COMMENT |
| LOW⚡ | …cationExample/ViewControllers/AuthViewController.swift | 325 | // Step 2: Link to Firebase | COMMENT |
| LOW | FirebaseDatabase/Tests/Unit/FSyncPointTests.m | 190 | // Step 1: find location range in expected | COMMENT |
| LOW | FirebaseDatabase/Tests/Unit/FSyncPointTests.m | 203 | // Step 2: foreach in actual, asserting location | COMMENT |
| LOW | FirebaseDatabase/Tests/Unit/FSyncPointTests.m | 215 | // Step 3: slice each array | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ore/Internal/Tests/Unit/HeartbeatControllerTests.swift | 0 | { "version": 2, "heartbeats": [ { "agent": "dummy_agent", "dates": ["2021-11-01"] } ] } | STRING |
| HIGH | …seCore/Internal/Tests/Unit/HeartbeatsBundleTests.swift | 0 | { "version": 2, "heartbeats": [ { "agent": "dummy_agent", "dates": ["2021-11-01"] } ] } | STRING |
| HIGH | …sts/Integration/HeartbeatLoggingIntegrationTests.swift | 0 | { "version": 2, "heartbeats": [ { "agent": "dummy_agent", "dates": ["2021-11-01"] } ] } | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ReleaseTooling/Sources/ZipBuilder/main.swift | 326 | let tempDir = FileManager.default.temporaryDirectory(withName: "placeholder") | STRING |
| LOW | …restore/Swift/Tests/Integration/PipelineApiTests.swift | 219 | // "mother": "Jane Doe" | COMMENT |
| LOW | …restore/Swift/Tests/Integration/PipelineApiTests.swift | 230 | // "mother": "Jane Doe" | COMMENT |
| LOW | …wift/Tests/Integration/BsonTypesIntegrationTests.swift | 981 | "b": ["key": "placeholder"], | CODE |
| LOW | FirebaseAuth/Tests/Unit/UserTests.swift | 33 | let kPhoneNumber = "555-1234" | CODE |
| LOW | …ationExampleUITests/AuthenticationExampleUITests.swift | 98 | let testEmail = "test@test.com" | CODE |
| LOW | …ationExampleUITests/AuthenticationExampleUITests.swift | 129 | let testEmail = "test@test.com" | CODE |
| LOW | …ationExampleUITests/AuthenticationExampleUITests.swift | 160 | let testEmail = "test@test.com" | CODE |
| LOW | …ationExampleUITests/AuthenticationExampleUITests.swift | 257 | let testEmail = "test@test.com" | CODE |
| LOW | …ationExampleUITests/AuthenticationExampleUITests.swift | 299 | let testEmail = "test@test.com" | CODE |
| LOW | …ationExampleUITests/AuthenticationExampleUITests.swift | 323 | let testEmail = "test@test.com" | CODE |
| LOW | …seAI/Tests/TestApp/Tests/Integration/SchemaTests.swift | 158 | "The civic number and street name, for example, '123 Main Street'.") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | FirebaseDatabase/Sources/Core/FPersistentConnection.m | 1400 | // TODO: Add tests! | COMMENT |
| LOW⚡ | FirebaseRemoteConfig/Tests/Unit/RCNConfigContentTest.m | 252 | // TODO: Add test case once new eTag based logic is implemented. | COMMENT |
| LOW⚡ | FirebaseRemoteConfig/Tests/Unit/RCNConfigContentTest.m | 256 | // TODO: Add test case once new eTag based logic is implemented. | COMMENT |
| LOW⚡ | FirebaseRemoteConfig/Tests/Unit/RCNConfigContentTest.m | 260 | // TODO: Add test case once new eTag based logic is implemented. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | Firestore/core/src/util/byte_stream_apple.mm | 46 | // Still not found, or the buffer happens to be of the sized as requested. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | FirebaseAI/Sources/GenerativeModel.swift | 124 | /// [zero-shot](https://developers.google.com/machine-learning/glossary/generative#zero-shot-prompting) | STRING |
| MEDIUM | FirebaseAI/Sources/GenerativeModel.swift | 126 | /// [few-shot](https://developers.google.com/machine-learning/glossary/generative#few-shot-prompting) | STRING |
| MEDIUM | FirebaseAI/Sources/GenerativeModel.swift | 153 | /// [zero-shot](https://developers.google.com/machine-learning/glossary/generative#zero-shot-prompting) | STRING |
| MEDIUM | FirebaseAI/Sources/GenerativeModel.swift | 155 | /// [few-shot](https://developers.google.com/machine-learning/glossary/generative#few-shot-prompting) | STRING |
| MEDIUM | FirebaseAI/Sources/GenerativeModel.swift | 189 | /// [zero-shot](https://developers.google.com/machine-learning/glossary/generative#zero-shot-prompting) | STRING |
| MEDIUM | FirebaseAI/Sources/GenerativeModel.swift | 191 | /// [few-shot](https://developers.google.com/machine-learning/glossary/generative#few-shot-prompting) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/infra.codeql.yml | 58 | # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how | COMMENT |