Projects tagged ‘introspection’ and ‘reflection’


[8 total ]

1 Users

The goal of this tool is to provide high-level language features (like introspection and serialization) to C/C++ without extra effort. It also can be used for fast-prototyping as it allows programs ... [More] and libraries to export and reuse all its features into very high-level languages like python. [Less]
Created about 1 year ago.

1 Users

A set of reflection utilities and miscellaneous utilities related to working with classes and their fields with no dependencies which is compatible with java 1.5 and generics. Features:These are ... [More] built to be compatible with Apache Commons BeanUtils and the nesting structure works the same, refer to the apache BeanUtils project docs for details. Support for Apache DynaClass / DynaBean is included. Current users of beanutils should be able to drop in these utilities and gain the functionality with minimal code changes. Handles field operations for properties (getters and setters), partial properties (only getter or only setter), and fields. This is configurable to use the fields only, properties only, or the hybrid approach (default). This improves upon the BeanUtils limitation of handlin [Less]
Created about 1 year ago.

1 Users

The Mirror library provides useful meta-data at both compile-time and run-time about common C++ constructs like namespaces, types, classes, their base classes and member attributes, instances, etc. ... [More] and provides generic interfaces for their introspection. [Less]
Created 3 months ago.

0 Users

Reflection DSLO que é?Reflection DSL é uma biblioteca para facilitar (muito) a utilização de reflection no java. Para este fim, foi decidido implementar esta biblioteca como uma DSL interna para ... [More] deixar o processo de uso do reflection mais natural. What is it?Reflection DSL is a library intended to ease (a lot) the use of reflection on Java. To accomplish that, it was decided to implement this lib as an internal DSL, making the use process of reflection as natural as possible. Como utilizar?Basta colocar o jar do “Reflection DSL” no seu classpath e utilizá-lo conforme os exemplos abaixo: // Especificando a classe para realizar a introspeccao Introspector instrospector = Introspector.forClass(ClasseTeste.class); // Invocando o constructor com dois parametros instrospector.create(1000, "s"); // Obtendo o valor o field (neste caso atraves do metodo getter) Object value = instrospector.field("valorInteger").invoke(); // Obtendo o valor o field diretamente Object value = instrospector.field("valorInteger") // especifica que se trata de um acesso direto ao field .directAccess() // permite o acesso a atributos privados .accessPrivateMembers() // obtem o valor o valor do field .invoke(); // Setando o valor o field (neste caso atraves do metodo setter) instrospector.field("valorInteger").invoke(100); // Setando o valor o field diretamente instrospector.field("valorInteger") .directAccess() .accessPrivateMembers() .invoke(100); // Realizando chamada para um metodo da classe instrospector.method("toString").invoke(); instrospector.method("getDobro").invoke(20);Você pode também utilizar a biblioteca em uma classe já instanciada: // Especificando uma instancia para realizar a introspeccao ClasseTeste instance = new ClasseTeste(1000, "S"); Introspector instrospectorObject = Introspector.inObject(instance);A biblioteca conta com um recurso de adicionar interceptadores nas classes. Para utilizar este recurso, a classe tem que ser instanciada através do método create() e existe dependência com as bibliotecas do cglib e asm. // Especificando a classe para realizar a introspeccao Introspector instrospector = Introspector.forClass(ClasseTeste.class); // Aplica um interceptador instrospector.applyInterceptor(new MyInterceptorTest()); // Invocando o constructor com dois parametros instrospector.create(1000, "s"); [Less]
Created 8 months ago.

0 Users

Reflecxx is a simple tool for generating type information for C/C++ code. It works by translating debugging information in object files into C data structures that can be linked into your program. ... [More] Type information is only generated when it is referenced in your source code, so extraneous data will not be included. For example, if you wanted to convert an enumerated value to a string, you would declare the type and an external reference to the type information to be generated: enum hw_enum_t { HELLO_WORLD }; extern struct reflecxx_full_type hw_enum_t_type_info;Then, to convert the value, you would use the reflecxx_enum_by_value() function: printf('%s\n', reflecxx_enum_by_value(&hw_enum_t_type_info, HELLO_WORLD)-> ree_name);To generate the type information, first, you would compile the file and then run reflecxx-gen: $ gcc hw.c -c -o hw.o $ reflecxx-gen hw.o > hw-type-info.c $ gcc hw-type-info.c hw.o -o hw $ ./hw HELLO_WORLDFeaturesJSON compatibility for writing out and reading in values. C/Invoke compatibility for functions. [Less]
Created 12 months ago.

0 Users

This software introduces a new concept of object oriented programing. The original concepts involves C++ programing language. In runtime we know nothing about a object. At windows platform, we can use ... [More] COM to get an object runtime information, but we can't inherit from a binary COM interface indeed(Using aggregation or delegation).when we use java or c# ,we known object runtime information ---reflection. but we know nothing about model information ---introspection. we use config files(xml or property files etc.) or hard code to express this information. so we need a lot of programmers to work for the software project. We need a platform includes persistence ,role based access control ,workflow and other factors. More important, we need a machine can understand the model ( UML Model), who knows MML(Meta Model Language) and generate codes. This software will be released on 1/1/2009, include model tools, drivers and a platform. Pinkie is a auto machine. It helps farmers to gather their crops. Welcome you to join our project. mail: xiaopengan@tom.com [Less]
Created 12 months ago.

0 Users

This project's mission is to deliver a holistic, consistent, simple and fluent API to programmatically examine and create programs for .NET platform. While being essential for effective development ... [More] , these tasks are usually associated with lots of pain. In my humble opinion, the major reason for that is that stock APIs provided for these purposes (System.Reflection, System.Reflection.Emit) are very low-level and quite overcomplicated. Not the least reason is also the age of APIs - they were designed somewhere around 10 years ago, so neither they incorporate essential notions in modern programming (fluency, functional flavor), nor they leverage new capabilities of modern languages (generics, closures, lambdas). It's a shame that powerful capabilities provided by CLR are shadowed by the inconvenient tools we've got. So in attempt to provide a better way to access dynamic capabilities of .NET platform I decided to put up the Truesight project. Truesight is now in the early design phase, and so far you can only check the planned features, take a sneak peek, and stay tuned for updates. If you crave for more details you can try downloading my scratchpad - though it's written in Russian and is stored in an uncommon format. [Less]
Created 8 months ago.

0 Users

The Reflext project provides an abstraction over various Java reflection model and provides advanced operations that are not covered by the existing models. The framework focus on abstracting the ... [More] runtime model (java.lang.reflect) and the compile time model (javax.lang.model). Advanced operations are available: - type variable resolution in the context of a specified class - annotation inheritance handling. [Less]
Created 5 months ago.