From 2db20471e938a6feebf88bf53a00a1177559bf4b Mon Sep 17 00:00:00 2001 From: oakes Date: Sat, 18 Jan 2014 12:33:21 -0500 Subject: [PATCH] Remove reflection calls --- src/play_clj/core_graphics.clj | 26 +++++++++++++++----------- src/play_clj/g2d_physics.clj | 16 ++++++++-------- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/play_clj/core_graphics.clj b/src/play_clj/core_graphics.clj index 4b7192d..0bb585b 100644 --- a/src/play_clj/core_graphics.clj +++ b/src/play_clj/core_graphics.clj @@ -96,8 +96,8 @@ (defmacro orthogonal-tiled-map! [screen k & options] - `(u/call! ^OrthogonalTiledMapRenderer (or (:renderer ~screen) ~screen) - ~k ~@options)) + `(let [^OrthogonalTiledMapRenderer object# (or (:renderer ~screen) ~screen)] + (u/call! object# ~k ~@options))) (defn isometric-tiled-map* [path unit] @@ -110,8 +110,8 @@ (defmacro isometric-tiled-map! [screen k & options] - `(u/call! ^IsometricTiledMapRenderer (or (:renderer ~screen) ~screen) - ~k ~@options)) + `(let [^IsometricTiledMapRenderer object# (or (:renderer ~screen) ~screen)] + (u/call! object# ~k ~@options))) (defn isometric-staggered-tiled-map* [path unit] @@ -126,8 +126,9 @@ (defmacro isometric-staggered-tiled-map! [screen k & options] - `(u/call! ^IsometricStaggeredTiledMapRenderer (or (:renderer ~screen) ~screen) - ~k ~@options)) + `(let [^IsometricStaggeredTiledMapRenderer object# + (or (:renderer ~screen) ~screen)] + (u/call! object# ~k ~@options))) (defn hexagonal-tiled-map* [path unit] @@ -140,8 +141,8 @@ (defmacro hexagonal-tiled-map! [screen k & options] - `(u/call! ^HexagonalTiledMapRenderer (or (:renderer ~screen) ~screen) - ~k ~@options)) + `(let [^HexagonalTiledMapRenderer object# (or (:renderer ~screen) ~screen)] + (u/call! object# ~k ~@options))) (defn stage* [] @@ -153,7 +154,8 @@ (defmacro stage! [screen k & options] - `(u/call! ^Stage (or (:renderer ~screen) ~screen) ~k ~@options)) + `(let [^Stage object# (or (:renderer ~screen) ~screen)] + (u/call! object# ~k ~@options))) ; batch @@ -254,7 +256,8 @@ (defmacro orthographic! [screen k & options] - `(u/call! ^OrthographicCamera (or (:camera ~screen) ~screen) ~k ~@options)) + `(let [^OrthographicCamera object# (or (:camera ~screen) ~screen)] + (u/call! object# ~k ~@options))) (defn perspective [] @@ -266,7 +269,8 @@ (defmacro perspective! [screen k & options] - `(u/call! ^PerspectiveCamera (or (:camera ~screen) ~screen) ~k ~@options)) + `(let [^PerspectiveCamera object# (or (:camera ~screen) ~screen)] + (u/call! object# ~k ~@options))) (defn size! [screen width height] diff --git a/src/play_clj/g2d_physics.clj b/src/play_clj/g2d_physics.clj index 8d292c3..0de91f8 100644 --- a/src/play_clj/g2d_physics.clj +++ b/src/play_clj/g2d_physics.clj @@ -17,13 +17,13 @@ (defmacro box-2d [gravity-x gravity-y & options] - `(let [object# (box-2d* ~gravity-x ~gravity-y)] - (u/calls! ^World object# ~@options) - object#)) + `(let [^World object# (box-2d* ~gravity-x ~gravity-y)] + (u/calls! object# ~@options))) (defmacro box-2d! [screen k & options] - `(u/call! ^World (or (:world ~screen) ~screen) ~k ~@options)) + `(let [^World object# (or (:world ~screen) ~screen)] + (u/call! object# ~k ~@options))) ; bodies @@ -43,7 +43,8 @@ (defmacro body! [entity k & options] - `(u/call! ^Body (or (:body ~entity) ~entity) ~k ~@options)) + `(let [^Body object# (or (:body ~entity) ~entity)] + (u/call! object# ~k ~@options))) (defn create-body!* [screen body-def] @@ -52,8 +53,7 @@ (defmacro create-body! [screen type-name & options] `(let [object# (create-body!* ~screen (body :type (body-type ~type-name)))] - (u/calls! ^Body object# ~@options) - object#)) + (u/calls! ^Body object# ~@options))) (defn body-x [entity] @@ -115,7 +115,7 @@ ([] (CircleShape.)) ([radius] - (doto (circle*) + (doto ^CircleShape (circle*) (.setRadius radius) (.setPosition (m/vector-2 radius radius)))))