}
public virtual void add_namespace (Namespace ns) {
- Report.error (ns.source_reference, "inner `%s' is not supported in `%s'", "namespace", get_full_name ());
+ if (context == null) {
+ context = ns.context;
+ }
+
+ ns.context.report.log_error (ns.source_reference, "inner `%s' is not supported in `%s'", "namespace", get_full_name ());
}
public virtual void add_class (Class cl) {
- Report.error (cl.source_reference, "inner `%s' types are not supported in `%s'", "class", get_full_name ());
+ if (context == null) {
+ context = traverse_for_context ();
+ }
+
+ context.report.log_error (cl.source_reference, "inner `%s' types are not supported in `%s'", "class", get_full_name ());
}
public virtual void add_interface (Interface iface) {
- Report.error (iface.source_reference, "inner `%s' types are not supported in `%s'", "interface", get_full_name ());
+ if (context == null) {
+ context = traverse_for_context ();
+ }
+
+ context.report.log_error (iface.source_reference, "inner `%s' types are not supported in `%s'", "interface", get_full_name ());
}
public virtual void add_struct (Struct st) {
- Report.error (st.source_reference, "inner `%s' types are not supported in `%s'", "struct", get_full_name ());
+ if (context == null) {
+ context = traverse_for_context ();
+ }
+
+ context.report.log_error (st.source_reference, "inner `%s' types are not supported in `%s'", "struct", get_full_name ());
}
public virtual void add_enum (Enum en) {
- Report.error (en.source_reference, "inner `%s' types are not supported in `%s'", "enum", get_full_name ());
+ if (context == null) {
+ context = traverse_for_context ();
+ }
+
+ context.report.log_error (en.source_reference, "inner `%s' types are not supported in `%s'", "enum", get_full_name ());
}
public virtual void add_error_domain (ErrorDomain edomain) {
- Report.error (edomain.source_reference, "inner `%s' types are not supported in `%s'", "errordomain", get_full_name ());
+ if (context == null) {
+ context = traverse_for_context ();
+ }
+
+ context.report.log_error (edomain.source_reference, "inner `%s' types are not supported in `%s'", "errordomain", get_full_name ());
}
public virtual void add_delegate (Delegate d) {
- Report.error (d.source_reference, "inner `%s' types are not supported in `%s'", "delegate", get_full_name ());
+ if (context == null) {
+ context = traverse_for_context ();
+ }
+
+ context.report.log_error (d.source_reference, "inner `%s' types are not supported in `%s'", "delegate", get_full_name ());
}
public virtual void add_constant (Constant constant) {
- Report.error (constant.source_reference, "constants are not allowed in `%s'", get_full_name ());
+ if (context == null) {
+ context = traverse_for_context ();
+ }
+
+ context.report.log_error (constant.source_reference, "constants are not allowed in `%s'", get_full_name ());
}
public virtual void add_field (Field f) {
- Report.error (f.source_reference, "fields are not allowed in `%s'", get_full_name ());
+ if (context == null) {
+ context = traverse_for_context ();
+ }
+
+ context.report.log_error (f.source_reference, "fields are not allowed in `%s'", get_full_name ());
}
public virtual void add_method (Method m) {
- Report.error (m.source_reference, "methods are not allowed in `%s'", get_full_name ());
+ if (context == null) {
+ context = traverse_for_context ();
+ }
+
+ context.report.log_error (m.source_reference, "methods are not allowed in `%s'", get_full_name ());
}
public virtual void add_property (Property prop) {
- Report.error (prop.source_reference, "properties are not allowed in `%s'", get_full_name ());
+ if (context == null) {
+ context = traverse_for_context ();
+ }
+
+ context.report.log_error (prop.source_reference, "properties are not allowed in `%s'", get_full_name ());
}
public virtual void add_signal (Signal sig) {
- Report.error (sig.source_reference, "signals are not allowed in `%s'", get_full_name ());
+ if (context == null) {
+ context = traverse_for_context ();
+ }
+
+ context.report.log_error (sig.source_reference, "signals are not allowed in `%s'", get_full_name ());
}
public virtual void add_constructor (Constructor c) {
- Report.error (c.source_reference, "constructors are not allowed in `%s'", get_full_name ());
+ if (context == null) {
+ context = traverse_for_context ();
+ }
+
+ context.report.log_error (c.source_reference, "constructors are not allowed in `%s'", get_full_name ());
}
public virtual void add_destructor (Destructor d) {
- Report.error (d.source_reference, "destructors are not allowed in `%s'", get_full_name ());
+ if (context == null) {
+ context = traverse_for_context ();
+ }
+
+ context.report.log_error (d.source_reference, "destructors are not allowed in `%s'", get_full_name ());
}
public override string to_string () {