Coder Social home page Coder Social logo

Comments (9)

Storyyeller avatar Storyyeller commented on June 14, 2024

Do you have any proposed syntax? My main concern is to find a way to represent all the possible optional attributes in a way that is easy to use and avoids unnecessarily cluttering up the grammar.

from krakatau.

 avatar commented on June 14, 2024

@Ltest/TestClass;(value = "Test")

from krakatau.

Storyyeller avatar Storyyeller commented on June 14, 2024

I've added runtime annotation support. Try it now.

By the way, annotations like @OverRide are source only, so they're not going to show up in the classfile anyway.

from krakatau.

 avatar commented on June 14, 2024

http://pastebin.com/mJC2Q8KR

Having an issue trying to disassemble now.

from krakatau.

Storyyeller avatar Storyyeller commented on June 14, 2024

Try it now. Sorry I couldn't really test it due to not having any examples of classes with runtime annotations to test it with. But I tested it with ScenterMod so it should work now.

from krakatau.

 avatar commented on June 14, 2024

I tested it out and it managed to only do @Mod.PreInit, @Mod.Init, @Mod.PostInit which are methods. But it missed the two used for the class along w/ the two used for the class fields. When I did a reassemble it didn't place anything w/ the annotations. I also noticed there is another Class Attribute called InnerClasses that might have to be used w/ reassembly.

from krakatau.

Storyyeller avatar Storyyeller commented on June 14, 2024

Sorry, RuntimeAnnotations are currently only implemented for methods. I would add them for classes and fields, but I'm still investigating a good way to do this. The problem is that fields are currently only a single line, with no obvious way to add attributes.

InnerClasses is a seperate attribute, but I can add support for that once the class/field thing is cleared up.

from krakatau.

Storyyeller avatar Storyyeller commented on June 14, 2024

I just discovered several more bugs in the assembler. I'll upload everything once I'm done adding support for the other attributes and testing to try to find any more bugs that might be hiding.

from krakatau.

Storyyeller avatar Storyyeller commented on June 14, 2024

Everything should be working now. The disassembler now supports all defined attributes except for LineNumberTable, LocalVariableTable, and LocalVariableTypeTable, though contentless ones like Deprecated are handled through the generic attribute syntax.

from krakatau.

Related Issues (20)

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.