diff options
author | Lauro Moura <lauromoura@expertisesolutions.com.br> | 2019-11-15 00:07:11 -0300 |
---|---|---|
committer | Lauro Moura <lauromoura@expertisesolutions.com.br> | 2019-11-15 00:07:11 -0300 |
commit | a0dd0b616a9b02336de442d522742188786bd98d (patch) | |
tree | e99da8d8715dddd730a13bfdadb2650c3947e54b /src/bin | |
parent | fe8496cb6e24f43bde943190092aad89626771db (diff) | |
download | efl-a0dd0b616a9b02336de442d522742188786bd98d.tar.gz |
csharp: Suppress CA2000 in native wrappers.
Summary:
These methods may instantiate `IDisposable` classes like `Array`,
`Iterator` to pass to user-overriden C# methods. As we can't
guarantee the user stored the object or not, we can't call Dispose
directly on them.
Ref T8423
Depends on D10670
Reviewers: brunobelo, felipealmeida, YOhoho
Reviewed By: brunobelo
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8423
Differential Revision: https://phab.enlightenment.org/D10671
Diffstat (limited to 'src/bin')
-rw-r--r-- | src/bin/eolian_mono/eolian/mono/function_definition.hh | 3 | ||||
-rw-r--r-- | src/bin/eolian_mono/eolian_mono.cc | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh index 51bb17c3a1..cded973d23 100644 --- a/src/bin/eolian_mono/eolian/mono/function_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh @@ -123,7 +123,8 @@ struct native_function_definition_generator self = ""; if(!as_generator - (indent << "private static " + (indent << "[SuppressMessage(\"Microsoft.Reliability\", \"CA2000:DisposeObjectsBeforeLosingScope\", Justification = \"The instantiated objects can be stored in the called Managed API method.\")]\n" + << indent << "private static " << eolian_mono::marshall_type(true) << " " << string << "(System.IntPtr obj, System.IntPtr pd" diff --git a/src/bin/eolian_mono/eolian_mono.cc b/src/bin/eolian_mono/eolian_mono.cc index fd40e9982d..62eed11b2a 100644 --- a/src/bin/eolian_mono/eolian_mono.cc +++ b/src/bin/eolian_mono/eolian_mono.cc @@ -171,7 +171,8 @@ run(options_type const& opts) "using System.Collections.Generic;\n" "using System.Linq;\n" "using System.Threading;\n" - "using System.ComponentModel;\n") + "using System.ComponentModel;\n" + "using System.Diagnostics.CodeAnalysis;\n") .generate(iterator, efl::eolian::grammar::attributes::unused, efl::eolian::grammar::context_null())) { throw std::runtime_error("Failed to generate file preamble"); |