emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/beardbolt 1f50b7bb7f 069/323: Add java framework


From: ELPA Syncer
Subject: [elpa] externals/beardbolt 1f50b7bb7f 069/323: Add java framework
Date: Thu, 9 Mar 2023 10:58:17 -0500 (EST)

branch: externals/beardbolt
commit 1f50b7bb7f06e705fa32676b2d5accec9178f209
Author: Jay Kamat <jaygkamat@gmail.com>
Commit: Jay Kamat <jaygkamat@gmail.com>

    Add java framework
---
 rmsbolt.el | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/rmsbolt.el b/rmsbolt.el
index 8cf4b02276..b6a2910019 100644
--- a/rmsbolt.el
+++ b/rmsbolt.el
@@ -364,6 +364,25 @@ Outputs assembly file if ASM."
                                "-o" (rmsbolt-output-filename src-buffer))
                          " ")))
     cmd))
+(cl-defun rmsbolt--java-compile-cmd (&key src-buffer)
+  "Process a compile command for ocaml.
+
+  Needed as ocaml cannot output asm to a non-hardcoded file"
+  (let* ((output-filename (rmsbolt-output-filename src-buffer))
+         (class-filename (concat (file-name-sans-extension (buffer-file-name)) 
".class"))
+         (cmd (buffer-local-value 'rmsbolt-command src-buffer))
+         (cmd (mapconcat 'identity
+                         (list cmd
+                               "-g"
+                               (buffer-file-name)
+                               "&&"
+                               "javap"
+                               "-c" "-l"
+                               class-filename
+                               ">"
+                               output-filename)
+                         " ")))
+    cmd))
 
 (defvar rmsbolt--hidden-func-c
   (rx bol (or (and "__" (0+ any))
@@ -458,6 +477,15 @@ Outputs assembly file if ASM."
                           :starter-file-name "rmsbolt.hs"
                           :compile-cmd-function #'rmsbolt--hs-compile-cmd
                           :disass-hidden-funcs nil))
+   (java-mode
+    . ,(make-rmsbolt-lang :mode 'java-mode
+                          :compile-cmd "javac"
+                          :supports-asm t
+                          :supports-disass nil
+                          :objdumper 'cat
+                          :starter-file-name "rmsbolt.java"
+                          :compile-cmd-function #'rmsbolt--java-compile-cmd
+                          :disass-hidden-funcs nil))
    ))
 
 ;;;; Macros



reply via email to

[Prev in Thread] Current Thread [Next in Thread]