25 Repos
Frameworks for runtime and compile-time reflection.
Explore 25 awesome GitHub repositories matching part of an awesome list · Reflection. Refine with filters or upvote what's useful.
This project is a comprehensive reference guide and technical documentation for the features, syntax updates, and APIs introduced in ECMAScript 6. It serves as a language specification and overview for modern JavaScript development. The guide covers a wide range of language enhancements, including the implementation of classes and prototype-based inheritance, the use of arrow functions for lexical scope binding, and the introduction of block-scoped variables. It details the module system for organizing independent code components via import and export statements. The documentation extends to
Provides a technical overview of the reflection API for manipulating object metadata at runtime.
ReflectionDocBlock is a PHP docblock parser and doc-comment metadata extractor. It functions as a reflection wrapper that extends the standard PHP Reflection API to convert raw documentation blocks into structured objects. The library provides tools for PHP documentation parsing and reflection tooling. It enables the extraction of structured metadata and annotations from reflection objects or raw doc-comment strings to support automated API documentation and static code analysis.
Acts as a reflection wrapper to facilitate deeper analysis of PHP source code documentation.
100 Go Mistakes is a reference book and code review companion that catalogues frequent Go programming anti-patterns and provides corrected implementations for each one. It covers a wide range of common pitfalls, from range loop variable capture and interface nil handling to error wrapping and map iteration randomization, helping developers recognize and avoid these issues in their own code. The project distinguishes itself by offering a structured, example-driven approach to learning idiomatic Go. It covers core design decisions such as when to use pointer versus value receivers, how to apply
Documents using reflect.DeepEqual for comparing non-comparable types.
ArduinoJson is a C++ library for parsing and manipulating JSON data and MessagePack binary streams on microcontrollers with limited memory and processing power. It provides the core primitives necessary for embedded data serialization and parsing, enabling devices to exchange structured data over serial or network interfaces. The library is distinguished by its focus on microcontroller memory management, employing strategies such as pool-based allocation, string deduplication, and non-owning string views to minimize RAM usage. It further optimizes for constrained environments by allowing cons
Evaluates equality or order between two JSON variants by analyzing their types.
This project is a PHP docblock annotation parser and reflection metadata tool designed to extract structured metadata from doc-comments and convert them into class instances. It functions as a system for retrieving and managing custom metadata attached to classes, methods, and properties. The library includes a metadata caching system to store parsed results, which reduces the performance overhead associated with repeated reflection calls and string parsing. It also serves as a static analysis utility for validating source code structure and enforcing coding standards through automated docblo
Validates annotation placement and data types by comparing parsed metadata against target reflection properties.
Go Package of validators and sanitizers for strings, numerics, slices and structs
Uses Go's reflect package to traverse struct fields, extract tags, and invoke validators dynamically.
LXD is a unified platform for managing both system containers and virtual machines through a single REST API and command-line interface. It provides a programmatic HTTP interface for controlling the full lifecycle of instances, enabling automation and integration with external tools. The system runs unprivileged containers with per-instance UID/GID mappings, seccomp filters, and AppArmor profiles for kernel-level isolation, while supporting multiple storage backends including directory, Btrfs, LVM, ZFS, Ceph, LINSTOR, and TrueNAS through a unified driver interface. The platform distinguishes
Restores cluster availability after losing a majority of voting members by designating a new leader.
Dragonboat ist eine Go-Implementierung des Raft-Konsensprotokolls, die darauf ausgelegt ist, einen konsistenten Status über einen verteilten Cluster von Knoten hinweg aufrechtzuerhalten. Sie bietet eine Bibliothek zum Aufbau verteilter Zustandsautomaten, die Datenintegrität und Fehlertoleranz bei Systemausfällen gewährleisten. Das Projekt zeichnet sich durch eine Multi-Group-Raft-Implementierung aus, die Daten über unabhängige Konsensgruppen partitioniert, um Arbeitslasten zu verteilen und die gesamte Verarbeitungskapazität des Systems zu erhöhen. Es integriert zudem gegenseitiges TLS (mTLS), um die Kommunikation zwischen Knoten zu verschlüsseln und die Identität von Clustermitgliedern zu verifizieren. Das System umfasst Funktionen für hochperformante Zustandsautomaten mit Unterstützung für Speicher- und Festplattenpersistenz. Es bietet Optimierungen für den Read-Path, um Konsistenz ohne Generierung neuer Log-Einträge zu gewährleisten, ein pluggbares Speicher-Interface für benutzerdefinierte Log-Backends sowie administrative Tools für die Quorum-Wiederherstellung, um die Verfügbarkeit nach einem permanenten Verlust der Knotenmehrheit wiederherzustellen. Die operative Stabilität wird durch den Export von Cluster-Gesundheitsmetriken unterstützt.
Includes a utility for restoring quorum and designating a new leader after a cluster has lost its majority of voting members.
Dialogic is a dialogue editor and runtime system for the Godot engine that provides a complete framework for creating branching conversations with characters, animations, and state management. At its core, it functions as a branching narrative editor with visual and text-based timeline authoring, a character animation manager that handles portraits and scene positioning, a localization tool that exports timelines to CSV for translation, and an interactive framework that manages player choices, text reveals, voice lines, and dynamic text effects within conversations. What distinguishes this sy
Updates variables during dialogue by setting, incrementing, or computing new values.
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
Inspects type information at both compile time and runtime to support generic functions.
Dieses Projekt ist eine chinesische Übersetzung eines umfassenden Leitfadens zur Programmiersprache Go. Es dient als lokalisierte Bildungsressource und technisches Handbuch, das Orientierung zu Sprachsyntax, Design und Softwareentwicklung bietet. Die Ressource deckt ein breites Spektrum der Go-Sprachausbildung ab, einschließlich der Implementierung von Programmiermustern und Systemdesign. Sie enthält übersetzte Lektionen und Beispiele, die sich auf Kernfunktionen der Sprache wie Concurrency und die Verwendung von Interfaces konzentrieren. Der Inhalt umfasst verschiedene Kompetenzbereiche, darunter Sprachgrundlagen, Datenmodellierung, Runtime-Reflection und Speicherverwaltung. Zudem bietet es detaillierte Abhandlungen zu Softwarearchitektur, Fehlerbehandlung, Qualitätssicherung und Web-Networking. Die Dokumentation ist als technisches Handbuch strukturiert, das übersetzte Inhalte, Errata und Korrekturen enthält, um ein präzises Lernen zu gewährleisten.
Details how to update variable values at runtime by checking addressability and settability.
Incus is a unified orchestration platform for managing system containers, OCI application containers, and virtual machines through a single control plane. It brings together cluster infrastructure management, secure multi-tenancy, software-defined networking, and pluggable storage backend orchestration into one cohesive system exposed via a full REST API and command-line interface. What distinguishes Incus is its ability to run multiple instance types side by side—full Linux system containers, OCI application containers, and QEMU virtual machines—all managed with consistent tooling. Networkin
Provides a rolling upgrade mechanism that blocks state transitions until every cluster member runs the same version.
C++ Reflection Library
Reflection library for C++11.
Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum
Macros for obtaining variable and type names.
A C++20 library for fast serialization, deserialization and validation using reflection. Supports JSON, Avro, Boost Serialization, BSON, Cap'n Proto, CBOR, Cereal, CSV, flexbuffers, msgpack, parquet, TOML, UBJSON, XML, YAML, yas / msgpack.orgC++20
Serialization via reflection.
C++ compile-time enum to string, iteration, in a single header file
Reflection support for enums.
C++ Reflection Parser / Runtime Skeleton
Clang-based C++ reflection.
C++ reflection library with Lua binding, and JSON and XML serialisation.
Reflection library for C++11.
Header-only, non-intrusive and macro-free runtime reflection system in C++
Non-intrusive runtime reflection system.