AI Slop Code Risk Monitor

Tencent/Hippy

SlopCodeMonitor badge for Tencent/Hippy Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Hippy is designed to easily build cross-platform dynamic apps. 👏

2.1 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for Tencent/Hippy, a C++ project with 8,561 GitHub stars. SynthScan examined 379,144 lines of code across 2802 source files, recording 627 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 2.1 (Low 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.

2.1
Adjusted Signal
2.1
Raw Pattern Score
100%
Time Factor
2026-10-28
Last Push
8.6K
Stars
C++
Language
379.1K
Lines of Code
2.8K
Files
627
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 8.0/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 562 finding(s).

Hallucinated Dependency & Supply Chain Risk 2.4/100 · LOW

Are imports declared and package/API names verified? 65 finding(s).

Agent Over-Engineering Ratio 0.8/100 · LOW

Are wrappers, guards, and repeated structures necessary? 57 finding(s).

PR Review Velocity Impact 9.6/100 · LOW

Which changes need focused human review? 627 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 10HIGH 0MEDIUM 25LOW 592

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 627 distinct pattern matches across 10 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.

Over-Commented Block461 hits · 461 pts
SeverityFileLineSnippetContext
LOWxcodeinitscript.sh1#!/bin/bashCOMMENT
LOWrenderer/native/ios/renderer/HippyUIManager.h101COMMENT
LOWrenderer/native/ios/renderer/HippyUIManager.h121/// - Parameters:COMMENT
LOWrenderer/native/ios/renderer/HippyRootView.mm21 */COMMENT
LOWrenderer/native/ios/renderer/HippyRootView.h61/// The delegate of hippyRootView.COMMENT
LOWrenderer/native/ios/renderer/HippyRootView.h101/// As above, add shareOptions parameters, compatible with hippy2COMMENT
LOWrenderer/native/ios/renderer/HippyRootView.h121/// @param initialProperties application properties, see appProperties property.COMMENT
LOWrenderer/native/ios/renderer/HippyRootView.h141///COMMENT
LOWrenderer/native/ios/renderer/HippyRootView.h161COMMENT
LOWrenderer/native/ios/renderer/HippyComponentMap.h101/// - componentTag: hippyTagCOMMENT
LOWrenderer/native/ios/renderer/HippyComponentData.h41/// - viewName: nameCOMMENT
LOWrenderer/native/ios/renderer/HippyUIManager.mm21 */COMMENT
LOWrenderer/native/ios/renderer/HippyUIManager.mm41#import "HippyVsyncManager.h"COMMENT
LOW…er/component/scrollview/HippyNestedScrollCoordinator.m21 */COMMENT
LOW…tive/ios/renderer/component/textinput/HippyTextView.mm621 }COMMENT
LOW…os/renderer/component/textinput/HippyShadowTextView.mm21 */COMMENT
LOW…renderer/component/waterfalllist/HippyWaterfallView.mm21 */COMMENT
LOW…tive/ios/renderer/component/image/HippyAnimatedImage.m21 */COMMENT
LOW…tive/ios/renderer/component/image/HippyAnimatedImage.m221 // Note: It's not in (1/100) of a second like still falsely described in the documentation as per iOCOMMENT
LOW…tive/ios/renderer/component/image/HippyAnimatedImage.m381 // {COMMENT
LOW…s/renderer/component/listview/HippyNextBaseListView.mm21 */COMMENT
LOW…r/native/ios/renderer/component/view/HippyShadowView.h41COMMENT
LOW…r/native/ios/renderer/component/view/HippyShadowView.h81COMMENT
LOW…r/native/ios/renderer/component/view/HippyShadowView.h101/// @return The created container UIView for this shadow node.COMMENT
LOW…r/native/ios/renderer/component/view/HippyShadowView.h121/// after the layout engine has completed calculations.COMMENT
LOW…r/native/ios/renderer/component/view/HippyShadowView.h161COMMENT
LOW…native/ios/renderer/component/view/HippyViewManager.mm21 */COMMENT
LOW…ative/ios/renderer/component/view/HippyBorderDrawing.m381 }COMMENT
LOW…ative/ios/renderer/component/view/HippyBorderDrawing.m401// |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@|COMMENT
LOW…ative/ios/renderer/component/view/HippyBorderDrawing.m421// | \ / |COMMENT
LOW…ios/renderer/component/view/UIBezierPath+HippyShadow.m41 // \\ top //COMMENT
LOW…/native/ios/renderer/component/text/HippyShadowText.mm21 */COMMENT
LOW…m/tencent/mtt/supportui/views/viewpager/ViewPager.java941 // if (mSetChildrenDrawingOrderEnabled == null)COMMENT
LOW…m/tencent/mtt/supportui/views/viewpager/ViewPager.java961 // // if (Build.VERSION.SDK_INT >= 7)COMMENT
LOW…m/tencent/mtt/supportui/views/viewpager/ViewPager.java1781 public String toString()COMMENT
LOW…m/tencent/mtt/supportui/views/viewpager/ViewPager.java2781 return false;COMMENT
LOW…m/tencent/mtt/supportui/views/viewpager/ViewPager.java3801 // Only let the user target pages we have items forCOMMENT
LOW…m/tencent/mtt/supportui/views/viewpager/ViewPager.java3821 // // final int restoreCount = canvas.save();COMMENT
LOW…m/tencent/mtt/supportui/views/viewpager/ViewPager.java3841 // // canvas.translate(-getPaddingTop(), -(mLastOffset + 1) * width);COMMENT
LOW…m/tencent/mtt/supportui/views/viewpager/ViewPager.java4141 }COMMENT
LOW…m/tencent/mtt/supportui/views/viewpager/ViewPager.java4161 // {COMMENT
LOW…m/tencent/mtt/supportui/views/viewpager/ViewPager.java4661COMMENT
LOW…m/tencent/mtt/supportui/views/viewpager/ViewPager.java4681// float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position) * 0.05f);COMMENT
LOW…m/tencent/mtt/supportui/views/viewpager/ViewPager.java4701// // (1 - MIN_SCALE) * (1 - MIN_ALPHA));COMMENT
LOWrenderer/native/android/src/main/cpp/CMakeLists.txt1#COMMENT
LOWrenderer/native/android/src/main/cpp/CMakeLists.txt61#COMMENT
LOWrenderer/tdf/common/CMakeLists.txt1#COMMENT
LOW…r/tdf/common/include/renderer/tdf/tdf_render_manager.h21#pragma onceCOMMENT
LOW…ommon/include/renderer/tdf/viewnode/scroll_view_node.h21#pragma onceCOMMENT
LOW…r/tdf/common/include/renderer/tdf/viewnode/view_node.h21#pragma onceCOMMENT
LOW…/common/include/renderer/tdf/viewnode/text_view_node.h21#pragma onceCOMMENT
LOW…include/renderer/tdf/viewnode/node_attributes_parser.h21#pragma onceCOMMENT
LOW…on/include/renderer/tdf/viewnode/base64_image_loader.h21#pragma onceCOMMENT
LOW…common/include/renderer/tdf/viewnode/text_input_node.h21#pragma onceCOMMENT
LOW…/common/include/renderer/tdf/viewnode/list_view_node.h21#pragma onceCOMMENT
LOW…n/include/renderer/tdf/viewnode/refresh_wrapper_node.h21#pragma onceCOMMENT
LOW…ommon/include/renderer/tdf/viewnode/net_image_loader.h21#pragma onceCOMMENT
LOW…erer/tdf/common/include/renderer/tdf/view/view_pager.h21#pragma onceCOMMENT
LOW…erer/tdf/common/include/renderer/tdf/view/modal_view.h21#pragma onceCOMMENT
LOWrenderer/tdf/android/src/main/cpp/CMakeLists.txt1#COMMENT
401 more matches not shown…
Hallucination Indicators10 hits · 110 pts
SeverityFileLineSnippetContext
CRITICAL…m/tencent/mtt/hippy/bridge/HippyBridgeManagerImpl.java128 recommendSerializer = new com.tencent.mtt.hippy.serialization.recommend.Serializer();CODE
CRITICAL…/tencent/mtt/hippy/modules/HippyModuleManagerImpl.java94 mRecommendDeserializer = new com.tencent.mtt.hippy.serialization.recommend.Deserializer(CODE
CRITICALdocs/assets/js/docsify.js3645 var match = this.rules.inline.strong.start.exec(src);CODE
CRITICALdocs/assets/js/docsify.js3655 cap = this.rules.inline.strong.middle.exec(maskedSrc.slice(0, match.index + 3));CODE
CRITICALdocs/assets/js/docsify.js3670 var match = this.rules.inline.em.start.exec(src);CODE
CRITICALdocs/assets/js/docsify.js3680 cap = this.rules.inline.em.middle.exec(maskedSrc.slice(0, match.index + 2));CODE
CRITICALdocs/assets/js/docsify.js4510 while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {CODE
CRITICALdocs/assets/js/docsify.js4518 while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {CODE
CRITICAL⚡docs/assets/js/docsify.min.js1(function(){function cached(fn){var cache=Object.create(null);return function(str){var key=isPrimitive(str)?str:JSON.strCODE
CRITICAL⚡docs/assets/js/docsify.min.js5 .replace(/(^|[-\u2014/(\[{\u2018\s])"/g,'$1\u201c').replace(/"/g,'\u201d').replace(/\.{3}/g,'\u2026')}function manglCODE
AI Slop Vocabulary24 hits · 70 pts
SeverityFileLineSnippetContext
MEDIUM…tive/ios/renderer/component/image/HippyAnimatedImage.m340 // Note: We could leverage `CGImageSourceCreateWithURL` too to add a second initializer `-initWithAnimatedGIFConCOMMENT
MEDIUM…voltron/example/assets/jsbundle/vue3/vendor.android.js45function r(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}n.d(t,"EMPTY_ARR",(functionCODE
MEDIUMframework/examples/ios-demo/res/vue3/vendor.ios.js43/*! #__NO_SIDE_EFFECTS__ */function c(e,t){var n=new Set(e.split(","));return t?function(e){return n.has(e.toLowerCase()COMMENT
MEDIUMframework/examples/ios-demo/res/vue3/vendor.ios.js43/*! #__NO_SIDE_EFFECTS__ */function c(e,t){var n=new Set(e.split(","));return t?function(e){return n.has(e.toLowerCase()COMMENT
LOWframework/examples/ios-demo/res/vue3/index.ios.js22/*! #__NO_SIDE_EFFECTS__ */(e,t,n,l))?(!function(e,t,o,n){if("innerHTML"!==t&&"textContent"!==t){var a=e.tagName;if("valCOMMENT
MEDIUM…ework/examples/android-demo/res/vue3/vendor.android.js45function r(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}n.d(t,"EMPTY_ARR",(functionCODE
MEDIUM⚡…-demo/src/main/resources/rawfile/vue3/index.android.js1!function(e){function t(t){for(var o,r,a=t[0],c=t[1],l=0,s=[];l<a.length;l++)r=a[l],Object.prototype.hasOwnProperty.callCODE
MEDIUM⚡…-demo/src/main/resources/rawfile/vue3/index.android.js1!function(e){function t(t){for(var o,r,a=t[0],c=t[1],l=0,s=[];l<a.length;l++)r=a[l],Object.prototype.hasOwnProperty.callCODE
LOW⚡…-demo/src/main/resources/rawfile/vue3/index.android.js7const l="undefined"!=typeof window;function i(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const s=Object.asCODE
MEDIUM⚡…hos-demo/src/main/resources/rawfile/vue3/index.ohos.js26function n(e,t){const o=new Set(e.split(","));return t?e=>o.has(e.toLowerCase()):e=>o.has(e)}o.d(t,"EMPTY_ARR",(functionCODE
LOW⚡…hos-demo/src/main/resources/rawfile/vue3/index.ohos.js36**/Object.defineProperty(t,"__esModule",{value:!0});var n=o("./node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundCODE
MEDIUM…os-demo/src/main/resources/rawfile/vue3/vendor.ohos.js47function r(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}n.d(t,"EMPTY_ARR",(functionCODE
MEDIUM⚡…demo/src/main/resources/rawfile/vue3/vendor.android.js24 */const v=/-(\w)/g,b=(e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))})(e=>e.replace(v,(e,t)=>t?t.toUpperCaCOMMENT
MEDIUM⚡…demo/src/main/resources/rawfile/vue3/vendor.android.js24 */const v=/-(\w)/g,b=(e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))})(e=>e.replace(v,(e,t)=>t?t.toUpperCaCOMMENT
MEDIUM⚡…o/flutter_module/assets/jsbundle/vue3/index.android.js1!function(e){function t(t){for(var o,r,a=t[0],c=t[1],l=0,s=[];l<a.length;l++)r=a[l],Object.prototype.hasOwnProperty.callCODE
MEDIUM⚡…o/flutter_module/assets/jsbundle/vue3/index.android.js1!function(e){function t(t){for(var o,r,a=t[0],c=t[1],l=0,s=[];l<a.length;l++)r=a[l],Object.prototype.hasOwnProperty.callCODE
LOW⚡…o/flutter_module/assets/jsbundle/vue3/index.android.js7const l="undefined"!=typeof window;function i(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const s=Object.asCODE
MEDIUM⚡…/flutter_module/assets/jsbundle/vue3/vendor.android.js24 */const v=/-(\w)/g,b=(e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))})(e=>e.replace(v,(e,t)=>t?t.toUpperCaCOMMENT
MEDIUM⚡…/flutter_module/assets/jsbundle/vue3/vendor.android.js24 */const v=/-(\w)/g,b=(e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))})(e=>e.replace(v,(e,t)=>t?t.toUpperCaCOMMENT
MEDIUM⚡…emo/flutter_proj/assets/jsbundle/vue3/index.android.js1!function(e){function t(t){for(var o,r,a=t[0],c=t[1],l=0,s=[];l<a.length;l++)r=a[l],Object.prototype.hasOwnProperty.callCODE
MEDIUM⚡…emo/flutter_proj/assets/jsbundle/vue3/index.android.js1!function(e){function t(t){for(var o,r,a=t[0],c=t[1],l=0,s=[];l<a.length;l++)r=a[l],Object.prototype.hasOwnProperty.callCODE
LOW⚡…emo/flutter_proj/assets/jsbundle/vue3/index.android.js7const l="undefined"!=typeof window;function i(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const s=Object.asCODE
MEDIUM⚡…mo/flutter_proj/assets/jsbundle/vue3/vendor.android.js24 */const v=/-(\w)/g,b=(e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))})(e=>e.replace(v,(e,t)=>t?t.toUpperCaCOMMENT
MEDIUM⚡…mo/flutter_proj/assets/jsbundle/vue3/vendor.android.js24 */const v=/-(\w)/g,b=(e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))})(e=>e.replace(v,(e,t)=>t?t.toUpperCaCOMMENT
Fake / Example Data51 hits · 66 pts
SeverityFileLineSnippetContext
LOW…tt/hippy/views/textinput/HippyTextInputController.java358 @HippyControllerProps(name = "placeholder", defaultType = HippyControllerProps.STRING)CODE
LOW…common/include/renderer/tdf/viewnode/text_input_node.h86constexpr const char kPlaceholder[] = "placeholder"; // StringCODE
LOWrenderer/voltron/lib/style/prop.dart235 static const String kPlaceholder = "placeholder";CODE
LOW…voltron/example/assets/jsbundle/vue2/vendor.android.js47 */(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!COMMENT
LOW…/voltron/example/assets/jsbundle/vue3/index.android.js22"undefined"!=typeof HTMLElement&&HTMLElement;Symbol("_moveCb"),Symbol("_enterCb");Symbol("_assign");const S=["ctrl","shiCODE
LOW…voltron/example/assets/jsbundle/vue3/vendor.android.js25const o=["mode","valueType","startValue","toValue"],i=["transform"],s=["transform"];function c(e,t){if(null==e)return{};CODE
LOW…oltron/example/assets/jsbundle/react/vendor.android.js23 */(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(COMMENT
LOW…ar-demo/src/main/resources/rawfile/vue2/vendor.ohos.js49const i=Object.freeze({});function s(e){return null==e}function a(e){return null!=e}function c(e){return!0===e}function CODE
LOW…r-demo/src/main/resources/rawfile/react/vendor.ohos.js32 */(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(COMMENT
LOWframework/examples/ios-demo/res/vue2/vendor.ios.js47 */n.d(t,"default",(function(){return nl}));var $=Object.freeze({});function A(e){return null==e}function N(e){return nuCOMMENT
LOWframework/examples/ios-demo/res/vue3/vendor.ios.js25var i=["mode","valueType","startValue","toValue"],o=["transform"],a=["transform"];function u(e,t){if(null==e)return{};vaCODE
LOWframework/examples/ios-demo/res/vue3/index.ios.js22/*! #__NO_SIDE_EFFECTS__ */(e,t,n,l))?(!function(e,t,o,n){if("innerHTML"!==t&&"textContent"!==t){var a=e.tagName;if("valCOMMENT
LOWframework/examples/ios-demo/res/react/vendor.ios.js23 */e.__GLOBAL__||(e.__GLOBAL__={}),e.__GLOBAL__.nodeId=0,e.__GLOBAL__.animationId=0;var H,M,B=e.Hippy,D=B.asyncStorage,UCOMMENT
LOW…ework/examples/android-demo/res/vue2/vendor.android.js47 */(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!COMMENT
LOW…mework/examples/android-demo/res/vue3/index.android.js22"undefined"!=typeof HTMLElement&&HTMLElement;Symbol("_moveCb"),Symbol("_enterCb");Symbol("_assign");const S=["ctrl","shiCODE
LOW…ework/examples/android-demo/res/vue3/vendor.android.js25const o=["mode","valueType","startValue","toValue"],i=["transform"],s=["transform"];function c(e,t){if(null==e)return{};CODE
LOW…work/examples/android-demo/res/react/vendor.android.js23 */(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(COMMENT
LOW…-c-demo/src/main/resources/rawfile/vue2/vendor.ohos.js49const i=Object.freeze({});function s(e){return null==e}function a(e){return null!=e}function c(e){return!0===e}function CODE
LOW…os-demo/src/main/resources/rawfile/vue2/vendor.ohos.js47 */(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!COMMENT
LOW⚡…-demo/src/main/resources/rawfile/vue3/index.android.js7const l="undefined"!=typeof window;function i(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const s=Object.asCODE
LOW⚡…hos-demo/src/main/resources/rawfile/vue3/index.ohos.js36**/Object.defineProperty(t,"__esModule",{value:!0});var n=o("./node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundCODE
LOW…os-demo/src/main/resources/rawfile/vue3/vendor.ohos.js25const o=["mode","valueType","startValue","toValue"],i=["transform"],s=["transform"];function c(e,t){if(null==e)return{};CODE
LOW⚡…demo/src/main/resources/rawfile/vue3/vendor.android.js24 */const v=/-(\w)/g,b=(e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))})(e=>e.replace(v,(e,t)=>t?t.toUpperCaCOMMENT
LOW…s-demo/src/main/resources/rawfile/react/vendor.ohos.js32 */(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(COMMENT
LOW…emo/src/main/resources/rawfile/react/vendor.android.js23 */(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(COMMENT
LOW…/flutter_module/assets/jsbundle/vue2/vendor.android.js49const i=Object.freeze({});function s(e){return null==e}function a(e){return null!=e}function c(e){return!0===e}function CODE
LOW⚡…o/flutter_module/assets/jsbundle/vue3/index.android.js7const l="undefined"!=typeof window;function i(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const s=Object.asCODE
LOW⚡…/flutter_module/assets/jsbundle/vue3/vendor.android.js24 */const v=/-(\w)/g,b=(e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))})(e=>e.replace(v,(e,t)=>t?t.toUpperCaCOMMENT
LOW…flutter_module/assets/jsbundle/react/vendor.android.js23 */(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(COMMENT
LOW…mo/flutter_proj/assets/jsbundle/vue2/vendor.android.js49const i=Object.freeze({});function s(e){return null==e}function a(e){return null!=e}function c(e){return!0===e}function CODE
LOW⚡…emo/flutter_proj/assets/jsbundle/vue3/index.android.js7const l="undefined"!=typeof window;function i(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const s=Object.asCODE
LOW⚡…mo/flutter_proj/assets/jsbundle/vue3/vendor.android.js24 */const v=/-(\w)/g,b=(e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))})(e=>e.replace(v,(e,t)=>t?t.toUpperCaCOMMENT
LOW…o/flutter_proj/assets/jsbundle/react/vendor.android.js23 */(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(COMMENT
LOW…iver/js/packages/hippy-web-renderer/src/types/index.ts107 PLACEHOLDER = 'placeholder',CODE
LOW…ackages/hippy-web-renderer/src/component/text-input.ts159 this.dom?.setAttribute('placeholder', value);CODE
LOWdriver/js/packages/hippy-react/src/dom/element-node.ts472 match: () => ['value', 'defaultValue', 'placeholder'].indexOf(key) >= 0,CODE
LOW…ges/hippy-vue-next/__test__/built-in-component.test.ts220 imgElement.setAttribute('placeholder', 'https://hippyjs.org/index.png');CODE
LOW…ges/hippy-vue-next/__test__/built-in-component.test.ts223 imgElement.setAttribute('placeholder', 'assets/index.png');CODE
LOW⚡…ue-next/__test__/runtime/element/hippy-element.test.ts245 element.setAttribute('placeholder', 123);CODE
LOW⚡…ue-next/__test__/runtime/element/hippy-element.test.ts246 expect(element.getAttribute('placeholder')).toEqual('123');CODE
LOW⚡…ue-next/__test__/runtime/element/hippy-element.test.ts256 element.setAttribute('placeholder', '123');CODE
LOW⚡…ue-next/__test__/runtime/element/hippy-element.test.ts257 expect(element.getAttribute('placeholder')).toEqual('123');CODE
LOW⚡…ue-next/__test__/runtime/element/hippy-element.test.ts263 expect(() => element.setAttribute('placeholder', undefined)).toThrow(TypeError);CODE
LOW…t/__test__/runtime/element/hippy-input-element.test.ts40 hippyInputElement.setValue('placeholder');CODE
LOW…es/hippy-vue-next/src/runtime/element/hippy-element.ts463 case 'placeholder': {CODE
LOW…ppy-vue-next-server-renderer/__test__/renderer.test.ts37 + '{"id":8,"name":"TextInput","props":{"onChange":true,"onSelect":true, "placeholder": 100, "maxlength": 5, "value":CODE
LOW…ver/js/packages/hippy-vue/src/renderer/element-node.ts72 PLACEHOLDER: 'placeholder',CODE
LOWdocs/assets/js/docsify.js951 var html$1 = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'auCODE
LOWdocs/assets/js/docsify.js1203 var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholdeCODE
LOW⚡docs/assets/js/docsify.min.js1(function(){function cached(fn){var cache=Object.create(null);return function(str){var key=isPrimitive(str)?str:JSON.strCODE
LOWdom/include/dom/node_props.h82constexpr const char* kPlaceholder = "placeholder";CODE
Hyper-Verbose Identifiers57 hits · 61 pts
SeverityFileLineSnippetContext
LOWdriver/js/include/driver/napi/jsc/jsc_ctx.h67class ConstructorDataManager {CODE
LOW…s/hippy-vue-next-ssr-demo/scripts/webpack.ssr.build.js71function generateClientEntryForProduction() {CODE
LOWdriver/js/scripts/build.js60function cleanTypescriptDeclarationFiles(filePath) {CODE
LOW…ackages/hippy-web-renderer/src/component/scrollable.ts280export function calculateScrollEndPagePosition(pageUnitSize: number, scrollSize: number, endScrollOffset: number) {CODE
LOW…ackages/hippy-web-renderer/src/component/scrollable.ts299export function virtualScrollEventDispatchBegin(CODE
LOW…ackages/hippy-web-renderer/src/component/scrollable.ts333export function virtualScrollEventDispatchEnd(CODE
LOW…hippy-vue-next-compiler-ssr/src/ssrCodegenTransform.ts94function createSSRTransformContext(CODE
LOW…hippy-vue-next-compiler-ssr/src/ssrCodegenTransform.ts253export function processChildrenAsStatement(CODE
LOW…t-compiler-ssr/src/transforms/ssrTransformComponent.ts148 return function ssrPostTransformComponent() {CODE
LOW…iler-ssr/src/transforms/ssrTransformTransitionGroup.ts52export function ssrTransformTransitionGroup(CODE
LOW…iler-ssr/src/transforms/ssrTransformTransitionGroup.ts83export function ssrProcessTransitionGroup(CODE
LOWdriver/js/packages/hippy-react/src/renderer/render.ts327function renderToNativeWithChildren(CODE
LOW…r/js/packages/hippy-react/src/renderer/host-configs.ts68export function commitMutationEffectsBegin(): void {CODE
LOW…r/js/packages/hippy-react/src/renderer/host-configs.ts73export function commitMutationEffectsComplete(): void {CODE
LOW…r/js/packages/hippy-react/src/renderer/host-configs.ts176function finalizeContainerChildren() {}CODE
LOW…r/js/packages/hippy-react/src/renderer/host-configs.ts228function shouldDeprioritizeSubtree(): boolean {CODE
LOW⚡…r/js/packages/hippy-react/src/renderer/host-configs.ts263function getFundamentalComponentInstance() {CODE
LOW⚡…r/js/packages/hippy-react/src/renderer/host-configs.ts267function mountFundamentalComponent() {CODE
LOW⚡…r/js/packages/hippy-react/src/renderer/host-configs.ts271function shouldUpdateFundamentalComponent() {CODE
LOW⚡…r/js/packages/hippy-react/src/renderer/host-configs.ts275function updateFundamentalComponent() {CODE
LOW⚡…r/js/packages/hippy-react/src/renderer/host-configs.ts279function unmountFundamentalComponent() {CODE
LOW…r/js/packages/hippy-react/src/renderer/host-configs.ts291function makeOpaqueHydratingObject(): string {CODE
LOWdriver/js/packages/hippy-react/src/utils/node.ts126function recursivelyUnCacheFiberNode(node: ElementNode | number): void {CODE
LOWdriver/js/packages/hippy-react/src/utils/node.ts218function translateToNativeEventName(name) {CODE
LOWdriver/js/packages/hippy-react/src/dom/element-node.ts145function getLinearGradientColorStop(value: string): Object | undefined {CODE
LOWdriver/js/packages/hippy-vue-next/src/hydration.ts77export function convertToHippyElementTree(ssrNodeList: SsrNode[]): HippyElement {CODE
LOWdriver/js/packages/hippy-vue-next/src/util/event.ts51function translateToNativeEventName(name: string) {CODE
LOW…js/packages/hippy-vue-next/src/runtime/render/index.ts190export function renderInsertChildNativeNode([nativeLanguages, eventLanguages, printedLanguages]): void {CODE
LOW…js/packages/hippy-vue-next/src/runtime/render/index.ts206export function renderMoveChildNativeNode([nativeLanguages,, printedLanguages]): void {CODE
LOW…js/packages/hippy-vue-next/src/runtime/render/index.ts223export function renderRemoveChildNativeNode([nativeLanguages,, printedLanguages]): void {CODE
LOW…js/packages/hippy-vue-next/src/runtime/render/index.ts240export function renderUpdateChildNativeNode([nativeLanguages, eventLanguages, printedLanguages]): void {CODE
LOW…js/packages/hippy-vue-next/src/runtime/render/index.ts257export function renderUpdateChildNativeEvent(eventNode): void {CODE
LOW…ackages/hippy-vue-next-server-renderer/src/renderer.ts231function convertSpecialKebabCaseToCamelCase(rawProps: SsrNodeProps): SsrNodeProps {CODE
LOW…ver/js/packages/hippy-vue/src/renderer/element-node.ts146function getLinearGradientColorStop(value: string) {CODE
LOWdriver/js/packages/hippy-vue/src/native/index.ts537function renderToNativeWithChildren(rootViewId: NeedToTyped, node: NeedToTyped, callback?: CallbackType, refInfo = {}) {CODE
LOWdriver/js/packages/hippy-vue/src/util/event.ts51function translateToNativeEventName(name: string) {CODE
LOWdriver/js/packages/hippy-vue/src/style/parser.ts126function parseSimpleIdentifierSelector(CODE
LOWdriver/js/packages/hippy-vue/src/style/parser.ts188function parseSimpleSelectorSequence(CODE
LOWdriver/js/packages/hippy-vue/src/style/ast-parser.ts56export function createSimpleSelectorFromAst(ast: any) {CODE
LOWdriver/js/packages/hippy-vue/src/style/ast-parser.ts68export function createSimpleSelectorSequenceFromAst(ast?: SelectorType[]) {CODE
LOW…y-vue-next-style-parser/src/style-parser/css-parser.ts275function getLinearGradientColorStop(value = ''): ColorObject | null {CODE
LOW…/hippy-vue-next-style-parser/src/style-match/parser.ts119function parseSimpleIdentifierSelector(text, start) {CODE
LOW…/hippy-vue-next-style-parser/src/style-match/parser.ts178function parseSimpleSelectorSequence(text, start) {CODE
LOW…hippy-vue-next-style-parser/src/style-match/css-map.ts56function createSimpleSelectorFromAst(ast) {CODE
LOW…hippy-vue-next-style-parser/src/style-match/css-map.ts77function createSimpleSelectorSequenceFromAst(ast) {CODE
LOW…ver/js/packages/hippy-vue-css-loader/src/css-parser.ts364 function getLinearGradientColorStop(value: any) {CODE
LOWdriver/js/lib/global/ConsoleModule.js37function getOwnPropertyDescriptors(param) {CODE
LOWdriver/js/lib/global/Dimensions.js25function transferToUnifiedDimensions(nativeDimensions) {CODE
LOWdocs/assets/js/docsify.js2378 function getAndActive(router, el, isParent, autoTitle) {CODE
LOWdocs/assets/js/docsify.js5669 function getAndRemoveConfig(str) {CODE
LOWdocs/assets/js/docsify.js6873 function highlightAutomaticallyCallback() {CODE
LOWdocs/assets/js/search.min.js1(function(){function getAndRemoveConfig(str){if(str===void 0)str='';var config={};if(str){str=str.replace(/^('|")/,'').rCODE
LOW⚡docs/assets/js/docsify.min.js1(function(){function cached(fn){var cache=Object.create(null);return function(str){var key=isPrimitive(str)?str:JSON.strCODE
LOW⚡docs/assets/js/docsify.min.js5 .replace(/(^|[-\u2014/(\[{\u2018\s])"/g,'$1\u201c').replace(/"/g,'\u201d').replace(/\.{3}/g,'\u2026')}function manglCODE
LOW⚡docs/assets/js/docsify.min.js5 .replace(/(^|[-\u2014/(\[{\u2018\s])"/g,'$1\u201c').replace(/"/g,'\u201d').replace(/\.{3}/g,'\u2026')}function manglCODE
LOWdocs/assets/js/search.js22 function getAndRemoveConfig(str) {CODE
LOWmodules/vfs/ios/HippyBase64DataHandler.h28class HippyBase64DataHandler : public VFSUriHandler {CODE
Slop Phrases5 hits · 12 pts
SeverityFileLineSnippetContext
LOWrenderer/voltron/lib/render/render_context.dart84 /// don't forget to bind current renderContextCOMMENT
LOWrenderer/voltron/lib/render/render_context.dart100 /// don't forget to bind current renderContextCOMMENT
MEDIUMframework/voltron/example/pubspec.yaml54 # included with your application, so that you can use the icons inCOMMENT
MEDIUM…work/examples/voltron-demo/flutter_module/pubspec.yaml65 # included with your application, so that you can use the icons inCOMMENT
MEDIUM…mework/examples/voltron-demo/flutter_proj/pubspec.yaml83 # included with your application, so that you can use the icons inCOMMENT
Verbosity Indicators6 hits · 9 pts
SeverityFileLineSnippetContext
LOW…ncent/mtt/hippy/views/hippylist/HippyRecyclerView.java870 // Step 1: process pull refreshCOMMENT
LOW…ncent/mtt/hippy/views/hippylist/HippyRecyclerView.java887 // Step 2: process the current ViewCOMMENT
LOW…ncent/mtt/hippy/views/hippylist/HippyRecyclerView.java899 // Step 3: dispatch to the parent for processingCOMMENT
LOW…ncent/mtt/hippy/views/hippylist/HippyRecyclerView.java917 // Step 1: Dispatch to the parent for processingCOMMENT
LOW…ncent/mtt/hippy/views/hippylist/HippyRecyclerView.java930 // Step 2: process pull refreshCOMMENT
LOW…ncent/mtt/hippy/views/hippylist/HippyRecyclerView.java949 // Step 3: process the current ViewCOMMENT
Structural Annotation Overuse6 hits · 9 pts
SeverityFileLineSnippetContext
LOW…ncent/mtt/hippy/views/hippylist/HippyRecyclerView.java870 // Step 1: process pull refreshCOMMENT
LOW…ncent/mtt/hippy/views/hippylist/HippyRecyclerView.java887 // Step 2: process the current ViewCOMMENT
LOW…ncent/mtt/hippy/views/hippylist/HippyRecyclerView.java899 // Step 3: dispatch to the parent for processingCOMMENT
LOW…ncent/mtt/hippy/views/hippylist/HippyRecyclerView.java917 // Step 1: Dispatch to the parent for processingCOMMENT
LOW…ncent/mtt/hippy/views/hippylist/HippyRecyclerView.java930 // Step 2: process pull refreshCOMMENT
LOW…ncent/mtt/hippy/views/hippylist/HippyRecyclerView.java949 // Step 3: process the current ViewCOMMENT
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMframework/voltron/pubspec.yaml34# The following section is specific to Flutter.COMMENT
MEDIUMframework/voltron/example/pubspec.yaml50# The following section is specific to Flutter.COMMENT
MEDIUM…mework/examples/voltron-demo/flutter_proj/pubspec.yaml79# The following section is specific to Flutter packages.COMMENT
Unused Imports4 hits · 4 pts
SeverityFileLineSnippetContext
LOWrenderer/voltron/script/build.py3CODE
LOWrenderer/voltron/script/build.py4CODE
LOWrenderer/voltron/script/build.py6CODE
LOWframework/voltron/script/build.py23CODE