# 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 `.()`. This has three # children: an expression, a name, and the arguments. # # @example # # let a: Carbon::Pointer; # a.size(); # Same as the following: # Carbon::Pointer.size(a); class Unified < Base attributes expression: 0, name: 1, parameters: 2, generics: 3 end end end end end end