9 مستودعات
Deduces variable types by simulating code paths and propagating type information through the internal program representation.
Distinct from Static Type Inference: Distinct from Static Type Inference: focuses on inference within a static analysis tool to enable deeper linting, not compiler-level type deduction.
Explore 9 awesome GitHub repositories matching programming languages & runtimes · Type Inference Support. Refine with filters or upvote what's useful.
Pylint هي أداة تحليل كود استاتيكي لـ Python تتحقق من الكود المصدري بحثاً عن الأخطاء، وانتهاكات معايير البرمجة، وروائح الكود دون تنفيذ البرنامج. تقوم بتحليل الكود إلى شجرة بناء جملة مجردة وتتجول في الشجرة لاكتشاف المشكلات، وتفرض قواعد أسلوب واتفاقيات تسمية قابلة للتكوين، وتحدد كتل الكود المكررة من خلال مقارنة تسلسلات المصدر المرمزة. تتضمن الأداة أيضاً محرك استنتاج يستنتج أنواع المتغيرات عن طريق محاكاة مسارات الكود، مما يتيح تحليلاً أعمق حتى في الكود غير المكتوب. ما يميز Pylint هو بنية المدقق القائمة على الإضافات، والتي تسمح للمستخدمين بتوسيع التحليل عن طريق تحميل وحدات Python خارجية تسجل مدققين مخصصين وقواعد استنتاج في وقت التشغيل. تدعم طبقات ملفات الإعدادات، ودمج الإعدادات من ملفات إعدادات متعددة ووسائط سطر الأوامر بحيث يمكن تجاوز الإعدادات الافتراضية على مستوى المشروع بواسطة خيارات محلية أو خاصة بالإضافات. يتتبع Pylint أيضاً جودة الكود بمرور الوقت من خلال مقارنة نتائج التحليل الحالية مقابل درجة أساسية مخزنة، والإبلاغ عن التحسن أو التراجع في التشغيلات المتتالية، ويمكنه توليد مخططات فئات وحزم UML من شجرة بناء الجملة المجردة بتنسيقات Graphviz أو PlantUML أو MermaidJS. تتكامل الأداة في خطوط أنابيب التكامل المستمر وخطافات ما قبل الالتزام لتشغيل الفحوصات عبر إصدارات مترجم Python متعددة تلقائياً. يمكن تثبيتها عبر pip أو conda أو مدير حزم النظام، وتوفر تدقيقاً إملائياً اختيارياً لمعرفات الكود من خلال مكتبة enchant. يوفر Pylint أيضاً تكاملاً للمحرر لبيئات مثل Emacs و TextMate، ويتضمن عارض شرح الرسائل الذي يطبع الوصف الكامل وسياق أي رمز تحذير أو خطأ محدد مباشرة من سطر الأوامر.
Deduces variable types by simulating code paths, enabling deeper analysis even in untyped Python code.
Phan هو محلل ثابت ومدقق أنواع لـ PHP يحدد الأخطاء وعدم توافق الأنواع دون تنفيذ الكود. يعمل كبوابة جودة لخطوط أنابيب التكامل المستمر وأداة للتحقق من سلامة الأنواع، وتحديداً فحص أنواع الاتحاد (union types)، والأنواع العامة (generics)، وأشكال المصفوفات. يتميز المشروع باستخدامه لخادم خلفي (daemon) وتنفيذ بروتوكول خادم اللغة (LSP)، والتي توفر تشخيصات وتنقلاً في الوقت الفعلي داخل المحررات. كما يتميز بنظام قمع قائم على خط الأساس يسمح للمطورين بتسجيل الأخطاء الموجودة في ملف لقطة للتركيز حصرياً على الانحدارات الجديدة. يغطي محرك التحليل مجموعة واسعة من القدرات بما في ذلك اكتشاف الكود الميت، والتحقق من توافق اللغة عبر إصدارات PHP المختلفة، واستنتاج أنواع المتغيرات والقوالب. يدعم التحليل القابل للتوسيع من خلال نظام إضافات ويوفر إصلاحات كود آلية لمجموعة فرعية من المشكلات المكتشفة. يمكن للمستخدمين بدء العملية عن طريق إنشاء ملف تكوين بمستويات صرامة قابلة للاختيار للتحقق من قاعدة الكود الخاصة بهم تدريجياً.
Determine variable types by analyzing assert statements and conditional logic within loops or branches.
Pytype هي أداة تحليل كود ساكن ومحرك استنتاج الأنواع لـ Python. تعمل كمحلل أنواع ساكن يكتشف عدم تطابق الأنواع ويتحقق من تعليقات الأنواع دون الحاجة إلى تلميحات يدوية كاملة، بينما تعمل أيضاً كمولد stub للأنواع لإنتاج ملفات تعريف مستقلة. يتميز المشروع بتحديد أنواع المتغيرات والدوال تلقائياً من خلال تحليل أنماط الكود والتعيينات. يسمح محرك الاستنتاج هذا بالتحقق الهيكلي للكود وتوليد stubs للأنواع التي تصف واجهات الوحدات والدوال. يغطي النظام عمليات تحليل ساكن واسعة، بما في ذلك التحقق الهيكلي لتسلسلات هرمية للفئات واستدعاءات الدوال، وتتبع الرموز لاكتشاف أخطاء مساحة الاسم وانتهاكات الوصول إلى السمات. كما يوفر بدائيات التحقق من الأنواع لفرض التعليقات ونظام أنواع قادر على نمذجة هياكل البيانات المعقدة باستخدام الاتحادات والخيارات.
Analyzes code to detect common mistakes and enforce type consistency without requiring manual type annotations.
هذا هو موقع التوثيق الشامل لإطار عمل JavaScript التقدمي Vue 2. وهو بمثابة مرجع فني ودليل تطوير لبناء واجهات مستخدم تفاعلية وتطبيقات الصفحة الواحدة. يوفر الموقع مرجعاً مفصلاً لـ JavaScript API ودليل مكونات الويب. ويغطي تنفيذ البنى القائمة على المكونات، وإدارة الحالة التفاعلية، واستخدام DOM افتراضي لمزامنة حالة التطبيق مع المتصفح. تشرح الوثائق الإمكانيات بما في ذلك التوجيه من جانب العميل، ومعالجة DOM التعريفية، وتحسينات بناء الواجهة الأمامية مثل العرض من جانب الخادم وتجميع القوالب المسبق. كما تشرح نهج إطار العمل لمزامنة الحالة، ودورات حياة المكونات، واستخدام التوجيهات المخصصة. يتم الحفاظ على المحتوى كمجموعة من البرامج التعليمية والمواصفات، مع تحرير الوثائق عبر Markdown.
Enables automatic type inference for component options and properties through the use of constructor methods.
هذا المشروع عبارة عن دليل شامل ومورد تعليمي للغة TypeScript. يغطي المبادئ الأساسية للغة، بما في ذلك نظام الأنواع الهيكلي، وتحليل الأنواع الساكن، وعملية تحويل ملفات المصدر المكتوبة بأنواع إلى JavaScript. تفصل المادة كيفية نمذجة البيانات المعقدة ومنطق الأنواع القابل لإعادة الاستخدام باستخدام الأنواع العامة (generics)، والأنواع الشرطية، والأنواع المعينة. كما يشرح استخدام ملفات الإعلان لتوفير سلامة الأنواع لمكتبات JavaScript الخارجية ودمج فحص الأنواع في مشاريع JavaScript الحالية عبر تعليقات JSDoc. يمتد نطاق المحتوى إلى أنماط البرمجة كائنية التوجه، ومعالجة DOM، وتكوين سلوكيات المترجم. يتضمن توجيهاً حول إدارة قابلية التشغيل البيني للوحدات، وإعداد خطوط أنابيب البناء، واستخدام ذكاء المحرر لتحسين إنتاجية المطور.
Covers advanced type manipulation using the infer keyword to extract return types or element types.
هذا المشروع عبارة عن إضافة IntelliJ IDE توفر بيئة تطوير متكاملة لـ Rust. تعمل كمنسق لنظام البناء وواجهة لتصحيح الأخطاء، وتوفر تحليلاً شاملاً للغة، وتمييزاً للصيغة، ومساعدة ذكية في تحرير الكود. تتكامل الإضافة مع خادم لغة لتوفير استنتاج النوع في الوقت الفعلي والتنقل في الكود. تتضمن أداة تحليل ثابت مخصصة لاكتشاف تكرارات الكود، وتحليل تسريبات الذاكرة، وقياس تغطية الاختبار. تغطي مجموعة الأدوات إدارة سلسلة الأدوات وتكامل Cargo للتعامل مع التبعيات والبيانات الوصفية. كما توفر إمكانيات لتوصيف الأداء، وتصحيح أخطاء البرامج في وقت التشغيل، وأتمتة الاختبار، بالإضافة إلى دعم تطوير تطبيقات الويب بما في ذلك إدارة الحاويات واستكشاف مخطط قاعدة البيانات.
Deduces and displays variable types by analyzing compiler output and source code flow.
lua-language-server is a static analysis tool and type checker for the Lua language that implements the Language Server Protocol. It provides a system for detecting type mismatches, unused code, and logic errors in source files. The project features an inference-based type system that deduces variable types and supports optional annotations and meta files to enforce type safety. It allows for the definition of custom types and function signatures, including support for overloads and member visibility controls. The server provides a broad set of IDE capabilities, including real-time code auto
Deduces variable types by analyzing assignments and return values to enforce type safety during static analysis.
هذا المشروع عبارة عن إضافة (plugin) للتفاعلية (reactivity) تجلب Composition API وإدارة الحالة التفاعلية من Vue 3 إلى تطبيقات Vue 2. يعمل المشروع كمنظم لمنطق المكونات (component logic) ونظام لتغليف الحالة التفاعلية والوظائف في أدوات مساعدة قابلة لإعادة الاستخدام. تتيح الإضافة استخدام وظائف قابلة للتركيب (composable functions) لمشاركة المنطق المعتمد على الحالة عبر المكونات دون الاعتماد على mixins. يوفر المشروع هيكلاً يعتمد على المتغيرات والوظائف البسيطة لتسهيل الاستنتاج التلقائي للأنواع (type inference) والإكمال التلقائي في المحرر. بالإضافة إلى ذلك، يتضمن نظام حقن تبعيات (dependency injection) يعتمد على الموفر (provider) لمشاركة البيانات والوظائف عبر شجرة المكونات. يغطي النظام إدارة الحالة التفاعلية، والخصائص المحسوبة (computed properties)، والمراقبين (watchers)، إلى جانب القدرة على ربط دورة حياة المكونات. كما يسمح بدمج مكتبات خارجية تعتمد على الحالة في نظام التفاعلية الأصلي ويدعم جلب البيانات مسبقاً (prefetching) على الخادم. المشروع مكتوب بلغة TypeScript.
Enables automatic derivation and validation of types for component options and properties.
SpotBugs هي أداة تحليل ثابت ومحلل بايت كود (bytecode) لتطبيقات Java. تقوم بمسح ملفات الفئات المجمعة لتحديد الأخطاء، والثغرات الأمنية، ومشكلات الأداء دون تنفيذ الكود. يعمل النظام ككاشف للأخطاء وأداة اختبار أمان التطبيقات الثابتة لتحديد الأخطاء المنطقية وإساءة استخدام واجهة برمجة التطبيقات. يتميز المشروع ببنية كاشف قائمة على الإضافات تسمح بدمج مكتبات خارجية لإضافة قواعد كشف مخصصة. يوفر تدقيقاً أمنياً متخصصاً للثغرات مثل حقن SQL، والبرمجة عبر المواقع (XSS)، واجتياز المسار، إلى جانب نظام نمطي لتحسين دقة التحليل وتقليل النتائج الإيجابية الكاذبة. تغطي الأداة مجموعة واسعة من مجالات الكشف، بما في ذلك أخطاء مزامنة التزامن، وإلغاء مرجعية المؤشر الفارغ، وتسريبات الموارد، وأخطاء تحويل النوع. كما تحدد الكود الميت، وعدم كفاءة الأداء، وانتهاكات اصطلاحات التسلسل. هذه الإمكانات متاحة عبر واجهة سطر الأوامر، وواجهة المستخدم الرسومية، والتكامل المباشر داخل بيئات التطوير المتكاملة. يمكن دمج SpotBugs في خطوط أنابيب البناء لفرض بوابات الجودة وتوليد تقارير التحليل بتنسيقات HTML أو XML.
References auxiliary class files to improve type inference and prune infeasible control paths.