virtual void Output(CYOutput &out, CYFlags flags) const;
};
-struct CYLetStatement :
+struct CYLet :
CYStatement
{
CYDeclarations *declarations_;
- CYStatement *code_;
- CYLetStatement(CYDeclarations *declarations, CYStatement *code) :
- declarations_(declarations),
- code_(code)
+ CYLet(CYDeclarations *declarations) :
+ declarations_(declarations)
{
}
- CYCompact(Long)
+ CYCompact(None)
virtual CYStatement *Replace(CYContext &context);
virtual void Output(CYOutput &out, CYFlags flags) const;
}
CYProperty *ReplaceAll(CYContext &context, CYBuilder &builder, CYExpression *self, bool update);
- void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, bool computed);
+ void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, bool protect);
- virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name) = 0;
+ virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name, bool protect) = 0;
virtual void Replace(CYContext &context) = 0;
virtual void Output(CYOutput &out) const;
{
}
- virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name);
+ virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name, bool protect);
virtual void Replace(CYContext &context);
virtual void Output(CYOutput &out) const;
};
{
}
- virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name);
+ virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name, bool protect);
virtual void Output(CYOutput &out) const;
};
{
}
- virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name);
+ virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name, bool protect);
virtual void Output(CYOutput &out) const;
};
virtual CYFunctionExpression *Constructor();
- virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name);
+ virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name, bool protect);
virtual void Output(CYOutput &out) const;
};