A blazingly fast multi-language serialization framework for idiomatic domain objects, schema IDL, and cross-language data exchange.
This report summarizes scanner evidence for apache/fory, a Java project with 4,569 GitHub stars. SynthScan examined 907,232 lines of code across 2626 source files, recording 3383 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 5.0 (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? 2730 finding(s).
Are imports declared and package/API names verified? 483 finding(s).
Are wrappers, guards, and repeated structures necessary? 1642 finding(s).
Which changes need focused human review? 3383 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 3383 distinct pattern matches across 23 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 | python/setup.py | 68 | def _is_retryable_network_error(output: str) -> bool: | CODE |
| LOW | python/pyfory/registry.py | 192 | def _accepts_n_positional_args(factory, nargs: int) -> bool: | CODE |
| LOW | python/pyfory/registry.py | 332 | def get_or_create_encoded_meta_string(self, data: bytes, hashcode: int) -> EncodedMetaString: | CODE |
| LOW | python/pyfory/registry.py | 972 | def _subclass_serializer_type(self, cls): | CODE |
| LOW | python/pyfory/registry.py | 1085 | def get_registered_user_type_id(self, cls): | CODE |
| LOW | python/pyfory/registry.py | 1097 | def _load_metabytes_to_type_info(self, ns_metabytes, type_metabytes): | CODE |
| LOW | python/pyfory/registry.py | 1216 | def _get_nonexist_enum_type_info(self): | CODE |
| LOW | python/pyfory/registry.py | 1261 | def _write_unknown_struct_type_info(self, write_context, type_def): | CODE |
| LOW | python/pyfory/registry.py | 1299 | def _build_type_info_from_typedef(self, type_def): | CODE |
| LOW | python/pyfory/registry.py | 1317 | def _local_type_info_for_typedef(self, type_def): | CODE |
| LOW | python/pyfory/registry.py | 1358 | def _remote_type_def_cache_key(self, type_def): | CODE |
| LOW | python/pyfory/registry.py | 1389 | def _read_and_build_type_info(self, buffer, expected_typeinfo=None): | CODE |
| LOW | python/pyfory/policy.py | 469 | def check_restored_reduced_object(self, obj, **kwargs): | CODE |
| LOW | python/pyfory/converter.py | 94 | def supports_compatible_scalar_conversion(remote_type_id: int, local_type_id: int) -> bool: | CODE |
| LOW | python/pyfory/converter.py | 214 | def _compatible_decimal_from_parts(scale: int, unscaled: int) -> decimal.Decimal: | CODE |
| LOW | python/pyfory/converter.py | 291 | def _decimal_from_float_value(value: float) -> decimal.Decimal: | CODE |
| LOW | python/pyfory/converter.py | 436 | def compatible_scalar_convert(value, remote_type_id: int, local_type_id: int): | CODE |
| LOW | python/pyfory/converter.py | 448 | def _read_compatible_scalar_value(read_context, remote_serializer, remote_type_id: int, local_type_id: int): | CODE |
| LOW | python/pyfory/types.py | 71 | def _is_special_compiled_primitive_type(type_) -> bool: | CODE |
| LOW | python/pyfory/types.py | 193 | def _is_special_compiled_primitive_array_type(type_) -> bool: | CODE |
| LOW | python/pyfory/context.py | 107 | def write_encoded_meta_string(self, buffer, encoded_meta_string: EncodedMetaString): | CODE |
| LOW | python/pyfory/context.py | 562 | def reserve_unbacked_container_items(self, num_items): | CODE |
| LOW | python/pyfory/context.py | 568 | def _raise_unbacked_container_items(self, num_items, remaining): | CODE |
| LOW | python/pyfory/type_util.py | 346 | def get_homogeneous_tuple_elem_type(type_or_args): | CODE |
| LOW | python/pyfory/type_util.py | 534 | def _resolve_static_module_attr(module, attr_name): | CODE |
| LOW | python/pyfory/type_util.py | 541 | def _resolve_static_module_qualname(module, qualname, policy): | CODE |
| LOW⚡ | python/pyfory/collection.py | 54 | def _raise_invalid_map_chunk_size(chunk_size, remaining): | CODE |
| LOW⚡ | python/pyfory/collection.py | 58 | def _ensure_container_allocation(read_context, count): | CODE |
| LOW⚡ | python/pyfory/collection.py | 64 | def _settle_unbacked_container_items(read_context, completed, start_index): | CODE |
| LOW | python/pyfory/collection.py | 174 | def _write_same_type_has_null(self, write_context, value, serializer): | CODE |
| LOW | python/pyfory/collection.py | 269 | def _read_same_type_no_ref_guarded(self, read_context, length, collection_, serializer): | CODE |
| LOW | python/pyfory/collection.py | 774 | def _create_collection_serializer(type_resolver, cls): | CODE |
| LOW | python/pyfory/collection.py | 787 | def _create_container_subclass_serializer(type_resolver, cls): | CODE |
| LOW | python/pyfory/serializer.py | 75 | def _resolve_validated_module_attr(policy, module_name, attr_name, is_local=False): | CODE |
| LOW | python/pyfory/serializer.py | 83 | def _resolve_validated_module_qualname(policy, module_name, qualname): | CODE |
| LOW | python/pyfory/serializer.py | 123 | def _is_local_receiver_static(obj): | CODE |
| LOW | python/pyfory/serializer.py | 128 | def _is_local_callable_static(obj): | CODE |
| LOW | python/pyfory/serializer.py | 156 | def _is_bound_method_value_static(obj): | CODE |
| LOW | python/pyfory/serializer.py | 192 | def _authorize_callable_materialization(policy, callable_type, **kwargs): | CODE |
| LOW | python/pyfory/serializer.py | 197 | def _require_registered_reduce_type(type_resolver, callable_obj): | CODE |
| LOW | python/pyfory/serializer.py | 231 | def _resolve_validated_bound_method(policy, obj, method_name, is_local): | CODE |
| LOW | python/pyfory/serializer.py | 412 | def _can_use_small_decimal_encoding(unscaled: int) -> bool: | CODE |
| LOW | python/pyfory/serializer.py | 623 | def _build_pyarray_typecode_tables(): | CODE |
| LOW | python/pyfory/serializer.py | 731 | def fory_array_serializer_type(type_id): | CODE |
| LOW | python/pyfory/serializer.py | 781 | def _build_pyarray_serializer(self, type_resolver, type_id): | CODE |
| LOW | python/pyfory/serializer.py | 788 | def _build_ndarray_serializer(self, type_resolver, type_id): | CODE |
| LOW | python/pyfory/serializer.py | 1012 | def _object_ndarray_element_count(shape): | CODE |
| LOW | python/pyfory/struct.py | 358 | def _is_dynamic_nullable_default(type_hint: type) -> bool: | CODE |
| LOW | python/pyfory/struct.py | 530 | def resolve_missing_field_default( | CODE |
| LOW | python/pyfory/struct.py | 579 | def _resolve_missing_field_default(dc_field, type_resolver, type_hints): | CODE |
| LOW | python/pyfory/struct.py | 583 | def build_default_values_factory(type_resolver, type_hints, dc_fields=()): | CODE |
| LOW | python/pyfory/struct.py | 729 | def _build_missing_field_defaults(self): | CODE |
| LOW | python/pyfory/struct.py | 1275 | def compute_struct_fingerprint(type_resolver, field_names, serializers, nullable_map=None, field_infos_list=None): | CODE |
| LOW | python/pyfory/struct.py | 1346 | def _normalize_schema_fingerprint_type_id(type_id): | CODE |
| LOW | python/pyfory/struct.py | 1365 | def _leaf_schema_fingerprint_type_id(type_resolver, type_hint): | CODE |
| LOW | python/pyfory/struct.py | 1383 | def _build_schema_fingerprint_type(type_resolver, type_hint, nullable, track_ref, include_ref, include_nullable=True): | CODE |
| LOW | python/pyfory/tests/test_ref_tracking.py | 102 | def test_collection_list_mixed_type_shared_reference(xlang): | CODE |
| LOW | python/pyfory/tests/test_ref_tracking.py | 113 | def test_collection_tuple_shared_reference_python_mode(): | CODE |
| LOW | python/pyfory/tests/test_ref_tracking.py | 123 | def test_collection_set_element_alias_with_outer_reference_python_mode(): | CODE |
| LOW | python/pyfory/tests/test_ref_tracking.py | 134 | def test_map_shared_value_aliases_with_none_key(xlang): | CODE |
| 1406 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .asf.yaml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | Package.swift | 1 | // swift-tools-version: 6.0 | COMMENT |
| LOW | .spi.yml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | licenserc.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | .markdownlint.yml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/struct_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/array_primitive.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/skip.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/type_def.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/graph_memory_budget_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/deserialization_hardening_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/slice.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/map_primitive_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/union_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/field_serializer.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/fory.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/fory.go | 541 | // Example: | COMMENT |
| LOW | go/fory/fory.go | 581 | func (f *Fory) Reset() { | COMMENT |
| LOW | go/fory/fory.go | 761 | COMMENT | |
| LOW | go/fory/type_resolver_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/time.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/util_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/field_info.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/field_info.go | 581 | Ref bool | COMMENT |
| LOW | go/fory/stream.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/types.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/decimal.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/test_helper_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/buffer_bench_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/string_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/fory_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/util.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/util.go | 81 | // Float32frombits returns the floating-point number corresponding | COMMENT |
| LOW | go/fory/endian_big.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/optional_serializer.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/serializer.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/serializer.go | 21 | "reflect" | COMMENT |
| LOW | go/fory/serializer.go | 41 | // - refMode: controls reference/null handling behavior: | COMMENT |
| LOW | go/fory/serializer.go | 61 | // type information validation, and delegating to ReadData for the actual data deserialization. | COMMENT |
| LOW | go/fory/serializer.go | 81 | COMMENT | |
| LOW | go/fory/serializer.go | 101 | // - typeInfo: pre-read type information; do NOT read type info again from buffer | COMMENT |
| LOW | go/fory/serializer.go | 121 | // | COMMENT |
| LOW | go/fory/ref_override_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/map_set_null_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/ref_resolver.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/writer.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/buffer_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/buffer.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/enum_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/evolving.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/doc.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/extension.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/tag_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/primitive.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/struct_init.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/primitive_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/slice_primitive_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/type_resolver.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/type_def_test.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | go/fory/reader.go | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| 977 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …ache/fory/integration_tests/JpmsFieldAccessorTest.java | 45 | org.apache.fory.integration_tests.Test.verifyKotlinJson(); | CODE |
| CRITICAL | …/org/apache/fory/idl_tests/ScalaIdlRoundTripTest.scala | 175 | enumListInfo.genericType.getTypeParameter0.getTypeRef.getTypeExtMeta.typeId() shouldBe | CODE |
| CRITICAL | …/java/org/apache/fory/GuavaOptionalDependencyTest.java | 195 | byte[] bytes = fory.serialize(com.google.common.collect.ImmutableList.of("fory")); | CODE |
| CRITICAL | …/java/org/apache/fory/GuavaOptionalDependencyTest.java | 197 | if (!com.google.common.collect.ImmutableList.of("fory").equals(value)) { | CODE |
| CRITICAL | …t/java/org/apache/fory/codegen/CodegenContextTest.java | 117 | org.apache.fory.codegen.javalangnameconflict.Object.class.getPackage().getName()); | CODE |
| CRITICAL | …st/java/org/apache/fory/xlang/PyCrossLanguageTest.java | 498 | org.apache.fory.serializer.DeferedLazySerializer.class.getDeclaredMethod("getSerializer"); | CODE |
| CRITICAL | …src/test/java/org/apache/fory/xlang/XlangTestBase.java | 1037 | struct1.union = org.apache.fory.type.union.Union2.ofT1("hello"); | CODE |
| CRITICAL | …src/test/java/org/apache/fory/xlang/XlangTestBase.java | 1041 | struct2.union = org.apache.fory.type.union.Union2.ofT2(42L); | CODE |
| CRITICAL | …t/java/org/apache/fory/resolver/ClassResolverTest.java | 1219 | org.apache.fory.test.bean.Foo.create(), org.apache.fory.test.bean.Foo.create()); | CODE |
| CRITICAL | …/java/org/apache/fory/resolver/DisallowedListTest.java | 58 | java.lang.invoke.MethodHandle.class.getName(), | CODE |
| CRITICAL | …/java/org/apache/fory/resolver/DisallowedListTest.java | 59 | java.lang.invoke.MethodHandles.Lookup.class.getName(), | CODE |
| CRITICAL | …/main/java/org/apache/fory/serializer/FieldGroups.java | 282 | org.apache.fory.serializer.collection.PrimitiveListSerializers.createArraySerializer( | CODE |
| CRITICAL | …main/java/org/apache/fory/reflect/ReflectionUtils.java | 719 | org.apache.fory.collection.Collections.newClassKeyCacheMap(); | CODE |
| CRITICAL | …/main/java/org/apache/fory/resolver/ClassResolver.java | 1627 | org.apache.fory.serializer.CodegenSerializer.loadCodegenSerializer( | CODE |
| CRITICAL | …/main/java/org/apache/fory/resolver/XtypeResolver.java | 1068 | new org.apache.fory.serializer.BufferSerializers.ByteBufferSerializer( | CODE |
| CRITICAL | …/main/java/org/apache/fory/resolver/XtypeResolver.java | 1076 | new org.apache.fory.serializer.BufferSerializers.ByteBufferSerializer( | CODE |
| CRITICAL | …ory/annotation/processing/ForyStructProcessorTest.java | 1186 | org.apache.fory.type.Float16.fromBits((short) 0x0000), | CODE |
| CRITICAL | …ory/annotation/processing/ForyStructProcessorTest.java | 1187 | org.apache.fory.type.Float16.fromBits((short) 0x3C00))); | CODE |
| CRITICAL | …/org/apache/fory/format/type/ArrowSchemaConverter.java | 118 | new org.apache.arrow.vector.types.pojo.Field( | CODE |
| CRITICAL | …/org/apache/fory/format/type/ArrowSchemaConverter.java | 123 | return new org.apache.arrow.vector.types.pojo.Field( | CODE |
| CRITICAL | …/org/apache/fory/format/type/ArrowSchemaConverter.java | 138 | return new org.apache.arrow.vector.types.pojo.Schema(arrowFields, forySchema.metadata()); | CODE |
| CRITICAL | …va/org/apache/fory/json/codegen/Utf8WriterCodegen.java | 502 | .append("org.apache.fory.memory.LittleEndian.putInt64(prefixBuffer") | CODE |
| CRITICAL | …va/org/apache/fory/json/codegen/Utf8WriterCodegen.java | 510 | code.append("org.apache.fory.memory.LittleEndian.putInt64(prefixBuffer") | CODE |
| CRITICAL | …/org/apache/fory/json/resolver/JsonSharedRegistry.java | 1729 | long hash = org.apache.fory.json.meta.JsonFieldNameHash.hash(name); | CODE |
| CRITICAL | …/org/apache/fory/json/resolver/JsonSharedRegistry.java | 1875 | long hash = org.apache.fory.json.meta.JsonFieldNameHash.hash(name); | CODE |
| CRITICAL | …he/fory/json/kotlin/ksp/JavaSubtypeGenerationWriter.kt | 27 | append("@org.apache.fory.json.codec.GeneratedJsonSubtypeTable.Generation(") | CODE |
| CRITICAL | …/apache/fory/json/scala/ScalaJsonDerivationSuite.scala | 95 | @org.apache.fory.json.annotation.JsonCodec(valueCodec = classOf[TaggedStringCodec]) | CODE |
| CRITICAL⚡ | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 373 | @org.apache.fory.json.annotation.JsonCodec(elementCodec = classOf[LabeledIntCodec]) | CODE |
| CRITICAL⚡ | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 378 | @org.apache.fory.json.annotation.JsonCodec(elementCodec = classOf[BooleanLabelCodec]) | CODE |
| CRITICAL⚡ | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 382 | @org.apache.fory.json.annotation.JsonMixin(target = classOf[java.lang.Boolean]) | CODE |
| CRITICAL⚡ | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 383 | @org.apache.fory.json.annotation.JsonCodec(value = classOf[BooleanLabelCodec]) | CODE |
| CRITICAL⚡ | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 387 | @org.apache.fory.json.annotation.JsonCodec(elementCodec = classOf[BooleanLabelCodec]) | CODE |
| CRITICAL⚡ | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 389 | @org.apache.fory.json.annotation.JsonCodec(elementCodec = classOf[BooleanLabelCodec]) | CODE |
| CRITICAL⚡ | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 394 | @org.apache.fory.json.annotation.JsonCodec(value = classOf[WeekdayCodec]) day: Weekday.Value | CODE |
| CRITICAL | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 407 | @org.apache.fory.json.annotation.JsonCodec(valueCodec = classOf[TaggedStringCodec]) | CODE |
| CRITICAL | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 409 | @org.apache.fory.json.annotation.JsonCodec( | CODE |
| CRITICAL⚡ | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 426 | @org.apache.fory.json.annotation.JsonCodec(valueCodec = classOf[TaggedStringCodec]) | CODE |
| CRITICAL⚡ | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 428 | @org.apache.fory.json.annotation.JsonCodec( | CODE |
| CRITICAL⚡ | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 436 | @org.apache.fory.json.annotation.JsonCodec(elementCodec = classOf[TaggedStringCodec]) | CODE |
| CRITICAL⚡ | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 438 | @org.apache.fory.json.annotation.JsonCodec(contentCodec = classOf[TaggedStringCodec]) | CODE |
| CRITICAL⚡ | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 440 | @org.apache.fory.json.annotation.JsonCodec( | CODE |
| CRITICAL | …/scala/org/apache/fory/json/scala/ScalaJsonSuite.scala | 1609 | val ownerBytes = org.apache.fory.serializer.GraphMemoryEstimates.shallowObjectBytes( | CODE |
| CRITICAL | …ache/fory/json/scala/internal/ScalaTypeRefMacros.scala | 39 | return '{ org.apache.fory.reflect.TypeRef.of(classOf[scala.runtime.BoxedUnit]) } | CODE |
| CRITICAL⚡ | …ache/fory/json/scala/internal/ScalaTypeRefMacros.scala | 50 | org.apache.fory.reflect.TypeRef.ofDeclaredTypeArguments( | CODE |
| CRITICAL⚡ | …ache/fory/json/scala/internal/ScalaTypeRefMacros.scala | 55 | org.apache.fory.reflect.TypeRef.of($owner.asInstanceOf[AnyRef].getClass) | CODE |
| CRITICAL⚡ | …ache/fory/json/scala/internal/ScalaTypeRefMacros.scala | 62 | org.apache.fory.reflect.TypeRef.of( | CODE |
| CRITICAL⚡ | …ache/fory/json/scala/internal/ScalaTypeRefMacros.scala | 63 | org.apache.fory.reflect.TypeRef.newArrayType(component.getType), null, null, component | CODE |
| CRITICAL⚡ | …ache/fory/json/scala/internal/ScalaTypeRefMacros.scala | 69 | org.apache.fory.reflect.TypeRef.ofDeclaredTypeArguments( | CODE |
| CRITICAL⚡ | …ache/fory/json/scala/internal/ScalaTypeRefMacros.scala | 76 | case _ => '{ org.apache.fory.reflect.TypeRef.of($rawClass) } | CODE |
| CRITICAL | …he/fory/json/scala/internal/ScalaJsonCodecMacros.scala | 77 | val unknown = q"throw new _root_.org.apache.fory.json.ForyJsonException(${"Unknown Scala enum value"})" | CODE |
| CRITICAL | …he/fory/json/scala/internal/ScalaJsonCodecMacros.scala | 117 | new _root_.org.apache.fory.json.scala.internal.ScalaEnumCodec( | CODE |
| CRITICAL⚡ | …ache/fory/json/scala/internal/ScalaTypeRefMacros.scala | 43 | return q"_root_.org.apache.fory.reflect.TypeRef.of(classOf[_root_.scala.runtime.BoxedUnit])" | CODE |
| CRITICAL⚡ | …ache/fory/json/scala/internal/ScalaTypeRefMacros.scala | 52 | return q"_root_.org.apache.fory.reflect.TypeRef.ofDeclaredTypeArguments(classOf[_root_.scala.Enumeration#Value | CODE |
| CRITICAL⚡ | …ache/fory/json/scala/internal/ScalaTypeRefMacros.scala | 57 | return q"{ val component = $component; _root_.org.apache.fory.reflect.TypeRef.of(_root_.org.apache.fory.reflect. | CODE |
| CRITICAL⚡ | …ache/fory/json/scala/internal/ScalaTypeRefMacros.scala | 61 | q"_root_.org.apache.fory.reflect.TypeRef.of($clazz)" | CODE |
| CRITICAL⚡ | …ache/fory/json/scala/internal/ScalaTypeRefMacros.scala | 64 | q"_root_.org.apache.fory.reflect.TypeRef.ofDeclaredTypeArguments($clazz, null, _root_.java.util.Arrays.asList(.. | CODE |
| CRITICAL | …/apache/fory/scala/internal/ForySerializerMacros.scala | 1120 | org.apache.fory.util.DefaultValueUtils.getScalaDefaultValue( | CODE |
| CRITICAL | …/apache/fory/scala/internal/ForySerializerMacros.scala | 1314 | org.apache.fory.reflect.FieldAccessor.createAccessor( | CODE |
| CRITICAL | …/apache/fory/scala/internal/ForySerializerMacros.scala | 1365 | org.apache.fory.serializer.GraphMemoryEstimates.shallowObjectBytes(cls).toLong | CODE |
| CRITICAL | benchmarks/java/run.sh | 182 | BENCHMARK_REGEX="org.apache.fory.benchmark.XlangBenchmark.BM_(${SERIALIZERS})_(${DATA_TYPES})_(Serialize|Deserialize)" | CODE |
| 6 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/pyfory/tests/xlang_test_main.py | 1387 | # Group 2: Java sends null, Python receives null (like C++) | COMMENT |
| HIGH | python/pyfory/tests/xlang_test_main.py | 1423 | # Verify Group 2: Java sent null, Python receives null (like C++ with std::optional) | COMMENT |
| HIGH | python/pyfory/tests/xlang_test_main.py | 1355 | Java sends: Group 1 (non-nullable with values) + Group 2 (nullable with null) | STRING |
| HIGH | python/pyfory/tests/test_serializer.py | 980 | assert df2.equals(df) | CODE |
| HIGH | python/pyfory/format/columnar.py | 112 | """Append a value (can be None for null).""" | STRING |
| HIGH⚡ | compiler/fory_compiler/tests/test_generated_code.py | 710 | "registerGeneratedStruct(fory, _envelopeForySchema, id: null, name: 'demo.Envelope');" | STRING |
| HIGH⚡ | compiler/fory_compiler/tests/test_generated_code.py | 714 | "registerGeneratedEnum(fory, _envelopeKindForySchema, id: null, name: 'demo.Envelope.Kind');" | STRING |
| HIGH⚡ | compiler/fory_compiler/tests/test_generated_code.py | 718 | "fory.registerSerializer(Envelope_Choice, const _Envelope_ChoiceForySerializer(), id: null, name: 'demo.Envelope | STRING |
| HIGH | compiler/fory_compiler/tests/test_generated_code.py | 768 | assert "\n id: null," not in dart_output | STRING |
| HIGH | compiler/fory_compiler/tests/test_generated_code.py | 967 | assert "Objects.equals(f16, that.f16)" in java_output | STRING |
| HIGH | compiler/fory_compiler/tests/test_generated_code.py | 968 | assert "Objects.equals(optF16, that.optF16)" in java_output | STRING |
| HIGH | compiler/fory_compiler/tests/test_generated_code.py | 1016 | assert "index == that.index && deepValueEquals(value, that.value)" in java_output | STRING |
| HIGH | compiler/fory_compiler/tests/test_javascript_codegen.py | 86 | assert "email?: string | null;" in output | CODE |
| HIGH | compiler/fory_compiler/tests/test_java_generator.py | 78 | assert "Objects.equals(class_, that.class_)" in reserved | CODE |
| HIGH⚡ | compiler/fory_compiler/tests/test_dart_generator.py | 350 | "registerGeneratedStruct(fory, _envelopeForySchema, id: null, name: 'demo.Envelope');" | CODE |
| HIGH⚡ | compiler/fory_compiler/tests/test_dart_generator.py | 354 | "registerGeneratedStruct(fory, _envelopePayloadForySchema, id: null, name: 'demo.Envelope.Payload');" | CODE |
| HIGH | compiler/fory_compiler/tests/test_dart_generator.py | 71 | "registerGeneratedStruct(fory, _scalarForySchema, id: 100, name: null);" | CODE |
| HIGH | compiler/fory_compiler/tests/test_dart_generator.py | 118 | "registerGeneratedEnum(fory, _statusForySchema, id: 101, name: null);" | CODE |
| HIGH | compiler/fory_compiler/tests/test_dart_generator.py | 160 | "fory.registerSerializer(Animal, const _AnimalForySerializer(), id: 101, name: null);" | CODE |
| HIGH | compiler/fory_compiler/tests/test_dart_generator.py | 189 | assert "List<int>? maybeInts = null;" in file.content | CODE |
| HIGH | compiler/fory_compiler/tests/test_service_codegen.py | 2772 | Greeter.BindService(metadataBinder, null); | CODE |
| HIGH | compiler/fory_compiler/tests/test_service_codegen.py | 2775 | metadataBinder.Handlers.TrueForAll(static handler => handler is null), | CODE |
| HIGH | compiler/fory_compiler/tests/test_service_codegen.py | 2873 | return (Method<TRequest, TResponse>)field.GetValue(null)!; | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 924 | f"{ind} return index == that.index && deepValueEquals(value, that.value);" | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 928 | f"{ind} return index == that.index && Objects.equals(value, that.value);" | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 928 | f"{ind} return index == that.index && Objects.equals(value, that.value);" | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 1948 | lines.append(" return sb.toString();") | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 1960 | " if (left == null || right == null) {", | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 1960 | " if (left == null || right == null) {", | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 1966 | " if (left instanceof java.util.List && right instanceof java.util.List) {", | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 1996 | " return Objects.equals(left, right);", | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 2001 | " return Arrays.equals((boolean[]) left, (boolean[]) right);", | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 2004 | " return Arrays.equals((byte[]) left, (byte[]) right);", | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 2007 | " return Arrays.equals((short[]) left, (short[]) right);", | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 2010 | " return Arrays.equals((int[]) left, (int[]) right);", | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 2013 | " return Arrays.equals((long[]) left, (long[]) right);", | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 2016 | " return Arrays.equals((float[]) left, (float[]) right);", | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 2019 | " return Arrays.equals((double[]) left, (double[]) right);", | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/java.py | 2028 | " if (value == null) {", | CODE |
| HIGH | compiler/fory_compiler/generators/java.py | 813 | lines.append(f"{ind} if (v == null) {{") | CODE |
| HIGH | compiler/fory_compiler/generators/java.py | 895 | lines.append(f"{ind} if (v == null) {{") | CODE |
| HIGH | compiler/fory_compiler/generators/java.py | 1979 | " if (left instanceof java.util.Map && right instanceof java.util.Map) {", | CODE |
| HIGH | compiler/fory_compiler/generators/java.py | 2080 | lines.append(" if (o == null || getClass() != o.getClass()) return false;") | CODE |
| HIGH | compiler/fory_compiler/generators/java.py | 2091 | f"Arrays.equals({field_name}, that.{field_name})" | CODE |
| HIGH | compiler/fory_compiler/generators/java.py | 2121 | f"Objects.equals({field_name}, that.{field_name})" | CODE |
| HIGH | compiler/fory_compiler/generators/java.py | 2125 | f"Objects.equals({field_name}, that.{field_name})" | CODE |
| HIGH | compiler/fory_compiler/generators/dart.py | 905 | f"{self.indent_str * (indent + 1)}bool operator ==(Object other) => identical(this, other) || (other is | CODE |
| HIGH | compiler/fory_compiler/generators/dart.py | 1298 | f"{self.indent_str * (indent + 2)}if (existing != null) return existing;", | CODE |
| HIGH | compiler/fory_compiler/generators/cpp.py | 2115 | lines.append(" if (!remote || remote->type_id != expected->type_id) {") | CODE |
| HIGH | compiler/fory_compiler/generators/cpp.py | 2128 | lines.append(" if (ref_mode == RefMode::Tracking && ctx.track_ref()) {") | CODE |
| HIGH | compiler/fory_compiler/generators/cpp.py | 2187 | " if (ref_flag != NOT_NULL_VALUE_FLAG && ref_flag != REF_VALUE_FLAG) {" | CODE |
| HIGH | compiler/fory_compiler/generators/cpp.py | 2244 | " if (ref_flag != NOT_NULL_VALUE_FLAG && ref_flag != REF_VALUE_FLAG) {" | CODE |
| HIGH | compiler/fory_compiler/generators/go.py | 549 | f"func (u {type_name}) IsSet() bool {{ return u.case_ != {case_type}Invalid && u.value != nil }}" | CODE |
| HIGH | compiler/fory_compiler/generators/go.py | 575 | lines.append(f"\tif u.case_ == {case_type}Invalid || u.value == nil {{") | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/javascript.py | 1195 | " serialize: (value: T | null) => Uint8Array;", | CODE |
| HIGH | compiler/fory_compiler/generators/services/java.py | 208 | lines.append(" if (local == null) {") | CODE |
| HIGH | compiler/fory_compiler/generators/services/java.py | 211 | lines.append(" if (local == null) {") | CODE |
| HIGH | compiler/fory_compiler/generators/services/cpp.py | 392 | " if (buffer == nullptr || own_buffer == nullptr) {", | CODE |
| HIGH | compiler/fory_compiler/generators/services/cpp.py | 422 | " if (buffer == nullptr || message == nullptr || !buffer->Valid()) {", | CODE |
| HIGH⚡ | compiler/fory_compiler/generators/services/csharp.py | 332 | f"{self.indent_str * 2}public virtual {response_type} {method_name}({request_type} request, grpc::Metadata? | CODE |
| 22 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/pyfory/annotation.py | 29 | CODE | |
| LOW | python/pyfory/annotation.py | 29 | CODE | |
| LOW | python/pyfory/annotation.py | 29 | CODE | |
| LOW | python/pyfory/annotation.py | 29 | CODE | |
| LOW | python/pyfory/annotation.py | 29 | CODE | |
| LOW | python/pyfory/annotation.py | 29 | CODE | |
| LOW | python/pyfory/annotation.py | 29 | CODE | |
| LOW | python/pyfory/annotation.py | 29 | CODE | |
| LOW | python/pyfory/annotation.py | 29 | CODE | |
| LOW | python/pyfory/annotation.py | 29 | CODE | |
| LOW | python/pyfory/annotation.py | 29 | CODE | |
| LOW | python/pyfory/annotation.py | 29 | CODE | |
| LOW | python/pyfory/annotation.py | 29 | CODE | |
| LOW | python/pyfory/__init__.py | 18 | CODE | |
| LOW | python/pyfory/__init__.py | 19 | CODE | |
| LOW | python/pyfory/__init__.py | 19 | CODE | |
| LOW | python/pyfory/__init__.py | 29 | CODE | |
| LOW | python/pyfory/__init__.py | 34 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| LOW | python/pyfory/__init__.py | 36 | CODE | |
| 230 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/pyfory/policy.py | 147 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/policy.py | 149 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/policy.py | 193 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/policy.py | 195 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/policy.py | 357 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/policy.py | 359 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/pyfory/tests/xlang_test_main.py | 1119 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/pyfory/tests/xlang_test_main.py | 1121 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/pyfory/tests/xlang_test_main.py | 1439 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/pyfory/tests/xlang_test_main.py | 1441 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/pyfory/tests/xlang_test_main.py | 1634 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/pyfory/tests/xlang_test_main.py | 1636 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/pyfory/tests/xlang_test_main.py | 1652 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/pyfory/tests/xlang_test_main.py | 1654 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/pyfory/tests/xlang_test_main.py | 1793 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/pyfory/tests/xlang_test_main.py | 1795 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/tests/xlang_test_main.py | 112 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/tests/xlang_test_main.py | 114 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/tests/xlang_test_main.py | 286 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/tests/xlang_test_main.py | 288 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/tests/xlang_test_main.py | 324 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/tests/xlang_test_main.py | 326 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/tests/xlang_test_main.py | 369 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/tests/xlang_test_main.py | 371 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/tests/xlang_test_main.py | 457 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/tests/xlang_test_main.py | 459 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/tests/xlang_test_main.py | 1720 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/tests/xlang_test_main.py | 1722 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/tests/test_struct.py | 1846 | # ============================================================================ | COMMENT |
| MEDIUM | python/pyfory/tests/test_struct.py | 1848 | # ============================================================================ | COMMENT |
| MEDIUM | examples/cpp/hello_world/CMakeLists.txt | 30 | # ============================================================================= | COMMENT |
| MEDIUM | examples/cpp/hello_world/CMakeLists.txt | 32 | # ============================================================================= | COMMENT |
| MEDIUM | examples/cpp/hello_row/CMakeLists.txt | 30 | # ============================================================================= | COMMENT |
| MEDIUM | examples/cpp/hello_row/CMakeLists.txt | 32 | # ============================================================================= | COMMENT |
| MEDIUM | benchmarks/cpp/CMakeLists.txt | 40 | # ============================================================================= | COMMENT |
| MEDIUM | benchmarks/cpp/CMakeLists.txt | 42 | # ============================================================================= | COMMENT |
| MEDIUM | benchmarks/cpp/CMakeLists.txt | 94 | # ============================================================================= | COMMENT |
| MEDIUM | benchmarks/cpp/CMakeLists.txt | 96 | # ============================================================================= | COMMENT |
| MEDIUM | benchmarks/cpp/CMakeLists.txt | 127 | # ============================================================================= | COMMENT |
| MEDIUM | benchmarks/cpp/CMakeLists.txt | 129 | # ============================================================================= | COMMENT |
| MEDIUM | benchmarks/cpp/CMakeLists.txt | 154 | # ============================================================================= | COMMENT |
| MEDIUM | benchmarks/cpp/CMakeLists.txt | 156 | # ============================================================================= | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | compiler/fory_compiler/tests/test_scala_generator.py | 0 | import "common.fdl"; message holder [id=201] { optional common common = 1; } | STRING |
| HIGH | compiler/fory_compiler/tests/test_kotlin_generator.py | 0 | import "common.fdl"; message holder [id=201] { optional common common = 1; } | STRING |
| HIGH | compiler/fory_compiler/tests/test_generated_code.py | 0 | import "common.fdl"; message holder [id=201] { optional common common = 1; } | STRING |
| HIGH | compiler/fory_compiler/tests/test_scala_generator.py | 0 | package app; import "common.fdl"; message holder [id=201] { common common = 1; } | STRING |
| HIGH | compiler/fory_compiler/tests/test_kotlin_generator.py | 0 | package app; import "common.fdl"; message holder [id=201] { common common = 1; } | STRING |
| HIGH | compiler/fory_compiler/tests/test_generated_code.py | 0 | package app; import "common.fdl"; message holder [id=201] { common common = 1; } | STRING |
| HIGH | compiler/fory_compiler/tests/test_swift_generator.py | 0 | package demo; message money [id=100] { decimal amount = 1; } union valueunion [id=101] { decimal amount = 1; money money | STRING |
| HIGH | compiler/fory_compiler/tests/test_javascript_codegen.py | 0 | package demo; message money [id=100] { decimal amount = 1; } union valueunion [id=101] { decimal amount = 1; money money | STRING |
| HIGH | compiler/fory_compiler/tests/test_dart_generator.py | 0 | package demo; message money [id=100] { decimal amount = 1; } union valueunion [id=101] { decimal amount = 1; money money | STRING |
| HIGH | compiler/fory_compiler/generators/java.py | 0 | return true if a type definition comes from an imported idl file. | STRING |
| HIGH | compiler/fory_compiler/generators/cpp.py | 0 | return true if a type definition comes from an imported idl file. | STRING |
| HIGH | compiler/fory_compiler/generators/python.py | 0 | return true if a type definition comes from an imported idl file. | STRING |
| HIGH | compiler/fory_compiler/generators/go.py | 0 | return true if a type definition comes from an imported idl file. | STRING |
| HIGH | compiler/fory_compiler/generators/javascript.py | 0 | return true if a type definition comes from an imported idl file. | STRING |
| HIGH | compiler/fory_compiler/generators/rust.py | 0 | return true if a type definition comes from an imported idl file. | STRING |
| HIGH | compiler/fory_compiler/generators/java.py | 0 | collect imports for a message and its nested types recursively. | STRING |
| HIGH | compiler/fory_compiler/generators/python.py | 0 | collect imports for a message and its nested types recursively. | STRING |
| HIGH | compiler/fory_compiler/generators/go.py | 0 | collect imports for a message and its nested types recursively. | STRING |
| HIGH | compiler/fory_compiler/generators/java.py | 0 | generate registration code for a message and its nested types. | STRING |
| HIGH | compiler/fory_compiler/generators/cpp.py | 0 | generate registration code for a message and its nested types. | STRING |
| HIGH | compiler/fory_compiler/generators/python.py | 0 | generate registration code for a message and its nested types. | STRING |
| HIGH | compiler/fory_compiler/generators/go.py | 0 | generate registration code for a message and its nested types. | STRING |
| HIGH | compiler/fory_compiler/generators/rust.py | 0 | generate registration code for a message and its nested types. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/README.md | 887 | except Exception as e: | CODE |
| LOW | python/README.md | 1037 | except Exception as e: | CODE |
| LOW | python/README.md | 1045 | except Exception as e: | CODE |
| LOW | python/pyfory/tests/test_stateful_reproduction.py | 127 | except Exception as e: | CODE |
| MEDIUM | python/pyfory/tests/test_stateful_reproduction.py | 128 | print(f"Error in repr/comparison: {e}") | CODE |
| LOW | python/pyfory/tests/test_thread_safe.py | 68 | except Exception as e: | CODE |
| LOW | python/pyfory/tests/test_thread_safe.py | 165 | except Exception as e: | CODE |
| MEDIUM | python/pyfory/tests/test_thread_safe.py | 62 | def serialize_deserialize(thread_id): | CODE |
| MEDIUM | python/pyfory/tests/test_thread_safe.py | 159 | def serialize_data(thread_id): | CODE |
| LOW | python/pyfory/meta/test_meta_compressor.py | 97 | except Exception as e: | CODE |
| MEDIUM | python/pyfory/meta/test_meta_compressor.py | 87 | def compress_worker(): | CODE |
| MEDIUM | python/pyfory/meta/typedef.py | 1045 | def _numpy_uint8_type(): | CODE |
| LOW | python/pyfory/meta/typedef.py | 260 | except Exception: | CODE |
| LOW | python/pyfory/meta/typedef.py | 481 | except Exception: | CODE |
| LOW | python/pyfory/meta/typedef.py | 498 | except Exception: | CODE |
| LOW | python/pyfory/meta/typedef.py | 504 | except Exception: | CODE |
| LOW | python/pyfory/meta/typedef.py | 1345 | except Exception as e: | CODE |
| LOW | python/pyfory/meta/typedef.py | 1475 | except Exception as e: | CODE |
| LOW | …egration_tests/idl_tests/python/idl_tests/roundtrip.py | 214 | except Exception: | CODE |
| MEDIUM | ci/build_linux_wheels.py | 202 | print(f"Error running docker: {e}", file=sys.stderr) | CODE |
| LOW | ci/tasks/java.py | 47 | except Exception: | CODE |
| MEDIUM | ci/tasks/java.py | 25 | def get_jdk_major_version(): | CODE |
| LOW | ci/tasks/rust.py | 55 | except Exception as e: | CODE |
| LOW | ci/tasks/rust.py | 63 | except Exception as e: | CODE |
| LOW | docs/object-serialization/python/troubleshooting.md | 159 | except Exception as e: | CODE |
| LOW | docs/object-serialization/python/troubleshooting.md | 167 | except Exception as e: | CODE |
| MEDIUM | benchmarks/go/benchmark_report.py | 448 | print("Error: No benchmark results found.") | CODE |
| MEDIUM | benchmarks/go/benchmark_report.py | 453 | print("Error: Could not parse benchmark results.") | CODE |
| MEDIUM | benchmarks/python/fory_benchmark.py | 544 | print(f"Error: Invalid benchmark names: {', '.join(invalid)}") | CODE |
| MEDIUM | benchmarks/python/fory_benchmark.py | 559 | print(f"Error: Invalid serializer names: {', '.join(invalid)}") | CODE |
| MEDIUM | benchmarks/python/fory_benchmark.py | 563 | print("Error: msgpack is not installed.") | CODE |
| LOW | benchmarks/dart/benchmark_report.py | 128 | except Exception: | CODE |
| MEDIUM | benchmarks/dart/benchmark_report.py | 121 | def detect_memory_gb() -> str: | CODE |
| LOW | benchmarks/cpp/benchmark_report.py | 113 | except Exception as e: | CODE |
| MEDIUM | benchmarks/cpp/benchmark_report.py | 102 | def get_system_info(): | CODE |
| MEDIUM⚡ | compiler/fory_compiler/cli.py | 1147 | print(f"Error: Root not found: {root}", file=sys.stderr) | CODE |
| MEDIUM⚡ | compiler/fory_compiler/cli.py | 1150 | print(f"Error: Root is not a directory: {root}", file=sys.stderr) | CODE |
| MEDIUM⚡ | compiler/fory_compiler/cli.py | 1159 | print(f"Error deleting {file_path}: {e}", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 228 | print(f"Error reading {file_path}: {e}", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 232 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 340 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 361 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 720 | print(f"Error: Unknown language(s): {', '.join(invalid)}", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 763 | print(f"Error reading {file_path}: {e}", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 766 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 801 | print(f"Error: {error}", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 826 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 923 | print(f"Error reading {file_path}: {e}", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 927 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 1041 | print("Error: No target languages specified.", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 1048 | print(f"Error: Unknown language(s): {', '.join(invalid)}", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 1092 | print("Error: --grpc-python-mode requires --grpc.", file=sys.stderr) | CODE |
| MEDIUM | compiler/fory_compiler/cli.py | 1112 | print(f"Error: File not found: {file_path}", file=sys.stderr) | CODE |
| LOW | compiler/fory_compiler/generators/java.py | 151 | except Exception: | CODE |
| LOW | compiler/fory_compiler/generators/java.py | 171 | except Exception: | CODE |
| LOW | compiler/fory_compiler/generators/dart.py | 361 | except Exception: | CODE |
| LOW | compiler/fory_compiler/generators/dart.py | 370 | except Exception: | CODE |
| LOW | compiler/fory_compiler/generators/cpp.py | 795 | except Exception: | CODE |
| LOW | compiler/fory_compiler/generators/cpp.py | 821 | except Exception: | CODE |
| LOW | compiler/fory_compiler/generators/csharp.py | 421 | except Exception: | CODE |
| 17 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/pyfory/field.py | 107 | CODE | |
| LOW | python/pyfory/registry.py | 698 | CODE | |
| LOW | python/pyfory/registry.py | 756 | CODE | |
| LOW | python/pyfory/registry.py | 873 | CODE | |
| LOW | python/pyfory/registry.py | 979 | CODE | |
| LOW | python/pyfory/registry.py | 1146 | CODE | |
| LOW | python/pyfory/converter.py | 116 | CODE | |
| LOW | python/pyfory/type_util.py | 85 | CODE | |
| LOW | python/pyfory/type_util.py | 364 | CODE | |
| LOW | python/pyfory/type_util.py | 541 | CODE | |
| LOW | python/pyfory/collection.py | 110 | CODE | |
| LOW | python/pyfory/collection.py | 212 | CODE | |
| LOW | python/pyfory/collection.py | 433 | CODE | |
| LOW | python/pyfory/collection.py | 538 | CODE | |
| LOW | python/pyfory/collection.py | 688 | CODE | |
| LOW | python/pyfory/collection.py | 716 | CODE | |
| LOW | python/pyfory/serializer.py | 205 | CODE | |
| LOW | python/pyfory/serializer.py | 1043 | CODE | |
| LOW | python/pyfory/serializer.py | 1305 | CODE | |
| LOW | python/pyfory/serializer.py | 1350 | CODE | |
| LOW | python/pyfory/serializer.py | 1400 | CODE | |
| LOW | python/pyfory/serializer.py | 1660 | CODE | |
| LOW | python/pyfory/struct.py | 396 | CODE | |
| LOW | python/pyfory/struct.py | 294 | CODE | |
| LOW | python/pyfory/struct.py | 318 | CODE | |
| LOW | python/pyfory/struct.py | 590 | CODE | |
| LOW | python/pyfory/struct.py | 859 | CODE | |
| LOW | python/pyfory/struct.py | 1069 | CODE | |
| LOW | python/pyfory/tests/test_metastring.py | 62 | CODE | |
| LOW | python/pyfory/meta/metastring.py | 104 | CODE | |
| LOW | python/pyfory/meta/metastring.py | 177 | CODE | |
| LOW | python/pyfory/meta/metastring.py | 200 | CODE | |
| LOW | python/pyfory/meta/metastring.py | 301 | CODE | |
| LOW | python/pyfory/meta/metastring.py | 379 | CODE | |
| LOW | python/pyfory/meta/metastring.py | 534 | CODE | |
| LOW | python/pyfory/meta/typedef.py | 1120 | CODE | |
| LOW | python/pyfory/meta/typedef.py | 1164 | CODE | |
| LOW | python/pyfory/meta/typedef.py | 1349 | CODE | |
| LOW | python/pyfory/meta/typedef.py | 1479 | CODE | |
| LOW | python/pyfory/meta/typedef.py | 206 | CODE | |
| LOW | python/pyfory/meta/typedef.py | 255 | CODE | |
| LOW | python/pyfory/format/columnar.py | 28 | CODE | |
| LOW | python/pyfory/format/columnar.py | 70 | CODE | |
| LOW | python/pyfory/format/infer.py | 229 | CODE | |
| LOW | python/pyfory/format/infer.py | 257 | CODE | |
| LOW | python/pyfory/format/infer.py | 319 | CODE | |
| LOW | python/pyfory/format/infer.py | 276 | CODE | |
| LOW | python/pyfory/format/infer.py | 338 | CODE | |
| LOW | python/pyfory/format/schema.py | 158 | CODE | |
| LOW | python/pyfory/format/schema.py | 192 | CODE | |
| LOW | python/pyfory/format/schema.py | 231 | CODE | |
| LOW | python/pyfory/format/schema.py | 267 | CODE | |
| LOW | ci/release.py | 221 | CODE | |
| LOW | ci/release.py | 866 | CODE | |
| LOW | ci/release.py | 1000 | CODE | |
| LOW | ci/release.py | 1735 | CODE | |
| LOW | ci/release.py | 1881 | CODE | |
| LOW | ci/extract_cpp_doc_code.py | 51 | CODE | |
| LOW | ci/generate_release_note.py | 21 | CODE | |
| LOW | ci/run_ci.py | 246 | CODE | |
| 74 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/pyfory/__init__.py | 268 | except (AttributeError, ImportError): | CODE |
| HIGH | python/pyfory/type_util.py | 205 | except AttributeError: # no .replace or .split | CODE |
| HIGH | python/pyfory/collection.py | 700 | except AttributeError: | CODE |
| HIGH | python/pyfory/serializer.py | 1750 | except (AttributeError, TypeError): | CODE |
| HIGH | python/pyfory/tests/xlang_test_main.py | 1006 | except TypeNotCompatibleError: | CODE |
| HIGH | python/pyfory/meta/typedef.py | 1169 | except KeyError: | CODE |
| HIGH | python/pyfory/meta/typedef.py | 504 | except Exception: | CODE |
| HIGH | python/pyfory/format/__init__.py | 82 | except (ImportError, AttributeError): | CODE |
| HIGH | python/pyfory/format/infer.py | 139 | except ImportError: | CODE |
| HIGH | ci/run_ci.py | 195 | except FileNotFoundError: | CODE |
| HIGH | compiler/fory_compiler/cli.py | 83 | except ValueError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/pyfory/type_util.py | 173 | # This function is derived from | COMMENT |
| MEDIUM | python/pyfory/type_util.py | 595 | # This method is derived from https://github.com/ericvsmith/dataclasses/blob/5f6568c3468f872e8f447dc20666628387786397/da | COMMENT |
| MEDIUM | python/pyfory/type_util.py | 606 | # Create a new dict for our new class. | COMMENT |
| MEDIUM | python/pyfory/serializer.py | 1425 | # Create the object using the callable and args | COMMENT |
| MEDIUM | python/pyfory/serializer.py | 1833 | # Create a globals dictionary with module's globals as the base | COMMENT |
| MEDIUM | python/pyfory/tests/test_class_serializer.py | 40 | # Create an instance of the local class | COMMENT |
| MEDIUM | python/pyfory/tests/test_class_serializer.py | 78 | # Create a local class with closure | COMMENT |
| MEDIUM | python/pyfory/tests/test_class_serializer.py | 186 | # Define a nested global class (defined at module level but nested in structure) | COMMENT |
| MEDIUM⚡ | python/pyfory/tests/test_typedef_encoding.py | 310 | # Create a mock resolver | COMMENT |
| MEDIUM⚡ | python/pyfory/tests/test_typedef_encoding.py | 320 | # Create a buffer from the encoded data | COMMENT |
| MEDIUM | python/pyfory/tests/test_stateful_serializer.py | 260 | # Create a list with the same object referenced twice | COMMENT |
| MEDIUM | python/pyfory/tests/test_function.py | 102 | # Create a nested function | COMMENT |
| MEDIUM | python/pyfory/meta/typedef_decoder.py | 131 | # Create a new buffer for meta data | COMMENT |
| MEDIUM | ci/tasks/java.py | 171 | # Create the root element | COMMENT |
| MEDIUM | benchmarks/java/plot_map_benchmark.py | 75 | # Create the subplots for datatype "int" | COMMENT |
| MEDIUM | benchmarks/java/plot_map_benchmark.py | 117 | # Create the subplots for datatype "string" | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integration_tests/idl_tests/go/idl_roundtrip_test.go | 48 | Number: "555-0100", | CODE |
| LOW | integration_tests/idl_tests/go/idl_roundtrip_test.go | 52 | Number: "555-0111", | CODE |
| LOW | …egration_tests/idl_tests/python/idl_tests/roundtrip.py | 60 | number="555-0100", | CODE |
| LOW | …egration_tests/idl_tests/python/idl_tests/roundtrip.py | 64 | number="555-0111", | CODE |
| LOW | …tion_tests/idl_tests/dart/test/idl_roundtrip_test.dart | 64 | ..number = '555-0100' | CODE |
| LOW | …tion_tests/idl_tests/dart/test/idl_roundtrip_test.dart | 67 | ..number = '555-0111' | CODE |
| LOW | integration_tests/idl_tests/rust/tests/idl_roundtrip.rs | 49 | number: "555-0100".to_string(), | CODE |
| LOW | integration_tests/idl_tests/rust/tests/idl_roundtrip.rs | 53 | number: "555-0111".to_string(), | CODE |
| LOW | …t/java/org/apache/fory/idl_tests/IdlRoundTripTest.java | 1003 | mobile.setNumber("555-0100"); | CODE |
| LOW | …t/java/org/apache/fory/idl_tests/IdlRoundTripTest.java | 1007 | work.setNumber("555-0111"); | CODE |
| LOW | …ackage/Tests/IdlRoundTripTests/IdlRoundTripTests.swift | 362 | let mobile = Addressbook.Person.PhoneNumber(number: "555-0100", phoneType: .mobile) | CODE |
| LOW | …ackage/Tests/IdlRoundTripTests/IdlRoundTripTests.swift | 363 | let work = Addressbook.Person.PhoneNumber(number: "555-0111", phoneType: .work) | CODE |
| LOW | …tion_tests/idl_tests/csharp/IdlTests/RoundtripTests.cs | 435 | Number = "555-0100", | CODE |
| LOW | …tion_tests/idl_tests/csharp/IdlTests/RoundtripTests.cs | 440 | Number = "555-0111", | CODE |
| LOW | integration_tests/idl_tests/javascript/roundtrip.ts | 272 | buildPhoneNumber("555-0100", Person.PhoneType.MOBILE), | CODE |
| LOW | integration_tests/idl_tests/javascript/roundtrip.ts | 273 | buildPhoneNumber("555-0111", Person.PhoneType.WORK), | CODE |
| LOW | …tion_tests/idl_tests/javascript/test/roundtrip.test.ts | 212 | buildPhoneNumber("555-0100", Person.PhoneType.MOBILE), | CODE |
| LOW | …tion_tests/idl_tests/javascript/test/roundtrip.test.ts | 213 | buildPhoneNumber("555-0111", Person.PhoneType.WORK), | CODE |
| LOW | rust/README.md | 124 | name: "John Doe".to_string(), | CODE |
| LOW | rust/README.md | 127 | street: "123 Main St".to_string(), | CODE |
| LOW | rust/README.md | 377 | address: "123 Main St".to_string(), | CODE |
| LOW | rust/tests/tests/test_box.rs | 59 | name: "John Doe".to_string(), | CODE |
| LOW | rust/tests/tests/test_box.rs | 83 | name: "Jane Doe".to_string(), | CODE |
| LOW | rust/tests/tests/test_field_meta.rs | 1080 | street_address: "123 Main Street".to_string(), | CODE |
| LOW | rust/tests/tests/test_field_meta.rs | 1088 | street_address: "123 Main Street".to_string(), | CODE |
| LOW | rust/fory-core/src/util/string_util.rs | 652 | assert!(murmurhash3_x64_128("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam at consequat massa. | CODE |
| LOW | rust/fory-core/src/util/string_util.rs | 652 | assert!(murmurhash3_x64_128("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam at consequat massa. | CODE |
| LOW | docs/object-serialization/rust/schema-evolution.md | 59 | address: "123 Main St".to_string(), | CODE |
| LOW | docs/object-serialization/rust/basic-serialization.md | 62 | name: "John Doe".to_string(), | CODE |
| LOW | docs/object-serialization/rust/basic-serialization.md | 65 | street: "123 Main St".to_string(), | CODE |
| LOW | docs/object-serialization/scala/native.md | 174 | Company("Acme", Address("123 Main St", "Springfield")), | CODE |
| LOW⚡ | docs/object-serialization/cpp/schema-evolution.md | 247 | EmployeeV1 emp_v1{"Jane Doe", {"123 Main St", "NYC"}}; | CODE |
| LOW⚡ | docs/object-serialization/cpp/schema-evolution.md | 247 | EmployeeV1 emp_v1{"Jane Doe", {"123 Main St", "NYC"}}; | CODE |
| LOW⚡ | docs/object-serialization/cpp/schema-evolution.md | 252 | assert(emp_v2.name == "Jane Doe"); | CODE |
| LOW⚡ | docs/object-serialization/cpp/schema-evolution.md | 253 | assert(emp_v2.home_address.street == "123 Main St"); | CODE |
| LOW | docs/object-serialization/cpp/basic-serialization.md | 78 | "John Doe", | CODE |
| LOW | docs/object-serialization/cpp/basic-serialization.md | 80 | {"123 Main St", "New York", "USA"}, | CODE |
| LOW | cpp/README.md | 120 | "John Doe", | CODE |
| LOW | cpp/README.md | 122 | Address{"123 Main St", "New York", "USA"}, | CODE |
| LOW | cpp/README.md | 220 | PersonV1 v1{"Alice", 30, "123 Main St"}; | CODE |
| LOW⚡ | javascript/benchmark/index.js | 96 | name: "John Doe", | CODE |
| LOW⚡ | javascript/benchmark/index.js | 100 | street: "123 Main St", | CODE |
| LOW⚡ | javascript/benchmark/index.js | 108 | number: "555-1234", | CODE |
| LOW⚡ | javascript/benchmark/index.js | 112 | number: "555-5678", | CODE |
| LOW | javascript/benchmark/platform-buffer.js | 26 | name: "John Doe", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …pache/fory/serializer/UnknownClassSerializersTest.java | 550 | // Step 1: Serialize with fory1 | COMMENT |
| LOW⚡ | …pache/fory/serializer/UnknownClassSerializersTest.java | 556 | // Step 2: Deserialize with fory2 (gets UnknownStruct) | COMMENT |
| LOW⚡ | …pache/fory/serializer/UnknownClassSerializersTest.java | 561 | // Step 3: Serialize UnknownStruct with fory2 | COMMENT |
| LOW⚡ | …pache/fory/serializer/UnknownClassSerializersTest.java | 564 | // Step 4: Deserialize again with fory2 (should get UnknownStruct with same values) | COMMENT |
| LOW⚡ | …g/apache/fory/serializer/WriteReplaceCrossJvmTest.java | 315 | // Step 1: Serialize proxy on "JVM A" | COMMENT |
| LOW⚡ | …g/apache/fory/serializer/WriteReplaceCrossJvmTest.java | 319 | // Step 2: Deserialize on "JVM B" (no ProxyEntity class) | COMMENT |
| LOW⚡ | …g/apache/fory/serializer/WriteReplaceCrossJvmTest.java | 323 | // Step 3: Re-serialize on "JVM B" | COMMENT |
| LOW⚡ | …g/apache/fory/serializer/WriteReplaceCrossJvmTest.java | 326 | // Step 4: Deserialize back on "JVM A" | COMMENT |
| LOW | docs/specification/xlang_serialization_spec.md | 1727 | ##### Step 1: Field identifier | COMMENT |
| LOW | docs/specification/xlang_serialization_spec.md | 1748 | ##### Step 2: Group assignment | COMMENT |
| LOW | docs/specification/xlang_serialization_spec.md | 1758 | ##### Step 3: Intra-group ordering | COMMENT |
| LOW | docs/object-serialization/javascript/references.md | 30 | ## Step 1: Enable Reference Tracking on the `Fory` Instance | COMMENT |
| LOW | docs/object-serialization/javascript/references.md | 36 | ## Step 2: Mark the Fields That Can Have Shared or Circular References | COMMENT |
| LOW⚡ | docs/compiler/protobuf-idl.md | 294 | ### Step 1: Translate Schema Syntax | COMMENT |
| LOW⚡ | docs/compiler/protobuf-idl.md | 300 | ### Step 2: Convert `oneof` and Special Types | COMMENT |
| LOW⚡ | docs/compiler/protobuf-idl.md | 305 | ### Step 3: Replace Protobuf Workarounds with `ref` | COMMENT |
| LOW⚡ | docs/compiler/protobuf-idl.md | 310 | ### Step 4: Update Build/Codegen | COMMENT |
| LOW | docs/compiler/protobuf-idl.md | 336 | ### Step 5: Run Compatibility Checks | COMMENT |
| LOW | benchmarks/cpp/run.sh | 170 | # Step 1: Build | COMMENT |
| LOW | benchmarks/cpp/run.sh | 194 | # Step 2: Run benchmark | COMMENT |
| LOW | benchmarks/cpp/run.sh | 209 | # Step 3: Generate report | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/pyfory/policy.py | 152 | Authorize instantiation of a class during deserialization. This hook is called before creating an instance of a | STRING |
| HIGH | python/pyfory/policy.py | 362 | Intercept and validate __reduce__ protocol callable invocation. This hook is called when deserializing an objec | STRING |
| HIGH | python/pyfory/policy.py | 423 | Inspect and validate an object after __reduce__ protocol reconstruction. This hook is called after an object ha | STRING |
| HIGH | python/pyfory/policy.py | 474 | Intercept and validate __setstate__ protocol before state restoration. This hook is called when deserializing a | STRING |
| HIGH | python/pyfory/format/infer.py | 258 | Convert an Arrow Schema to a Fory Schema. This is for compatibility with code that uses PyArrow schemas. Args: | STRING |
| HIGH | python/pyfory/format/infer.py | 320 | Convert a Fory Schema to an Arrow Schema. This is for compatibility with ArrowWriter which requires Arrow schemas. | STRING |
| HIGH | python/pyfory/format/schema.py | 32 | Convert an Arrow data type to a Fory TypeId value. Args: arrow_type: A PyArrow DataType instance. | STRING |
| HIGH | python/pyfory/format/schema.py | 96 | Convert a Fory TypeId value to an Arrow data type. Args: type_id: The Fory TypeId value (int). | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/pyfory/registry.py | 982 | # Check if it's a Union type first | COMMENT |
| LOW | python/pyfory/serializer.py | 1352 | # Check if the object has a custom __reduce_ex__ method (not just the default from object) | COMMENT |
| LOW | python/pyfory/struct.py | 351 | # Check if it's an abstract class using inspect.isabstract | COMMENT |
| LOW | python/pyfory/struct.py | 433 | # Check if fory has field_nullable global setting | COMMENT |
| LOW⚡ | python/pyfory/tests/xlang_test_main.py | 918 | # Set f2 to empty string for serialization (match Go behavior) | COMMENT |
| LOW | python/pyfory/meta/meta_compressor.py | 160 | # Check if the compressor has custom __eq__ and __hash__ methods | COMMENT |
| LOW | ci/extract_cpp_doc_code.py | 52 | # Check if the code block is a complete, runnable example.A complete example should have a main function with all co | COMMENT |
| LOW | ci/extract_cpp_doc_code.py | 56 | # Check if there are statements outside of any function | COMMENT |
| LOW | ci/extract_cpp_doc_code.py | 75 | # Check if entering main | COMMENT |
| LOW | ci/deploy.sh | 56 | # Check if the tag starts with 'v' and strip it | COMMENT |
| LOW | ci/tasks/python_container_build_script.sh | 36 | # Check if GITHUB_REF_NAME is available and use it for verification | COMMENT |
| LOW | benchmarks/go/run.sh | 156 | # Check if protoc is installed | COMMENT |
| LOW | benchmarks/go/run.sh | 167 | # Check if protoc-gen-go is installed | COMMENT |
| LOW | benchmarks/go/run.sh | 233 | # Check if Python is available | COMMENT |
| LOW | benchmarks/cpp/profile.sh | 113 | # Check if benchmark exists | COMMENT |
| LOW | benchmarks/cpp/profile.sh | 197 | # Check if process is running | COMMENT |
| LOW | compiler/fory_compiler/cli.py | 874 | # Check if distinct source files map to the same output file, e.g. due to naming normalization | COMMENT |
| LOW | compiler/fory_compiler/frontend/fdl/parser.py | 1056 | # Check if it's a primitive type | COMMENT |
| LOW | compiler/fory_compiler/generators/javascript.py | 497 | # Check if this NamedType matches a primitive type name | COMMENT |
| LOW | compiler/fory_compiler/generators/javascript.py | 511 | # Check if it matches any primitive kind directly | COMMENT |
| LOW | compiler/fory_compiler/generators/base.py | 294 | # Check if value_name starts with the prefix | COMMENT |
| LOW | compiler/fory_compiler/generators/base.py | 301 | # Check if remainder is a valid identifier (starts with letter) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …pache/fory/serializer/UnknownClassSerializersTest.java | 550 | // Step 1: Serialize with fory1 | COMMENT |
| LOW⚡ | …pache/fory/serializer/UnknownClassSerializersTest.java | 556 | // Step 2: Deserialize with fory2 (gets UnknownStruct) | COMMENT |
| LOW⚡ | …pache/fory/serializer/UnknownClassSerializersTest.java | 561 | // Step 3: Serialize UnknownStruct with fory2 | COMMENT |
| LOW⚡ | …pache/fory/serializer/UnknownClassSerializersTest.java | 564 | // Step 4: Deserialize again with fory2 (should get UnknownStruct with same values) | COMMENT |
| LOW⚡ | …g/apache/fory/serializer/WriteReplaceCrossJvmTest.java | 315 | // Step 1: Serialize proxy on "JVM A" | COMMENT |
| LOW⚡ | …g/apache/fory/serializer/WriteReplaceCrossJvmTest.java | 319 | // Step 2: Deserialize on "JVM B" (no ProxyEntity class) | COMMENT |
| LOW⚡ | …g/apache/fory/serializer/WriteReplaceCrossJvmTest.java | 323 | // Step 3: Re-serialize on "JVM B" | COMMENT |
| LOW⚡ | …g/apache/fory/serializer/WriteReplaceCrossJvmTest.java | 326 | // Step 4: Deserialize back on "JVM A" | COMMENT |
| LOW | benchmarks/cpp/run.sh | 170 | # Step 1: Build | COMMENT |
| LOW | benchmarks/cpp/run.sh | 194 | # Step 2: Run benchmark | COMMENT |
| LOW | benchmarks/cpp/run.sh | 209 | # Step 3: Generate report | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/pyfory/annotation.py | 172 | __all__ = [ | CODE |
| LOW | python/pyfory/registry.py | 158 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/pyfory/type_id.py | 173 | __all__ = ["TypeId"] | CODE |
| LOW | python/pyfory/__init__.py | 141 | __all__ = [ | CODE |
| LOW | python/pyfory/types.py | 44 | __all__ = ["TypeId"] | CODE |
| LOW | python/pyfory/utils.py | 48 | __all__ = [ | CODE |
| LOW | python/pyfory/serializer.py | 2049 | __all__ = [ | CODE |
| LOW | python/pyfory/_serializer.py | 55 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/pyfory/struct.py | 87 | logger = logging.getLogger(__name__) | CODE |
| LOW | ci/release.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW | compiler/fory_compiler/__init__.py | 27 | __all__ = [ | CODE |
| LOW | compiler/fory_compiler/frontend/__init__.py | 23 | __all__ = ["BaseFrontend", "FrontendError", "FBSFrontend"] | CODE |
| LOW | compiler/fory_compiler/frontend/fbs/__init__.py | 47 | __all__ = ["FBSFrontend", "Lexer", "Parser", "LexerError", "ParseError"] | CODE |
| LOW | compiler/fory_compiler/frontend/fdl/__init__.py | 42 | __all__ = ["FDLFrontend"] | CODE |
| LOW | compiler/fory_compiler/ir/__init__.py | 38 | __all__ = [ | CODE |
| LOW | compiler/fory_compiler/ir/types.py | 89 | __all__ = [ | CODE |
| LOW | compiler/fory_compiler/generators/__init__.py | 47 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | go/fory/stream.go | 25 | // InputStream supports robust sequential deserialization from a stream. | COMMENT |
| MEDIUM | go/fory/float16/float16.go | 115 | // Actually pure bit manipulation is robust if careful. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/pr-lint.yml | 72 | # If `subjectPattern` is configured, you can use this property to override | COMMENT |
| MEDIUM | .github/workflows/pr-lint.yml | 89 | # Commits spec, you can use these options to customize the parsing of the type, scope and | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/pyfory/field.py | 107 | CODE | |
| LOW | python/pyfory/registry.py | 262 | CODE | |
| LOW | python/pyfory/_fory.py | 133 | CODE | |
| LOW | python/pyfory/meta/typedef_encoder.py | 130 | CODE | |
| LOW | compiler/fory_compiler/cli.py | 727 | CODE | |
| LOW | compiler/fory_compiler/generators/cpp.py | 2294 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …/apache/fory/serializer/converter/FieldConverters.java | 205 | // guardrails remain owned by descriptor-level conversion above. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cpp/fory/serialization/serializer.h | 45 | /// Example usage: | COMMENT |
| LOW | cpp/fory/row/schema.h | 31 | /// Usage example: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/pyfory/tests/test_serializer.py | 1202 | def test_function(track_ref): | CODE |
| LOW | benchmarks/java/analyze.py | 497 | def process_data(filepath: str): | CODE |