class TypeInstanceDef
Attributes
params[R]
runtime[R]
type[R]
Public Class Methods
new(ast, type, params, runtime)
click to toggle source
Calls superclass method
Def::new
# File lib/runtime.rb, line 91 def initialize ast, type, params, runtime super ast @type = type @params = params @runtime = runtime end
Public Instance Methods
bot_list(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 312 def bot_list node 'list(' + @params[0].bot_type(node) + ')' end
bot_list_read(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 316 def bot_list_read node 'Brotorift.Binary.read_list(data, ' + @params[0].bot_reader(node) + ')' end
bot_list_reader(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 324 def bot_list_reader node '&Brotorift.Binary.read_list(&1, ' + @params[0].bot_reader(node) + ')' end
bot_list_write(node, member_name)
click to toggle source
# File lib/generators/bot_generator.rb, line 320 def bot_list_write node, member_name 'Brotorift.Binary.write_list(data, ' + member_name + ', ' + @params[0].bot_writer(node) + ')' end
bot_list_writer(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 328 def bot_list_writer node '&Brotorift.Binary.write_list(&1, &2, ' + @params[0].bot_writer(node) + ')' end
bot_map(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 352 def bot_map node '%{' + @params[0].bot_type(node) + ' => ' + @params[1].bot_type(node) + '}' end
bot_map_read(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 356 def bot_map_read node 'Brotorift.Binary.read_map(data, ' + @params[0].bot_reader(node) + ', ' + @params[1].bot_reader(node) + ')' end
bot_map_reader(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 364 def bot_map_reader node '&Brotorift.Binary.read_map(&1, ' + @params[0].bot_reader(node) + ', ' + @params[1].bot_reader(node) + ')' end
bot_map_write(node, member_name)
click to toggle source
# File lib/generators/bot_generator.rb, line 360 def bot_map_write node, member_name 'Brotorift.Binary.write_map(data, ' + member_name + ', ' + @params[0].bot_writer(node) + ', ' + @params[1].bot_writer(node) + ')' end
bot_map_writer(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 368 def bot_map_writer node '&Brotorift.Binary.write_map(&1, &2, ' + @params[0].bot_writer(node) + ', ' + @params[1].bot_writer(node) + ')' end
bot_read(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 280 def bot_read node return self.bot_list_read node if @type.name == 'List' return self.bot_set_read node if @type.name == 'Set' return self.bot_map_read node if @type.name == 'Map' return @type.bot_read if @type.is_a? BuiltinTypeDef or @type.is_a? EnumTypeDef return @type.bot_read node if @type.is_a? StructTypeDef end
bot_reader(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 296 def bot_reader node return self.bot_list_reader node if @type.name == 'List' return self.bot_set_reader node if @type.name == 'Set' return self.bot_map_reader node if @type.name == 'Map' return @type.bot_reader if @type.is_a? BuiltinTypeDef or @type.is_a? EnumTypeDef return @type.bot_reader node if @type.is_a? StructTypeDef end
bot_set(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 332 def bot_set node 'MapSet.t(' + @params[0].bot_type(node) + ')' end
bot_set_read(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 336 def bot_set_read node 'Brotorift.Binary.read_set(data, ' + @params[0].bot_reader(node) + ')' end
bot_set_reader(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 344 def bot_set_reader node '&Brotorift.Binary.read_set(&1, ' + @params[0].bot_reader(node) + ')' end
bot_set_write(node, member_name)
click to toggle source
# File lib/generators/bot_generator.rb, line 340 def bot_set_write node, member_name 'Brotorift.Binary.write_set(data, ' + member_name + ', ' + @params[0].bot_writer(node) + ')' end
bot_set_writer(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 348 def bot_set_writer node '&Brotorift.Binary.write_set(&1, &2, ' + @params[0].bot_writer(node) + ')' end
bot_type(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 272 def bot_type node return self.bot_list node if @type.name == 'List' return self.bot_set node if @type.name == 'Set' return self.bot_map node if @type.name == 'Map' return @type.bot_type if @type.is_a? BuiltinTypeDef or @type.is_a? EnumTypeDef return @type.bot_type node if @type.is_a? StructTypeDef end
bot_write(node, member_name)
click to toggle source
# File lib/generators/bot_generator.rb, line 288 def bot_write node, member_name return self.bot_list_write node, member_name if @type.name == 'List' return self.bot_set_write node, member_name if @type.name == 'Set' return self.bot_map_write node, member_name if @type.name == 'Map' return @type.bot_write member_name if @type.is_a? BuiltinTypeDef or @type.is_a? EnumTypeDef return @type.bot_write node, member_name if @type.is_a? StructTypeDef end
bot_writer(node)
click to toggle source
# File lib/generators/bot_generator.rb, line 304 def bot_writer node return self.bot_list_writer node if @type.name == 'List' return self.bot_set_writer node if @type.name == 'Set' return self.bot_map_writer node if @type.name == 'Map' return @type.bot_writer if @type.is_a? BuiltinTypeDef or @type.is_a? EnumTypeDef return @type.bot_writer node if @type.is_a? StructTypeDef end
elixir_list(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 312 def elixir_list node 'list(' + @params[0].elixir_type(node) + ')' end
elixir_list_read(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 316 def elixir_list_read node 'Brotorift.Binary.read_list(data, ' + @params[0].elixir_reader(node) + ')' end
elixir_list_reader(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 324 def elixir_list_reader node '&Brotorift.Binary.read_list(&1, ' + @params[0].elixir_reader(node) + ')' end
elixir_list_write(node, member_name)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 320 def elixir_list_write node, member_name 'Brotorift.Binary.write_list(data, ' + member_name + ', ' + @params[0].elixir_writer(node) + ')' end
elixir_list_writer(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 328 def elixir_list_writer node '&Brotorift.Binary.write_list(&1, &2, ' + @params[0].elixir_writer(node) + ')' end
elixir_map(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 352 def elixir_map node '%{' + @params[0].elixir_type(node) + ' => ' + @params[1].elixir_type(node) + '}' end
elixir_map_read(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 356 def elixir_map_read node 'Brotorift.Binary.read_map(data, ' + @params[0].elixir_reader(node) + ', ' + @params[1].elixir_reader(node) + ')' end
elixir_map_reader(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 364 def elixir_map_reader node '&Brotorift.Binary.read_map(&1, ' + @params[0].elixir_reader(node) + ', ' + @params[1].elixir_reader(node) + ')' end
elixir_map_write(node, member_name)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 360 def elixir_map_write node, member_name 'Brotorift.Binary.write_map(data, ' + member_name + ', ' + @params[0].elixir_writer(node) + ', ' + @params[1].elixir_writer(node) + ')' end
elixir_map_writer(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 368 def elixir_map_writer node '&Brotorift.Binary.write_map(&1, &2, ' + @params[0].elixir_writer(node) + ', ' + @params[1].elixir_writer(node) + ')' end
elixir_read(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 280 def elixir_read node return self.elixir_list_read node if @type.name == 'List' return self.elixir_set_read node if @type.name == 'Set' return self.elixir_map_read node if @type.name == 'Map' return @type.elixir_read if @type.is_a? BuiltinTypeDef or @type.is_a? EnumTypeDef return @type.elixir_read node if @type.is_a? StructTypeDef end
elixir_reader(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 296 def elixir_reader node return self.elixir_list_reader node if @type.name == 'List' return self.elixir_set_reader node if @type.name == 'Set' return self.elixir_map_reader node if @type.name == 'Map' return @type.elixir_reader if @type.is_a? BuiltinTypeDef or @type.is_a? EnumTypeDef return @type.elixir_reader node if @type.is_a? StructTypeDef end
elixir_set(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 332 def elixir_set node 'MapSet.t(' + @params[0].elixir_type(node) + ')' end
elixir_set_read(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 336 def elixir_set_read node 'Brotorift.Binary.read_set(data, ' + @params[0].elixir_reader(node) + ')' end
elixir_set_reader(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 344 def elixir_set_reader node '&Brotorift.Binary.read_set(&1, ' + @params[0].elixir_reader(node) + ')' end
elixir_set_write(node, member_name)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 340 def elixir_set_write node, member_name 'Brotorift.Binary.write_set(data, ' + member_name + ', ' + @params[0].elixir_writer(node) + ')' end
elixir_set_writer(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 348 def elixir_set_writer node '&Brotorift.Binary.write_set(&1, &2, ' + @params[0].elixir_writer(node) + ')' end
elixir_type(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 272 def elixir_type node return self.elixir_list node if @type.name == 'List' return self.elixir_set node if @type.name == 'Set' return self.elixir_map node if @type.name == 'Map' return @type.elixir_type if @type.is_a? BuiltinTypeDef or @type.is_a? EnumTypeDef return @type.elixir_type node if @type.is_a? StructTypeDef end
elixir_write(node, member_name)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 288 def elixir_write node, member_name return self.elixir_list_write node, member_name if @type.name == 'List' return self.elixir_set_write node, member_name if @type.name == 'Set' return self.elixir_map_write node, member_name if @type.name == 'Map' return @type.elixir_write member_name if @type.is_a? BuiltinTypeDef or @type.is_a? EnumTypeDef return @type.elixir_write node, member_name if @type.is_a? StructTypeDef end
elixir_writer(node)
click to toggle source
# File lib/generators/elixir_server_generator.rb, line 304 def elixir_writer node return self.elixir_list_writer node if @type.name == 'List' return self.elixir_set_writer node if @type.name == 'Set' return self.elixir_map_writer node if @type.name == 'Map' return @type.elixir_writer if @type.is_a? BuiltinTypeDef or @type.is_a? EnumTypeDef return @type.elixir_writer node if @type.is_a? StructTypeDef end
scala()
click to toggle source
# File lib/generators/scala_server_generator.rb, line 34 def scala "#{@type.scala}#{scala_type_param}" end
scala_read(is_top_scope)
click to toggle source
# File lib/generators/scala_server_generator.rb, line 44 def scala_read is_top_scope str = '' if @type.is_a? StructTypeDef str = "packet.readStruct(new #{@type.name})" elsif @type.is_a? EnumTypeDef str = "#{@type.name}(packet.readInt())" else str = "packet.read#{scala_type}" if @params.empty? str += '()' else param_str = @params.map { |p| p.scala_read false } .join ', ' str += '(' + param_str + ')' end end unless is_top_scope str = '() => ' + str end str end
scala_type()
click to toggle source
# File lib/generators/scala_server_generator.rb, line 86 def scala_type @type.name + scala_type_param end
scala_type_param()
click to toggle source
# File lib/generators/scala_server_generator.rb, line 38 def scala_type_param return '' if @params.empty? param_str = @params.map { |p| p.scala } .join ', ' '[' + param_str + ']' end
scala_write(member_name, is_top_scope)
click to toggle source
# File lib/generators/scala_server_generator.rb, line 67 def scala_write member_name, is_top_scope str = '' if @type.is_a? StructTypeDef str = "packet.writeStruct(#{member_name})" elsif @type.is_a? EnumTypeDef str = "packet.writeInt(#{member_name}.id)" else str = "packet.write#{scala_type}" if @params.empty? str += "(#{member_name})" else param_str = @params.map { |p| p.scala_write '_', false } .join ', ' str += "(#{member_name}, #{param_str})" end end str end
unity()
click to toggle source
# File lib/generators/unity_client_generator.rb, line 52 def unity if @params.empty? return @type.unity else return "#{@type.unity}#{unity_type_param}" end end
unity_read(is_top_scope)
click to toggle source
# File lib/generators/unity_client_generator.rb, line 60 def unity_read is_top_scope str = '' if @type.is_a? StructTypeDef str = "packet.ReadStruct( new #{@type.name}() )" elsif @type.is_a? EnumTypeDef str = "(#{@type.name})packet.ReadInt()" else str = "packet.Read#{unity_read_write}" if @params.empty? str += '()' else param_str = @params.map { |p| p.unity_read false } .join ', ' str += '( ' + param_str + ' )' end end if is_top_scope == false str = '() => ' + str end str end
unity_read_write()
click to toggle source
# File lib/generators/unity_client_generator.rb, line 111 def unity_read_write if @params.empty? return @type.name else return "#{@type.name}#{unity_type_param}" end end
unity_type_param()
click to toggle source
# File lib/generators/unity_client_generator.rb, line 119 def unity_type_param return '' if @params.empty? param_str = @params.map { |p| p.unity } .join ', ' '<' + param_str + '>' end
unity_write(member_name, is_top_scope)
click to toggle source
# File lib/generators/unity_client_generator.rb, line 83 def unity_write member_name, is_top_scope str = '' if @type.is_a? StructTypeDef str = "packet.WriteStruct( #{member_name} )" elsif @type.is_a? EnumTypeDef str = "packet.WriteInt( (int)#{member_name} )" else str = "packet.Write#{unity_read_write}" if @params.empty? str += "( #{member_name} )" else params_str = @params.map do |p| @@lambda_index += 1 arg_name = '_' + @@lambda_index.to_s p.unity_write arg_name, false end param_str = params_str.join ', ' str += "( #{member_name}, #{param_str} )" end end if is_top_scope == false str = "( #{member_name} ) => " + str end str end