Sha256: 994179799ee7cd67a6b7703480a2d21b3b437fb872633be7e150032f14003278

Contents?: true

Size: 608 Bytes

Versions: 3

Compression:

Stored size: 608 Bytes

Contents

class Fancy AST {
  class FutureSend : Node {
    def initialize: @line message_send: @message_send {
    }

    def bytecode: g {
      pos(g)

      body = ExpressionList new: @line list: [@message_send]
      block = BlockLiteral new: @line args: (BlockArgs new: @line) body: body

      future_send = MessageSend new: @line \
                                message: (Identifier from: "new:" line: @line) \
                                to: (Identifier from: "Future" line: @line) \
                                args: (MessageArgs new: @line args: [block])

      future_send bytecode: g
    }
  }
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fancy-0.3.3 lib/compiler/ast/future_send.fy
fancy-0.3.2 lib/compiler/ast/future_send.fy
fancy-0.3.1 lib/compiler/ast/future_send.fy