+struct CYProtocol :
+ CYNext<CYProtocol>,
+ CYThing
+{
+ CYExpression *name_;
+
+ CYProtocol(CYExpression *name, CYProtocol *next = NULL) :
+ CYNext<CYProtocol>(next),
+ name_(name)
+ {
+ }
+
+ CYStatement *Replace(CYContext &context) const;
+ void Output(CYOutput &out) const;
+};
+
+struct CYImport :
+ CYStatement
+{
+ virtual CYStatement *Replace(CYContext &context);
+ virtual void Output(CYOutput &out, CYFlags flags) const;
+};
+