Skip to content

Latest commit

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BitFieldGenerator

Roslyn Code Fix provider for metaprogramming to generate bit fields

original code:

structMyCode{structBitFields{[BitField(10)]shortX;[BitField(2)]byteY;[BitField(12)]shortZ;[BitField(24)]intW;}long_value;}

generated code:

partialstructMyCode{publicshortX=>(short)((_value>>0)&0x3FF);publicbyteY=>(byte)((_value>>10)&0x3);publicshortZ=>(short)((_value>>12)&0xFFF);publicintW=>(int)((_value>>24)&0xFFFFFF);publicMyCode(shortx,bytey,shortz,intw){_value=0;_value|=(long)(x&0x3FF)<<0;_value|=(long)(y&0x3)<<10;_value|=(long)(z&0xFFF)<<12;_value|=(long)(w&0xFFFFFF)<<24;}}

About

Roslyn Code Fix provider for metaprogramming to generate bit fields

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages