Skip to content

Commit 6bf55cf

Browse files
committed
Renamed ImmediateOperand to Immediate (closes #43).
1 parent d9d6402 commit 6bf55cf

File tree

12 files changed

+47
-45
lines changed

12 files changed

+47
-45
lines changed

lib/ronin/asm/arch/x86.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ def stack_pointer; esp; end
107107
#
108108
# Generates the instruction to push a value onto the Stack.
109109
#
110-
# @param [ImmediateOperand, MemoryOperand, Register, Integer, Symbol] op
110+
# @param [Immediate, MemoryOperand, Register, Integer, Symbol] op
111111
# The value.
112112
#
113113
def stack_push(op); instruction(:push,op); end
@@ -136,7 +136,7 @@ def register_clear(name)
136136
# @param [Symbol] name
137137
# The name of the register.
138138
#
139-
# @param [ImmediateOperand, MemoryOperand, Register, Integer, Symbol] value
139+
# @param [Immediate, MemoryOperand, Register, Integer, Symbol] value
140140
# The value to set.
141141
#
142142
def register_set(name,value)

lib/ronin/asm/immediate_operand.rb renamed to lib/ronin/asm/immediate.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ module ASM
2525
#
2626
# @see http://asm.sourceforge.net/articles/linasm.html#Prefixes
2727
#
28-
class ImmediateOperand
28+
# @since 1.0.0
29+
#
30+
class Immediate
2931

3032
# The immediate operand's value.
3133
#

lib/ronin/asm/instruction.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
# along with ronin-asm. If not, see <https://www.gnu.org/licenses/>.
1919
#
2020

21-
require_relative 'immediate_operand'
21+
require_relative 'immediate'
2222

2323
module Ronin
2424
module ASM
@@ -58,7 +58,7 @@ def initialize(name,operands, comment: nil)
5858
@name = name
5959
@operands = operands.map do |value|
6060
case value
61-
when Integer, nil then ImmediateOperand.new(value)
61+
when Integer, nil then Immediate.new(value)
6262
else value
6363
end
6464
end

lib/ronin/asm/program.rb

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
require_relative 'os'
2323
require_relative 'register'
2424
require_relative 'instruction'
25-
require_relative 'immediate_operand'
25+
require_relative 'immediate'
2626
require_relative 'label'
2727
require_relative 'syntax'
2828

@@ -255,15 +255,15 @@ def instruction(name,*operands, comment: nil)
255255
# @param [MemoryOperand, Integer] op
256256
# The value of the operand.
257257
#
258-
# @return [MemoryOperand, ImmediateOperand]
258+
# @return [MemoryOperand, Immediate]
259259
# The new operand value.
260260
#
261261
def byte(op)
262262
case op
263263
when MemoryOperand
264264
MemoryOperand.new(op.base,op.offset,op.index,op.scale,1)
265265
else
266-
ImmediateOperand.new(op,1)
266+
Immediate.new(op,1)
267267
end
268268
end
269269

@@ -273,15 +273,15 @@ def byte(op)
273273
# @param [MemoryOperand, Integer] op
274274
# The value of the operand.
275275
#
276-
# @return [MemoryOperand, ImmediateOperand]
276+
# @return [MemoryOperand, Immediate]
277277
# The new operand value.
278278
#
279279
def word(op)
280280
case op
281281
when MemoryOperand
282282
MemoryOperand.new(op.base,op.offset,op.index,op.scale,2)
283283
else
284-
ImmediateOperand.new(op,2)
284+
Immediate.new(op,2)
285285
end
286286
end
287287

@@ -291,15 +291,15 @@ def word(op)
291291
# @param [MemoryOperand, Integer] op
292292
# The value of the operand.
293293
#
294-
# @return [ImmediateOperand]
294+
# @return [Immediate]
295295
# The new operand value.
296296
#
297297
def dword(op)
298298
case op
299299
when MemoryOperand
300300
MemoryOperand.new(op.base,op.offset,op.index,op.scale,4)
301301
else
302-
ImmediateOperand.new(op,4)
302+
Immediate.new(op,4)
303303
end
304304
end
305305

@@ -309,15 +309,15 @@ def dword(op)
309309
# @param [MemoryOperand, Integer] op
310310
# The value of the operand.
311311
#
312-
# @return [MemoryOperand, ImmediateOperand]
312+
# @return [MemoryOperand, Immediate]
313313
# The new operand.
314314
#
315315
def qword(op)
316316
case op
317317
when MemoryOperand
318318
MemoryOperand.new(op.base,op.offset,op.index,op.scale,8)
319319
else
320-
ImmediateOperand.new(op,8)
320+
Immediate.new(op,8)
321321
end
322322
end
323323

@@ -400,7 +400,7 @@ def register_clear(name)
400400
# @param [Symbol] name
401401
# The name of the register.
402402
#
403-
# @param [Register, ImmediateOperand, Integer] value
403+
# @param [Register, Immediate, Integer] value
404404
# The new value for the register.
405405
#
406406
# @abstract

lib/ronin/asm/syntax/att.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def self.emit_register(reg)
5353
#
5454
# Emits an immediate operand.
5555
#
56-
# @param [ImmediateOperand] op
56+
# @param [Immediate] op
5757
# The operand.
5858
#
5959
# @return [String]
@@ -89,7 +89,7 @@ def self.emit_memory_operand(op)
8989
#
9090
# Emits multiple operands.
9191
#
92-
# @param [Array<ImmediateOperand, MemoryOperand, Register, Symbol>] ops
92+
# @param [Array<Immediate, MemoryOperand, Register, Symbol>] ops
9393
# The Array of operands.
9494
#
9595
# @return [String]

lib/ronin/asm/syntax/common.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#
2020

2121
require_relative '../register'
22-
require_relative '../immediate_operand'
22+
require_relative '../immediate'
2323
require_relative '../memory_operand'
2424

2525
module Ronin
@@ -88,7 +88,7 @@ def self.emit_float(value)
8888
#
8989
# Emits an immediate operand.
9090
#
91-
# @param [ImmediateOperand] op
91+
# @param [Immediate] op
9292
# The immediate operand.
9393
#
9494
# @return [String]
@@ -116,15 +116,15 @@ def self.emit_memory_operand(op)
116116
#
117117
# Emits an operand.
118118
#
119-
# @param [ImmediateOperand, MemoryOperand, Register, Symbol] op
119+
# @param [Immediate, MemoryOperand, Register, Symbol] op
120120
# The operand.
121121
#
122122
# @return [String]
123123
# The formatted operand.
124124
#
125125
def self.emit_operand(op)
126126
case op
127-
when ImmediateOperand then emit_immediate_operand(op)
127+
when Immediate then emit_immediate_operand(op)
128128
when MemoryOperand then emit_memory_operand(op)
129129
when Register then emit_register(op)
130130
when Symbol then emit_keyword(op)
@@ -134,7 +134,7 @@ def self.emit_operand(op)
134134
#
135135
# Emits multiple operands.
136136
#
137-
# @param [Array<ImmediateOperand, MemoryOperand, Register, Symbol>] ops
137+
# @param [Array<Immediate, MemoryOperand, Register, Symbol>] ops
138138
# The Array of operands.
139139
#
140140
# @return [String]

lib/ronin/asm/syntax/intel.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def self.emit_register(reg)
4949
#
5050
# Emits an immediate operand.
5151
#
52-
# @param [ImmediateOperand] op
52+
# @param [Immediate] op
5353
# The operand.
5454
#
5555
# @return [String]

spec/immediate_operand_spec.rb renamed to spec/immediate_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
require 'spec_helper'
2-
require 'ronin/asm/immediate_operand'
2+
require 'ronin/asm/immediate'
33

4-
describe Ronin::ASM::ImmediateOperand do
4+
describe Ronin::ASM::Immediate do
55
let(:value) { 0xff }
66

77
describe "#initialize" do

spec/instruction_spec.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
require 'ronin/asm/instruction'
33

44
require 'ronin/asm/register'
5-
require 'ronin/asm/immediate_operand'
5+
require 'ronin/asm/immediate'
66
require 'ronin/asm/memory_operand'
77

88
describe Ronin::ASM::Instruction do
99
let(:register) { Ronin::ASM::Register.new(:eax, 4) }
10-
let(:immediate) { Ronin::ASM::ImmediateOperand.new(0xff, 1) }
10+
let(:immediate) { Ronin::ASM::Immediate.new(0xff, 1) }
1111

1212
describe "#initialize" do
1313
let(:name) { :mov }
@@ -32,17 +32,17 @@
3232

3333
subject { described_class.new(name, [integer, register]) }
3434

35-
it "must wrap the operand to in a Ronin::ASM::ImmediateOperand" do
36-
expect(subject.operands[0]).to be_kind_of(Ronin::ASM::ImmediateOperand)
35+
it "must wrap the operand to in a Ronin::ASM::Immediate" do
36+
expect(subject.operands[0]).to be_kind_of(Ronin::ASM::Immediate)
3737
expect(subject.operands[0].value).to eq(integer)
3838
end
3939
end
4040

4141
context "when given a nil operand" do
4242
subject { described_class.new(name, [nil, register]) }
4343

44-
it "must wrap the operand to in a Ronin::ASM::ImmediateOperand" do
45-
expect(subject.operands[0]).to be_kind_of(Ronin::ASM::ImmediateOperand)
44+
it "must wrap the operand to in a Ronin::ASM::Immediate" do
45+
expect(subject.operands[0]).to be_kind_of(Ronin::ASM::Immediate)
4646
expect(subject.operands[0].value).to eq(0)
4747
end
4848
end

spec/program_spec.rb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@
223223

224224
describe "#byte" do
225225
it "must return a ImmedateOperand" do
226-
expect(subject.byte(1)).to be_kind_of(Ronin::ASM::ImmediateOperand)
226+
expect(subject.byte(1)).to be_kind_of(Ronin::ASM::Immediate)
227227
end
228228

229229
it "must have width of 1" do
@@ -247,8 +247,8 @@
247247
end
248248

249249
describe "#word" do
250-
it "must return a Ronin::ASM::ImmediateOperand" do
251-
expect(subject.word(1)).to be_kind_of(Ronin::ASM::ImmediateOperand)
250+
it "must return a Ronin::ASM::Immediate" do
251+
expect(subject.word(1)).to be_kind_of(Ronin::ASM::Immediate)
252252
end
253253

254254
it "must have width of 2" do
@@ -272,8 +272,8 @@
272272
end
273273

274274
describe "#dword" do
275-
it "must return a Ronin::ASM::ImmediateOperand" do
276-
expect(subject.dword(1)).to be_kind_of(Ronin::ASM::ImmediateOperand)
275+
it "must return a Ronin::ASM::Immediate" do
276+
expect(subject.dword(1)).to be_kind_of(Ronin::ASM::Immediate)
277277
end
278278

279279
it "must have width of 4" do
@@ -297,8 +297,8 @@
297297
end
298298

299299
describe "#qword" do
300-
it "must return a Ronin::ASM::ImmediateOperand" do
301-
expect(subject.qword(1)).to be_kind_of(Ronin::ASM::ImmediateOperand)
300+
it "must return a Ronin::ASM::Immediate" do
301+
expect(subject.qword(1)).to be_kind_of(Ronin::ASM::Immediate)
302302
end
303303

304304
it "must have width of 8" do

spec/syntax/att_spec.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
require 'ronin/asm/syntax/att'
33

44
require 'ronin/asm/register'
5-
require 'ronin/asm/immediate_operand'
5+
require 'ronin/asm/immediate'
66
require 'ronin/asm/memory_operand'
77
require 'ronin/asm/instruction'
88
require 'ronin/asm/program'
@@ -19,7 +19,7 @@
1919
end
2020

2121
describe ".emit_immediate_operand" do
22-
let(:operand) { Ronin::ASM::ImmediateOperand.new(255, 1) }
22+
let(:operand) { Ronin::ASM::Immediate.new(255, 1) }
2323

2424
it "must prepend a '$' to the immediate" do
2525
expect(subject.emit_immediate_operand(operand)).to eq("$0xff")
@@ -81,7 +81,7 @@
8181

8282
context "with one operand" do
8383
context "with width of 1" do
84-
let(:immediate) { Ronin::ASM::ImmediateOperand.new(0x80, 1) }
84+
let(:immediate) { Ronin::ASM::Immediate.new(0x80, 1) }
8585
let(:instruction) { Ronin::ASM::Instruction.new(:int, [immediate]) }
8686

8787
it "must not append a size specifier to the instruction name" do
@@ -92,7 +92,7 @@
9292

9393
context "with multiple operands" do
9494
let(:register) { Ronin::ASM::Register.new(:eax, 4) }
95-
let(:immediate) { Ronin::ASM::ImmediateOperand.new(0xff, 1) }
95+
let(:immediate) { Ronin::ASM::Immediate.new(0xff, 1) }
9696
let(:instruction) { Ronin::ASM::Instruction.new(:mov, [register, immediate]) }
9797

9898
it "must add a size specifier to the instruction name" do

spec/syntax/intel_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
require 'ronin/asm/syntax/intel'
33

44
require 'ronin/asm/register'
5-
require 'ronin/asm/immediate_operand'
5+
require 'ronin/asm/immediate'
66
require 'ronin/asm/memory_operand'
77
require 'ronin/asm/instruction'
88
require 'ronin/asm/program'
@@ -19,7 +19,7 @@
1919
end
2020

2121
describe ".emit_immediate_operand" do
22-
let(:operand) { Ronin::ASM::ImmediateOperand.new(255, 1) }
22+
let(:operand) { Ronin::ASM::Immediate.new(255, 1) }
2323

2424
it "must prepend a size specifier" do
2525
expect(subject.emit_immediate_operand(operand)).to eq("BYTE 0xff")
@@ -92,7 +92,7 @@
9292

9393
context "with multiple operands" do
9494
let(:register) { Ronin::ASM::Register.new(:eax, 4) }
95-
let(:immediate) { Ronin::ASM::ImmediateOperand.new(0xff, 1) }
95+
let(:immediate) { Ronin::ASM::Immediate.new(0xff, 1) }
9696
let(:instruction) { Ronin::ASM::Instruction.new(:mov, [register, immediate]) }
9797

9898
it "must emit the operands" do

0 commit comments

Comments
 (0)