Sha256: 8b0421c1e1feb59c61998ddc2b15709b1d3102ee93530769bf1dc5eb97dd4e78

Contents?: true

Size: 746 Bytes

Versions: 1

Compression:

Stored size: 746 Bytes

Contents

# encoding: utf-8
# frozen_string_literal: true

module Carbon
  module Compiler
    module Node
      module Expression
        # An assignment expression.  This typically takes the form of
        # `<Expression> = <Expression>`.  There are three cases for assignments:
        # a) an attribute assignment; b) an access assignment; and c) an
        # identifier assignment.  The first and second are turned into
        # function calls using {Call::Dispatch}; the last is kept as-is,
        # and turns into a store.
        # This has three children: the left hand side, the operation, and
        # the right hand side.
        class Assignment < Base
          attributes left: 0, op: 1, right: 2
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
carbon-compiler-0.2.0 lib/carbon/compiler/node/expression/assignment.rb