summaryrefslogtreecommitdiff
path: root/src/vm/mlinfo.cpp
AgeCommit message (Collapse)AuthorFilesLines
2018-09-28Enable BSTR Marshaling Support for x-plat PInvoke (#19766)Luqun Lou1-7/+2
2018-08-11Make RuntimeType sealed and deleted support for introspection only loads ↵Jan Kotas1-7/+7
(#19427) - Sealed Runtime makes `is RuntimeType` and similar checks faster. These checks are fairly common in reflection. - Delete support for introspection only loads from the runtime. We do not plan to use in .NET Core. The support for introspection loads inherited from RuntimeType and thus it is incompatible with sealed RuntimeType.
2018-06-22Add public implementation MarshalerSupport (#18530)Luqun Lou1-24/+1
2017-02-10Remove always defined FEATURE_CORECLRdanmosemsft1-81/+0
2016-12-01fix permissive C++ code (MSVC /permissive-) (#8337)Phil Christensen1-1/+3
* fix permissive C++ code (MSVC /permissive-) These were found by the C++ compiler group when doing "Real world code" build tests using /permissive-. We are sharing these with you to help you clean up your code before the new version of the compiler comes out. For more information on /permissive- see https://blogs.msdn.microsoft.com/vcblog/2016/11/16/permissive-switch/. ---------------------------- Under /permissive-, skipping the initialization of a variable is not allowed. As an extension the compiler allowed this when there was no destructor for the type. void func(bool b) { if(b) goto END; int value = 0; //error C2362: initialization of 'value' is skipped by 'goto END' int array[10]; //Okay, not initialized. //... value used here END: return; } Fix 1) Limit the scope of value: { int value = 0; //... value used here } END: Fix 2) Initialize/declare value before the 'goto' int value = 0; if(b) goto END; //... value used here END: Fix 3) Don't initialize value in the variable declaration. int value; value = 0 //... value used here END: ------------------- Alternative token representations. The following are reserved as alternative representations for operators: and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq //Can't use reserved names for variables: static int and = 0; // Change name (possibly to 'and_') void func() { _asm { xor edx,edx // xor is reserved, change to uppercase XOR or eax,eax // or is reserved, change to uppercase OR } } * Apply formatting patch. * fixes from code review. I addressed @janvorli requests from the pull request code review.
2016-05-06UTF8 Marshaling support(UnmanagedType.LPUTF8Str)Tijoy Tom Kalathiparambil1-0/+10
Usage: [MarshalAs(UnmanagedType.LPUTF8Str)] applied to string and stringbuilder. Implementation mostly use Encoding.UTF8 API to do the byte buffer to string roundtripping. Introducing two new marshalers, UTF8StringMarshaler and UTF8BufferMarshaler which handle string and StringBuilder respectively. [Out] StringBuilder marshaling use builder capacity as the buffer size ie (builder. Capacity + 1) *3 which is enough for any UTF8 char in BMP plane, infact Encoding.UTF8 mscorlib APIs use the same length.All marshaling flags(ThrowOnUnmapable, defaultchar) are ignored since they do not make sense in UTF16 to UTD8 context. The public contracts are not yet updated, the public contracts and public marshaling API (Marshal.PtrToStringUtf8 and StringToHGlobalUtf8) will be added once the implementation is in. The marshal api are anyway going to be a wrapper around Encoding.GetBytes and GetChars.
2016-03-25Fix copy-paste typosEvgeny Mandrikov1-1/+0
2016-01-27Update license headersdotnet-bot1-4/+3
2015-05-13Removing System.dll from ProjectK and NetCoreForCoreCLRRyan Byington1-11/+14
Updating the runtime to find the necessary marshing helpers in the new assemblies for CoreCLR builds. [tfs-changeset: 1470196]
2015-04-13Fixing the public key token that gets used to find System.Uri in ↵Ryan Byington1-1/+1
System.Runtime during marshaling. [tfs-changeset: 1451527]
2015-04-11When marshaling System.URI we to and from WinRT we use need to access ↵Yi Zhang1-1/+1
System.URI members(get_OriginalString, ctor). We currently use TypeName::GetTypeFromAsmQualifiedName to load the type and specify System.dll. The change is to simply use System.Runtime instead. [tfs-changeset: 1451164]
2015-02-03Remove non ASCII characters from source filesMatt Ellis1-1/+1
Our native files were more or less encoded in Windows-1252, which causes problems when we try to compile them on machines where the current codepage can't represent everything that Windows-1252 can. With this conversion I just moved characters to their ASCII counterparts (e.g. no smart quotes, the section marker glyph is now "Section"). There were two places where I couldn't do the straight forward thing, in object.h we wanted to insert the Per Mille symbol in a comment so instead I just spelled out the Unicode codepoint. In morph.cpp, there was a comment pointing to a paper by Torbjörn Granlund (note the diaeresis above the second o). In this case, unfortuntely I had to just drop the diaeresis. However, searching for "Torbjorn Granlund" will lead you to the right person. Fixes #49
2015-01-30Initial commit to populate CoreCLR repo dotnet-bot1-0/+5384
[tfs-changeset: 1407945]