mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-25 16:00:09 +01:00
* start of generic classes * fix regressions * class functions in interfaces * access to class function on interface from class parameter * more stuff working for generic classes * fixing bugs * update TypeEqual for generic classes * fixing bugs and finding new ones * disable unqualified access to members from other members for now * minor edits * bug fixes * introduce compile_time_value to use in type checker instead of constant_value * cleanup * put a CHECK back in * failure test cases for the new FATAL_COMPILATION_ERROR * change a runtime FATAL into a FATAL_COMPILATION_ERROR * Update executable_semantics/ast/declaration.h Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/action_stack.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/interpreter.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/value.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/value.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/interpreter.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/value.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/value.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/resolve_names.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/type_checker.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/type_checker.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/type_checker.cpp Co-authored-by: Jon Meow <jperkins@google.com> * responses to reviews * Update executable_semantics/interpreter/type_checker.cpp Co-authored-by: Jon Meow <jperkins@google.com> * rename compile_time_value to symbolic_identity * Update executable_semantics/interpreter/type_checker.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/type_checker.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/type_checker.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/type_checker.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/type_checker.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/type_checker.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/value.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/value.cpp Co-authored-by: Jon Meow <jperkins@google.com> * Update executable_semantics/interpreter/value.cpp Co-authored-by: Jon Meow <jperkins@google.com> * more edits from review * Apply suggestions from code review Co-authored-by: Geoff Romer <gromer@google.com> * review responses * Update executable_semantics/interpreter/interpreter.cpp Co-authored-by: Geoff Romer <gromer@google.com> * const impl_scope for TypeCheckChoiceDeclaration * add some const Co-authored-by: Jon Meow <jperkins@google.com> Co-authored-by: Geoff Romer <gromer@google.com>
58 lines
2.0 KiB
Plaintext
58 lines
2.0 KiB
Plaintext
# 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
|
|
|
|
root class AstNode;
|
|
abstract class Pattern : AstNode;
|
|
class AutoPattern : Pattern;
|
|
class VarPattern : Pattern;
|
|
class BindingPattern : Pattern;
|
|
class GenericBinding : Pattern;
|
|
class TuplePattern : Pattern;
|
|
class AlternativePattern : Pattern;
|
|
class ExpressionPattern : Pattern;
|
|
abstract class Declaration : AstNode;
|
|
class FunctionDeclaration : Declaration;
|
|
class ClassDeclaration : Declaration;
|
|
class ChoiceDeclaration : Declaration;
|
|
class VariableDeclaration : Declaration;
|
|
class InterfaceDeclaration : Declaration;
|
|
class ImplDeclaration : Declaration;
|
|
class ImplBinding : AstNode;
|
|
class AlternativeSignature : AstNode;
|
|
abstract class Statement : AstNode;
|
|
class ExpressionStatement : Statement;
|
|
class Assign : Statement;
|
|
class VariableDefinition : Statement;
|
|
class If : Statement;
|
|
class Return : Statement;
|
|
class Block : Statement;
|
|
class While : Statement;
|
|
class Break : Statement;
|
|
class Continue : Statement;
|
|
class Match : Statement;
|
|
class Continuation : Statement;
|
|
class Run : Statement;
|
|
class Await : Statement;
|
|
abstract class Expression : AstNode;
|
|
class BoolTypeLiteral : Expression;
|
|
class BoolLiteral : Expression;
|
|
class CallExpression : Expression;
|
|
class FunctionTypeLiteral : Expression;
|
|
class FieldAccessExpression : Expression;
|
|
class IndexExpression : Expression;
|
|
class IntTypeLiteral : Expression;
|
|
class ContinuationTypeLiteral : Expression;
|
|
class IntLiteral : Expression;
|
|
class PrimitiveOperatorExpression : Expression;
|
|
class StringLiteral : Expression;
|
|
class StringTypeLiteral : Expression;
|
|
class TupleLiteral : Expression;
|
|
class StructLiteral : Expression;
|
|
class StructTypeLiteral : Expression;
|
|
class TypeTypeLiteral : Expression;
|
|
class IdentifierExpression : Expression;
|
|
class IntrinsicExpression : Expression;
|
|
class IfExpression : Expression;
|
|
class UnimplementedExpression : Expression;
|