16 dépôts
Tools for runtime introspection and dynamic type manipulation.
Explore 16 awesome GitHub repositories matching part of an awesome list · Runtime Reflection. Refine with filters or upvote what's useful.
Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly typed objects. It provides a relational database mapper for performing CRUD operations across MySQL, PostgreSQL, and SQLite, and includes a programmatic dynamic query builder for constructing complex SQL statements. The project distinguishes itself by providing a GraphQL schema generator that transforms database entities into typed schemas with built-in pagination and filters. It also features a dedicated database migration tool for defining and applying versioned schema chan
Gets and sets model attributes dynamically at runtime to handle flexible data formats like JSON.
Fx is a dependency injection framework and application lifecycle manager for Go. It functions as a component model container that automates the instantiation and connection of components by analyzing constructor parameters and return values to resolve complex dependency graphs. The framework distinguishes itself through module-based component bundling, which encapsulates related constructors into reusable units to manage visibility and logic. It provides advanced resolution capabilities, including mapping concrete types to interfaces for decoupling, resolving dependency ambiguities via unique
Uses runtime type analysis to match requested dependencies with available providers.
Haxe is a statically typed, multi-target programming language and open-source compiler toolkit that translates a single codebase into native executables and scripts for JavaScript, C++, C#, Java, Python, Lua, PHP, and Flash targets. It provides a unified type system with automatic type inference, a compile-time macro system for code transformation and generation, conditional compilation directives, and a static analysis engine that enforces null safety and eliminates dead code to produce smaller, safer outputs. The language is supported by the HashLink virtual machine, which executes platform
Provides runtime type introspection and dynamic value manipulation through a cross-platform reflection API.
Harmony is a library for modifying, replacing, and decorating compiled .NET and Mono methods during execution without altering binary files on disk. It functions as a runtime method patching tool, a CIL instruction manipulator, and a reflection extension for C#. The project provides mechanisms to intercept method execution, allowing custom code to run before or after original methods while maintaining the existing program flow. It enables the analysis and rewriting of Common Intermediate Language instructions to change the internal logic of compiled methods. The toolkit also includes utiliti
Provides low-level reflection tools to bypass access modifiers and interact with private members.
Object-reflector est une bibliothèque de réflexion d'objets Python et un outil d'accès dynamique aux attributs. Il fonctionne comme un extracteur de propriétés d'objets conçu pour récupérer des valeurs depuis l'état interne d'un objet et ses hiérarchies d'héritage lors de l'exécution. La bibliothèque permet d'accéder et d'extraire des attributs d'objets privés, protégés et hérités. Cela permet l'inspection de propriétés internes indépendamment de leur visibilité. Le projet couvre des domaines tels que les flux de travail de débogage logiciel, les utilitaires de test automatisés et la réflexion générale au runtime Python pour analyser les propriétés d'objets sans modifier le code source.
Enables runtime introspection and dynamic retrieval of protected or inherited class properties.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
Provides access to basic type information during program execution.
Autofac est un framework d'injection de dépendances et un conteneur d'inversion de contrôle pour .NET. Il fonctionne comme un moteur d'enregistrement de composants qui découple les implémentations de classes de leurs dépendances en injectant les services requis via des constructeurs ou des propriétés. Le projet inclut une bibliothèque de scan d'assemblages pour découvrir et enregistrer automatiquement les composants au sein des binaires compilés en fonction de critères de type spécifiques. Il fournit un gestionnaire de durée de vie des services pour contrôler la durée de vie des objets en mémoire en utilisant des singletons, des instances par dépendance ou des portées de requête isolées. Le framework couvre un large éventail de capacités, incluant l'injection de dépendances récursive, la résolution de services conditionnelle et l'organisation des enregistrements en modules réutilisables. Il prend également en charge la gestion de portées de résolution isolées pour garantir que les instances sont correctement supprimées. Le système s'intègre à divers environnements, fournissant des mécanismes pour le bootstrapping d'hébergement d'applications, l'injection de dépendances dans des fonctions serverless et le mocking automatisé pour les tests.
Uses runtime type inspection to automatically identify and inject required services into constructor parameters.
dig est un framework d'injection de dépendances basé sur la réflexion et un résolveur de graphe d'objets pour Go. Il fonctionne comme un conteneur qui satisfait automatiquement les dépendances de type et gère l'instanciation de réseaux complexes d'objets lors du démarrage de l'application. Le projet utilise un graphe orienté acyclique pour déterminer la séquence nécessaire à l'instanciation des objets et emploie un mappage de fournisseur piloté par interface pour découpler les implémentations concrètes de leurs interfaces satisfaites. Il résout la hiérarchie des objets par la résolution de type basée sur la réflexion et le câblage des composants en un seul passage pour garantir que toutes les exigences sont remplies avant l'exécution.
Uses runtime type analysis and Go reflection to match dependency requests with available providers.
MvvmCross est un framework .NET MVVM conçu pour construire des applications multiplateforme en séparant la logique métier des interfaces utilisateur natives. Il fonctionne comme un moteur de navigation et une bibliothèque de liaison de données (data binding) UI, permettant l'encapsulation de la logique au sein de view models qui sont réutilisés à travers différents systèmes d'exploitation. Le framework fournit une couche d'abstraction matérielle native et un conteneur d'injection de dépendances pour découpler les composants et fournir une interface cohérente pour accéder aux fonctionnalités de l'appareil. Il coordonne les transitions sécurisées en termes de type entre les écrans natifs et gère la synchronisation des données entre les classes de logique partagée et les composants UI natifs via des notifications de changement de propriété. Le projet couvre un large éventail de capacités, incluant la gestion du cycle de vie de l'application, le deeplinking URI et l'enregistrement de services d'inversion de contrôle. Il inclut également des utilitaires pour l'internationalisation, la messagerie pub-sub via un agrégateur d'événements à référence faible, et l'intégration matérielle pour les capteurs, la géolocalisation et l'authentification biométrique.
Implements dependency resolution by using runtime type analysis to match requests with providers in the IoC container.
A Swift Runtime library for viewing type info, and the dynamic getting and setting of properties.
Viewing type info and dynamic property access.
Inject est une bibliothèque d'injection de dépendances pour Go qui gère les cycles de vie des objets et câble les composants d'application en automatisant la fourniture des dépendances. Elle fonctionne comme un conteneur basé sur la réflexion qui mappe des valeurs spécifiques à leurs types correspondants, permettant la récupération et l'injection automatiques d'objets dans la logique d'application. La bibliothèque se distingue par sa capacité à effectuer une invocation de fonction automatique, où elle inspecte les signatures de fonction à l'exécution pour résoudre et fournir les arguments requis à partir d'un registre central. Elle prend également en charge l'injection de champs de structure, qui peuple les propriétés d'objet en scannant des balises de métadonnées spécifiques lors de l'initialisation. Le framework facilite la conception modulaire via la gestion de conteneurs hiérarchiques, permettant aux conteneurs enfants de déléguer les recherches de dépendances aux portées parentes lorsqu'un type demandé est manquant localement. Ce système prend en charge la résolution basée sur l'interface, garantissant que les implémentations concrètes sont correctement appariées aux types demandés sur la base d'une évaluation à l'exécution.
Matches concrete implementations to requested interface types using runtime reflection.
Reflection based (Dictionary, CKRecord, NSManagedObject, Realm, JSON and XML) object mapping with extensions for Alamofire and Moya with RxSwift or ReactiveSwift
Reflection-based JSON encoding and decoding.
DEPRECATED
Advanced runtime reflection and dynamic type construction.
Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die
Auto-reflection from JSON to models.
Reflection, Dict2Model, Model2Dict, Archive
Reflection and dictionary-to-model mapping.
Key-Value Coding (KVC) for native Swift classes and structs
Key-Value Coding for native Swift types.