20 lines
524 B
Ruby
20 lines
524 B
Ruby
module Ast
|
|
class FunctionExpression < Expression
|
|
attr_reader :name, :params, :body , :receiver
|
|
def initialize name, params, body , receiver = nil
|
|
@name = name.to_sym
|
|
@params = params
|
|
@body = body
|
|
@receiver = receiver
|
|
end
|
|
def attributes
|
|
[:name, :params, :body , :receiver]
|
|
end
|
|
def to_s
|
|
name.inspect + ", ["+
|
|
params.collect{|m| m.inspect }.join( ",") +"] , [" +
|
|
body.collect{|m| m.inspect }.join( ",") +"] ,"+ receiver.inspect
|
|
end
|
|
end
|
|
end
|