-fcbf847c3bf76fb475c9020e1c57057134407263
+0b4cf8ded107ccbfbd4af7f4e056f23f941d0f86
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
// ASM_NAME is encoded assembler-friendly version of the name, or the
// empty string if no encoding is needed.
//
- // TYPE is the type of the implicit variable.
+ // TYPE is the type of the implicit variable.
//
// IS_HIDDEN will be true if the descriptor should only be visible
// within the current object.
//
// TYPE will be a struct type; the type of the returned expression
// must be a pointer to this struct type.
- //
+ //
// We must create the named structure before we know its
// initializer, because the initializer may refer to its own
// address. After calling this the frontend will call
Btype* type, Location) = 0;
// Labels.
-
+
// Create a new label. NAME will be empty if this is a label
// created by the frontend for a loop construct. The location is
// where the label is defined.
void
do_dump_expression(Ast_dump_context* ast_dump_context) const
{ ast_dump_context->ostream() << (this->val_ ? "true" : "false"); }
-
+
private:
// The constant.
bool val_;
ast_dump_context->ostream() << "stringinfo(";
this->string_->dump_expression(ast_dump_context);
ast_dump_context->ostream() << ",";
- ast_dump_context->ostream() <<
- (this->string_info_ == STRING_INFO_DATA ? "data"
+ ast_dump_context->ostream() <<
+ (this->string_info_ == STRING_INFO_DATA ? "data"
: this->string_info_ == STRING_INFO_LENGTH ? "length"
: "unknown");
ast_dump_context->ostream() << ")";
// Write REAL/IMAG to dump context.
static void
dump_complex(Ast_dump_context* ast_dump_context, const mpc_t val);
-
+
protected:
bool
do_is_constant() const
void
do_dump_expression(Ast_dump_context*) const;
-
+
private:
// The unknown name.
Named_object* named_object_;
// Dump an index expression, i.e. an expression of the form
// expr[expr], expr[expr:expr], or expr[expr:expr:expr] to a dump context.
static void
- dump_index_expression(Ast_dump_context*, const Expression* expr,
+ dump_index_expression(Ast_dump_context*, const Expression* expr,
const Expression* start, const Expression* end,
const Expression* cap);
void
do_dump_expression(Ast_dump_context*) const;
-
+
private:
// The array we are getting a value from.
Expression* array_;
void
do_dump_expression(Ast_dump_context*) const;
-
+
private:
// The type of the map to construct.
Type* type_;
if (is_parenthesized != NULL)
*is_parenthesized = false;
-
+
Operator op = token->op();
Location binop_location = token->location();
// There is a complex parse for <- chan. The choices are
// Convert x to type <- chan int:
- // (<- chan int)(x)
+ // (<- chan int)(x)
// Receive from (x converted to type chan <- chan int):
// (<- chan <- chan int (x))
// Convert x to type <- chan (<- chan int).
// This abstract class provides an interface strings for whatever purpose.
// Used for example for exporting and dumping objects.
-class String_dump
+class String_dump
{
public:
// Write a string. Implements the String_dump interface.