Giter VIP home page Giter VIP logo

reflection's Introduction

CaptainBern's Reflection Framework

This is a Java-Reflection and Bytecode Engineering library.

The goal of this project is to provide an easy way to work with Reflection on both a high and low level.

The Bytecode Engineering Lib (as for now "JBEL") can be used for Class-analysis and to create dynamic code on runtime.

One can also use it to, as example, parse a class, visit it with the build in visitor-api and dissemble the class.

(Please note that the bytecode library is a "toy" created by a 16-year old to learn a little more about bytecode and the java programming language, you have been warned)

The reflection framework was originally created to easily set and get fields and to invoke methods and constructors easier.

Content

The Reflection framework is located in the Reflection folder and the Bytecode-library is located in the JBEL folder. That wasn't hard at all, was it?

Contributing

Prerequisites:

  • When contributing to JBEL you need to have a basic understanding of bytecode.
    • Spelling errors and grammar fixes don't require this so feel free to PR a fix for those.
  • Some code contains basic documentation, some doesn't contain any documentation at all. Feel free to expand the documentation and please always document the code you add.
  • Keep the side-notes in mind. When you notice a weird piece of code that doesn't make any sense to you, then please check if it has a side-note, if it has one then that will probably make clear what is happening there.

Everyone can contribute code to their liking. When making PR's please provide a brief description of what your code does, how it works and why it should be pulled.

  • I generally follow the Sun/Oracle coding conventions
  • Feel free to ignore the "80 column limit"
  • Curly braces should always be on the same line. (with one space in between)
  • Make sure your code works
  • When adding new classes please make sure you've added the license text above the class's package declaration.
  • If you even consider contributing; Thanks!

reflection's People

Contributors

dsh105 avatar captainbern avatar stuntguy3000 avatar

Watchers

James Cloos avatar Adam Williams avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.