Files
carbon-lang/executable_semantics/ast/member.h
T
Jeremy G. Siek 34f1a03f7b change all expression and statement pointers to be const (#449)
* change all expression and statement pointers to be const

* const in paren tests
2021-04-19 21:47:19 -04:00

35 lines
749 B
C++

// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
// Exceptions. See /LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#ifndef EXECUTABLE_SEMANTICS_AST_MEMBER_H_
#define EXECUTABLE_SEMANTICS_AST_MEMBER_H_
#include <string>
#include "executable_semantics/ast/expression.h"
namespace Carbon {
enum class MemberKind { FieldMember };
struct Member {
int line_num;
MemberKind tag;
union {
struct {
std::string* name;
const Expression* type;
} field;
} u;
};
auto MakeField(int line_num, std::string name, const Expression* type)
-> Member*;
void PrintMember(Member* m);
} // namespace Carbon
#endif // EXECUTABLE_SEMANTICS_AST_MEMBER_H_