Sha256: 761cde3b95e51ed7d7c8ca585585ebbb9d9ae0fa0c48793fa5a7a5bb61f323c3

Contents?: true

Size: 922 Bytes

Versions: 1

Compression:

Stored size: 922 Bytes

Contents

# encoding: utf-8
# frozen_string_literal: true

module Carbon
  module Compiler
    module Node
      module Expression
        module Call
          # A "unified" call.  This is the extended version of the module
          # call.  This can be turned into a module call by taking the
          # module type of the expression and using that as the base, and
          # passing the expression as the first parameter.  This takes the
          # form `<Expression>.<Name>(<Arguments>)`.  This has three
          # children: an expression, a name, and the arguments.
          #
          # @example
          #   # let a: Carbon::Pointer<Carbon::Integer>;
          #   a.size(); # Same as the following:
          #   Carbon::Pointer<Carbon::Integer>.size(a);
          class Unified < Base
            attributes expression: 0, name: 1, parameters: 2, generics: 3
          end
        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/call/unified.rb