16 Repos
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 is a Python object reflection library and dynamic attribute access tool. It functions as an object property extractor designed to retrieve values from an object's internal state and inheritance hierarchies during runtime. The library provides the capability to access and extract private, protected, and inherited object attributes. This allows for the inspection of internal properties regardless of their visibility. The project covers domains including software debugging workflows, automated testing utilities, and general Python runtime reflection to analyze object properties
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 ist ein Dependency-Injection-Framework und ein Inversion-of-Control-Container für .NET. Es fungiert als Komponenten-Registrierungs-Engine, die Klassenimplementierungen von ihren Abhängigkeiten entkoppelt, indem erforderliche Dienste über Konstruktoren oder Eigenschaften injiziert werden. Das Projekt enthält eine Assembly-Scanning-Bibliothek zur automatischen Entdeckung und Registrierung von Komponenten innerhalb kompilierter Binärdateien basierend auf spezifischen Typkriterien. Es bietet einen Service-Lifetime-Manager zur Steuerung der Objektspeicherdauer unter Verwendung von Singletons, Instance-per-Dependency oder isolierten Request-Scopes. Das Framework deckt ein breites Spektrum an Funktionen ab, darunter rekursive Dependency-Injection, bedingte Service-Auflösung und die Organisation von Registrierungen in wiederverwendbaren Modulen. Es unterstützt zudem die Verwaltung isolierter Auflösungs-Scopes, um sicherzustellen, dass Instanzen ordnungsgemäß freigegeben werden. Das System integriert sich in verschiedene Umgebungen und bietet Mechanismen für das Bootstrapping von Anwendungs-Hostings, Dependency-Injection für serverlose Funktionen und automatisiertes Test-Mocking.
Uses runtime type inspection to automatically identify and inject required services into constructor parameters.
dig ist ein auf Reflection basierendes Dependency-Injection-Framework und Object-Graph-Resolver für Go. Es fungiert als Container, der Abhängigkeiten automatisch auflöst und die Instanziierung komplexer Objektnetzwerke während des Anwendungsstarts verwaltet. Das Projekt nutzt einen gerichteten azyklischen Graphen (DAG), um die notwendige Sequenz für die Objektinstanziierung zu bestimmen, und verwendet interface-basiertes Provider-Mapping, um konkrete Implementierungen von ihren erfüllten Interfaces zu entkoppeln. Es löst die Objekthierarchie durch Reflection-basierte Typauflösung und Single-Pass-Komponentenverdrahtung auf, um sicherzustellen, dass alle Anforderungen vor der Ausführung erfüllt sind.
Uses runtime type analysis and Go reflection to match dependency requests with available providers.
MvvmCross ist ein .NET-MVVM-Framework, das für den Aufbau plattformübergreifender Anwendungen durch die Trennung von Geschäftslogik und nativen Benutzeroberflächen entwickelt wurde. Es fungiert als Navigations-Engine und UI-Data-Binding-Bibliothek, die die Kapselung von Logik innerhalb von View-Models ermöglicht, die über verschiedene Betriebssysteme hinweg wiederverwendet werden. Das Framework bietet eine native Hardware-Abstraktionsschicht und einen Dependency-Injection-Container, um Komponenten zu entkoppeln und eine konsistente Schnittstelle für den Zugriff auf Gerätefunktionen bereitzustellen. Es koordiniert typsichere Übergänge zwischen nativen Bildschirmen und verwaltet die Synchronisation von Daten zwischen gemeinsam genutzten Logikklassen und nativen UI-Komponenten durch Property-Change-Benachrichtigungen. Das Projekt deckt ein breites Spektrum an Funktionen ab, einschließlich Anwendungslebenszyklus-Management, URI-Deeplinking und Inversion-of-Control-Service-Registrierung. Es enthält zudem Dienstprogramme für Internationalisierung, Pub-Sub-Messaging über einen Weak-Reference-Event-Aggregator und Hardware-Integration für Sensoren, Geolokalisierung und biometrische Authentifizierung.
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 ist eine Dependency-Injection-Bibliothek für Go, die Objektlebenszyklen verwaltet und Anwendungskomponenten durch Automatisierung der Bereitstellung von Abhängigkeiten verdrahtet. Sie fungiert als reflexionsbasierter Container, der spezifische Werte ihren entsprechenden Typen zuordnet, was den automatischen Abruf und die Injektion von Objekten in die Anwendungslogik ermöglicht. Die Bibliothek zeichnet sich durch ihre Fähigkeit zur automatischen Funktionsaufrufung aus, bei der sie Funktionssignaturen zur Laufzeit untersucht, um erforderliche Argumente aus einer zentralen Registrierung aufzulösen und bereitzustellen. Sie unterstützt zudem Struct-Field-Injection, die Objekteigenschaften durch Scannen nach spezifischen Metadaten-Tags während der Initialisierung befüllt. Das Framework erleichtert modulares Design durch hierarchisches Container-Management, was es untergeordneten Containern erlaubt, Abhängigkeits-Lookups an übergeordnete Scopes zu delegieren, wenn ein angeforderter Typ lokal fehlt. Dieses System unterstützt schnittstellenbasierte Auflösung, wodurch sichergestellt wird, dass konkrete Implementierungen basierend auf Laufzeitevaluierung korrekt mit den angeforderten Typen abgeglichen werden.
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.