Commit graph

521 commits

Author SHA1 Message Date
Cameron Ross 75e2d69d76
hey unittests - SHUT UP! 2018-04-30 19:11:36 -03:00
Cameron Ross 2ccdb49943 remove duped unittests in Dumper 2018-04-30 12:08:31 +02:00
The Dlang Bot 244fb4b3c4
Merge pull request #128 from Herringway/emitter-safety
wrap unsafe portion of Emitter in @trusted helper functions
merged-on-behalf-of: BBasile <BBasile@users.noreply.github.com>
2018-04-30 12:06:03 +02:00
The Dlang Bot 1c105ee47e
Merge pull request #130 from Herringway/safer-constructor
make Constructor wholly @safe
merged-on-behalf-of: BBasile <BBasile@users.noreply.github.com>
2018-04-30 12:02:33 +02:00
Cameron Ross 5c801d6689
make Constructor wholly @safe 2018-04-30 04:24:31 -03:00
Cameron Ross fa432a309f
add tests for explicit doc markers 2018-04-29 18:48:36 -03:00
Cameron Ross 4cb78ff6f5
wrap unsafe portion of Emitter into @trusted helper functions 2018-04-29 18:48:02 -03:00
The Dlang Bot b44f96bd9f
Merge pull request #114 from Herringway/rawnode-removal
remove Node.rawNode and just use the constructor instead
merged-on-behalf-of: unknown
2018-04-25 07:31:38 +02:00
Cameron Ross 0bea335f57 massive speed increase for mapping construction 2018-04-25 07:30:27 +02:00
Cameron Ross 80ee4e5f95
temporary fix for another instance of issue 16528 2018-04-24 13:51:29 -03:00
Cameron Ross e316c91643
make Composer fully @safe to use 2018-04-22 18:37:22 -03:00
Cameron Ross accad93f7f
mark dyaml.flags.Flags.flags as @safe 2018-04-22 16:29:23 -03:00
Cameron Ross 9dd8bed9b6
remove Node.rawNode and just use the constructor instead 2018-04-22 15:44:16 -03:00
Cameron Ross cd88b7ad17
remove fastcharsearch 2018-04-22 15:22:11 -03:00
Cameron Ross 993dd6c5bc
remove many unnecessary destructors 2018-04-22 15:22:10 -03:00
Cameron Ross b16a3338b5
remove manual memory management from queue 2018-04-22 15:22:09 -03:00
Cameron Ross 04e2c3baab
begin removing fastcharsearch 2018-04-22 15:22:08 -03:00
Cameron Ross 1dac1f39f3
remove dyaml.unused and rest of dyaml.nogcutil in favour of std.utf functions 2018-04-22 15:22:07 -03:00
Cameron Ross d7f51a8225
remove appenderNoGC, printNoGC, parseNoGC 2018-04-22 15:22:06 -03:00
The Dlang Bot f528351867
Merge pull request #104 from Herringway/const-friendly-nodes
Const-friendly nodes
merged-on-behalf-of: BBasile <BBasile@users.noreply.github.com>
2018-04-22 19:37:02 +02:00
The Dlang Bot 15988fec57
Merge pull request #107 from Herringway/event-checks
allow @safe access to anchor/tag/tagDirectives of events
merged-on-behalf-of: BBasile <BBasile@users.noreply.github.com>
2018-04-20 10:42:24 +02:00
The Dlang Bot 4437a22430
Merge pull request #109 from Herringway/serializer-safe-constructor
fix Serializer.this using address of ref parameter
merged-on-behalf-of: BBasile <BBasile@users.noreply.github.com>
2018-04-17 18:51:17 +02:00
Cameron Ross 84e850a4af
fix Serializer.this using address of ref parameter 2018-04-17 00:43:33 -03:00
Cameron Ross 568acb832a
make SliceBuilder safer to use. 2018-04-17 00:31:13 -03:00
Cameron Ross d5ef119f1d
allow @safe access to anchor/tag/tagDirectives of events 2018-04-16 21:59:47 -03:00
Cameron Ross 7c62fd5719
convert verbose test variable to debug spec for easier access 2018-04-16 20:02:42 -03:00
Cameron Ross 7ddea9db39
further refactoring and cleaning up of Node.get 2018-04-10 05:37:13 -03:00
Cameron Ross a35536fe59
fix single-file builds again. add a comment as a reminder. 2018-04-10 05:03:19 -03:00
Cameron Ross 6532251979
cleanups 2018-04-10 04:03:05 -03:00
Cameron Ross 12494a7a78
make Node.mappingKeys and Node.mappingValues const-friendly too 2018-04-10 03:45:51 -03:00
Cameron Ross fd50e2cefc
refactor portions of Node to allow const Nodes to be more useful 2018-04-10 03:36:09 -03:00
Cameron Ross 1e88dc5074
immutable byte arrays aren't quite @safe yet with D-YAML, so test mutable instead 2018-04-10 03:27:38 -03:00
Cameron Ross 9b7c882a03
remove blank line at EOF errors 2018-04-09 22:57:26 -03:00
Cameron Ross e411fad92f
remove trailing whitespace 2018-04-09 22:57:14 -03:00
Cameron Ross cd505b5fb9
fix missing yaml file for a resolver example 2018-04-09 21:43:07 -03:00
Cameron Ross 9d35b773b4
convert examples to doc'd unittests, fix some parameter errors, remove some redundancy 2018-04-09 21:14:51 -03:00
Cameron Ross 3ef3240a4c
remove misleading Error = ___Exception aliases 2018-04-09 19:34:45 -03:00
Cameron Ross 8074792fb3
remove redundant BOM definitions 2018-04-08 04:14:03 -03:00
Cameron Ross 3b7033d046 allow dyaml.test.reader.testStreamError to be @safe 2018-04-07 20:05:39 +02:00
Cameron Ross 3cfdd7ba56 allow dyaml.test.representer.testRepresenterTypes to be @safe 2018-04-07 20:05:39 +02:00
Cameron Ross c1165b976e mark dyaml.parser.Parser.parseNode.get as @safe 2018-04-07 20:05:39 +02:00
Cameron Ross 6088f0b632 major attribute fixing 2018-04-07 20:05:39 +02:00
Cameron Ross 683335aa3e remove zerostring (#94)
remove zerostring
merged-on-behalf-of: BBasile <BBasile@users.noreply.github.com>
2018-03-01 04:20:43 +01:00
Cameron Ross 72995df864 remove deprecated yaml/dyaml.all modules (#93)
remove deprecated yaml/dyaml.all modules
merged-on-behalf-of: BBasile <BBasile@users.noreply.github.com>
2018-03-01 01:01:00 +01:00
The Dlang Bot 0784ca63ec
Merge pull request #92 from Herringway/bmp-fix
Fix issue #79: Support for non-BMP Unicode characters
merged-on-behalf-of: BBasile <BBasile@users.noreply.github.com>
2018-02-28 01:24:54 +01:00
Cameron Ross 5ad4c3c435 minor refactor: move tests to dyaml.test.*, remove spaces at ends of lines (#91)
minor refactor: move tests to dyaml.test.*, remove spaces at ends of lines
merged-on-behalf-of: BBasile <BBasile@users.noreply.github.com>
2018-02-28 01:24:05 +01:00
Cameron Ross 4a106181dd
Add support for unicode chars in the 0x10000 - 0x10FFFF range as required by spec 2018-02-27 14:15:47 -04:00
majiang e7ea38652b Do not emit BOM for UTF-8 (Solve #88) (#89)
Do not emit BOM for UTF-8 (Solve #88)
merged-on-behalf-of: BBasile <BBasile@users.noreply.github.com>
2018-02-24 11:45:36 +01:00
Sebastian Wilzbach e4591f5847 Fix imports 2018-01-18 02:08:38 +01:00
Michail Pevnev 6a381528a3 Added 'enforce' checks on ranges' emptiness. 2017-08-01 18:31:34 +03:00
Michail Pevnev c123e6afee Fixed new ranges not being random-access ranges.
Forgot to add 'length' property.
2017-08-01 14:37:28 +03:00
Michail Pevnev 2b6c417006 Added ranges-iterators to the Node struct.
Added methods: sequence, mapping (iterates over pairs), mappingKeys,
mappingValues.
2017-08-01 14:13:35 +03:00
Basile Burg a2c0c60884
fix issue #73 - Failure to compile when assigning a const(bool) to a node 2017-08-01 01:12:35 +02:00
Basile Burg 86079840f0 fix #71 - Unittests of package fails when calling as dependency 2017-07-19 17:00:40 +03:00
Basile Burg 5e47223b4a
Remove a deprecation message + add sub selections file to gitignore 2017-06-30 05:06:54 +02:00
Sebastian Wilzbach aab0953e31 Fix deprecations: remove the old std.string.removechars 2017-06-15 00:55:50 +02:00
Basile Burg aab7c7aabe fix #63 (#64)
* fix #63

* rather patch the context in case of corruption
2017-05-31 09:59:27 +02:00
Mihails Strasuns 93edffaab5 Fix .ptr + @safe deprecation
Deprecation: str ~ '\x00'.ptr cannot be used in @safe code, use &str ~ '\x00'[0]
2017-05-25 22:15:21 +02:00
Basile Burg 4b175acc7f Merge pull request #39 from Herringway/master
add package.d, deprecate yaml/dyaml.all
2017-05-17 04:41:51 +02:00
ZombineDev 38f1ba3900 Add support for writing strings to existing files through YFile stream 2016-12-10 20:33:43 +02:00
ZombineDev b01e99d8e6 Update source/dyaml/stream.d to conform to the existing coding style 2016-12-10 20:07:14 +02:00
ZombineDev 655a0aadd2 Add test for file dumping 2016-12-10 19:56:44 +02:00
forbjok 6e0ef1aae0 Fix dumping to file producing garbage (#3)
* Fix dumping to file producing garbage

* Use rawWrite instead of casting to char[]
2016-12-10 19:45:43 +02:00
Forb.Jok 22c432fb52 Make Node type identification properties public 2016-12-08 18:01:08 +01:00
ZombineDev 503357e3ea Stop using implicit string literal concatenation in one more place
Implicit string litaral concatenation was deprecated with
this DMD PR: dlang/dmd/pull/6155.
2016-11-15 20:07:48 +02:00
ZombineDev bc1a2c2d0f Stop using implicit string literal concatenation
Implicit string litaral concatenation was deprecated with
this DMD PR: dlang/dmd/pull/6155.
2016-11-04 02:50:32 +02:00
ZombineDev 8d5b75b879 Fix compilation with DMD 2.072.0
The following DMD PRs added more rigorous safety checks directly
affecting this project:
* dlang/dmd#5852 (fix Issue 15399 - unaligned pointers are not
  `@safe`) - triggered at line:
  https://github.com/kiith-sa/D-YAML/blob/v0.5.3/source/dyaml/emitter.d#L1011

* dlang/dmd#5940 (Unions may break immutability / unions with
  pointers are un-`@safe` ) - triggered at line:
  https://github.com/kiith-sa/D-YAML/blob/v0.5.3/source/dyaml/event.d#L230

* dlang/dmd#5876 (Casting from `void[]` to `T[]` is erroneously
  considered `@safe`) - triggered at line:
  https://github.com/kiith-sa/D-YAML/blob/v0.5.3/source/dyaml/loader.d#L186

* dlang/dmd#5860 (array.ptr in @safe code may point past end
  of array) - triggered at line:
  https://github.com/kiith-sa/D-YAML/blob/v0.5.3/source/dyaml/zerostring.d#L35
2016-11-04 02:37:29 +02:00
Robert burner Schadek 14ae4e6b06 removed dead code 2016-03-17 22:10:32 +01:00
Robert burner Schadek b739ade285 no more stream!? 2016-03-17 01:00:54 +01:00
Robert burner Schadek 41133e3b0d it compiles at the tests run without segfault
I call this a first step
2016-03-17 00:55:57 +01:00
Robert burner Schadek daf1a0064f trying to rip the std.stream out 2016-03-17 00:43:58 +01:00
Martin Nowak 23f16cfbf2 fix for lookup change in 2.071.0
- local symbols are preferred over imported symbols making the mixed in
  canFind hide std.algorithm.canFind
2016-02-21 22:05:36 +01:00
Cameron Ross be0f967c6c add package.d, deprecate yaml/dyaml.all 2015-11-10 01:54:54 -04:00
Cameron Ross af724ddcf4 use systime's duration overload instead of deprecated fracsec overload 2015-11-05 20:28:12 -04:00
Cameron Ross 989e1b3375 avoid use of a static constructor in parser
this makes usage in module constructors more reliable and improves
consistency with the emitter
2015-10-03 21:52:44 -03:00
Cameron Ross 91cdb9a6f4 fix emitting of unicode characters >0xFFFF 2015-09-25 03:18:37 -03:00
Ferdinand Majerech 2f3d782c84 Fixed compilation with DMD 2.068
Had to use a lot of @trusted as std.variant.VariantN is again less safe.
Will need to change that back once it gets safer, or at least isolate
code using it so that half of Node API doesn't need to be @trusted.
2015-08-23 09:09:24 +02:00
Ferdinand Majerech b5e028d239 Commit missing weOwnStream_ 2015-06-05 13:31:54 +02:00
Ferdinand Majerech 385cfd5420 If we create a File instance, be sure to destroy it. 2015-06-03 21:04:15 +02:00
Ferdinand Majerech 96f64eb221 Merge pull request #29 from soarqin/dmd2067_fix
Fixed compilation for dmd 2.067
2015-06-03 20:33:39 +02:00
Ferdinand Majerech 6d706dd3dc nothrow Node constructors where possible (at the moment) 2015-06-03 20:30:19 +02:00
Soar Qin bfd8654816 Fixed compilation for dmd 2.067 2015-03-17 14:08:40 +08:00
Ferdinand Majerech 05270e5f60 Doc fixes 2015-02-21 14:31:55 +01:00
Colden Cullen df0624fa1f Changed exceptions to take line as a size_t
`Exception` takes `line` as a `size_t`, so this is for consistency.
2014-09-19 12:58:16 -04:00
Ferdinand Majerech 494dcd30d9 tinyendian is now a DUB package. 2014-08-06 16:15:02 +02:00
Ferdinand Majerech 510065b111 Style. 2014-08-06 14:17:32 +02:00
Ferdinand Majerech b254e35762 Unittest build now works with 'dub test' 2014-08-06 14:17:07 +02:00
Ferdinand Majerech 0268a1ea39 Refactored func attribs in Reader. 2014-08-05 23:00:23 +02:00
Ferdinand Majerech ada8335504 Compound pure nothrow @nogc in Scanner. 2014-08-05 22:52:51 +02:00
Ferdinand Majerech cd879c05d3 Spaces. 2014-08-05 22:41:40 +02:00
Ferdinand Majerech 1916b1953a Loader doc fix. 2014-08-05 22:07:35 +02:00
Ferdinand Majerech 893b43edee Style. 2014-08-05 21:31:42 +02:00
Ferdinand Majerech fd93830243 Using the Scanner FastCharSearches wherever they apply. 2014-08-05 21:31:36 +02:00
Ferdinand Majerech 755eb4e468 Moved common FastCharSearch instantiations to Scanner body to minimize bloat. 2014-08-05 21:30:59 +02:00
Ferdinand Majerech d505728824 Moved a branch outside of aloop in scanPlain() to improve performance. 2014-08-05 20:58:05 +02:00
Ferdinand Majerech 57d936ed0f Scanner using prefixBytes() for optimization. 2014-08-05 20:57:30 +02:00
Ferdinand Majerech 3b303f6e82 An ASCII (bytes) version of prefix(). 2014-08-05 20:56:59 +02:00
Ferdinand Majerech 8f94a40730 Doc fixes. 2014-08-05 20:56:30 +02:00
Ferdinand Majerech 568e75d3de Removed decodeCount_, as it's no longer used. 2014-08-05 20:53:04 +02:00
Ferdinand Majerech 2b7ea42199 Removed the old (obsolete) Reader decoding method. 2014-08-05 20:52:43 +02:00
Ferdinand Majerech 92396b4cae An optimized version of forward() with length == 1. 2014-08-05 20:52:05 +02:00
Ferdinand Majerech 34e6f55bd9 forward() now uses upcomingASCII_ 2014-08-05 20:46:00 +02:00
Ferdinand Majerech c828c6b132 peek()/slice() now use upcomingASCII() 2014-08-05 20:44:15 +02:00
Ferdinand Majerech d9079de427 get() now calls slice() directly instead of through prefix(). 2014-08-05 20:42:51 +02:00
Ferdinand Majerech bfa2f1bd5c Using checkASCII in Reader. 2014-08-05 20:42:22 +02:00
Ferdinand Majerech e01c40ede5 Func to count consecutive ASCII chars starting at current Reader position. 2014-08-05 20:36:33 +02:00
Ferdinand Majerech 7409f3bbd9 ASCII optimizations for isPrintableValidUTF8. 2014-08-05 19:34:28 +02:00
Ferdinand Majerech 1c0702f3cd Func to count the num of ASCII chars in string before the first UTF-8 sequence 2014-08-05 19:12:54 +02:00
Ferdinand Majerech 8902ea8806 Minor optimization. 2014-08-05 18:21:42 +02:00
Ferdinand Majerech b2d0c74e56 Minor style fix. 2014-08-05 18:21:29 +02:00
Ferdinand Majerech a89f9e93f7 Removed unnecessary memory allocations in Queue. 2014-08-05 18:20:57 +02:00
Ferdinand Majerech a9333e3dd3 Fixed another 'in' parameter. 2014-08-05 18:15:07 +02:00
Ferdinand Majerech 9ea269de87 Removed obsolete 'final' from Reader methods. 2014-08-05 13:14:42 +02:00
Ferdinand Majerech 3d8de67771 Using peekByte() where possible in Scanner. 2014-08-05 13:14:15 +02:00
Ferdinand Majerech 078269be36 Queue no longer supports types with destructors. 2014-08-05 13:12:07 +02:00
Ferdinand Majerech 7539b40d3d (optimization) Mark ctor now doesn't check file column for overflow. 2014-08-05 13:10:52 +02:00
Ferdinand Majerech 57afd47bb5 Doc fixes. 2014-08-05 01:53:17 +02:00
Ferdinand Majerech fb9525bb00 Obsoleting decodeCount_. 2014-08-05 01:52:21 +02:00
Ferdinand Majerech 75ed314dd6 More FastCharSearch. 2014-08-05 01:51:32 +02:00
Ferdinand Majerech 0424ff5e77 Style. 2014-08-05 01:51:20 +02:00
Ferdinand Majerech 44885cde4e Optimized fetchToken() 2014-08-04 02:26:14 +02:00
Ferdinand Majerech 7360e85a3a More FastCharSearch based on profiling results. 2014-08-04 02:24:26 +02:00
Ferdinand Majerech 5a1e6e994d Fixed a nasty rare bug caused by an assumption that 32 chars take 32 bytes. 2014-08-04 02:23:08 +02:00
Ferdinand Majerech 20048ea995 Using peekByte() in heavily used Scanner methods. 2014-08-04 02:22:09 +02:00
Ferdinand Majerech 8e63f62d7e An optimized version of peek() that reads a byte, without decoding. 2014-08-04 02:20:13 +02:00
Ferdinand Majerech a4befdd866 An optimized version of Reader.peek() with index == 0. 2014-08-04 02:19:34 +02:00
Ferdinand Majerech 063d9754d7 Queue now uses a freelist to minimize allocations. 2014-08-04 02:16:34 +02:00
Ferdinand Majerech 97e717df1b Loader creates Constructor/Resolver lazily to avoid garbage when user-provided 2014-08-04 02:14:01 +02:00
Ferdinand Majerech 6aa50b8898 A benchmark Loader method that scans a file but throws away the tokens. 2014-08-02 23:26:46 +02:00
Ferdinand Majerech c160156346 Fixed the string->char[] Token value move. 2014-08-02 23:25:56 +02:00
Ferdinand Majerech aeee0758a7 Refactored FastCharSearch with more modern string mixin code. 2014-08-02 02:35:03 +02:00
Ferdinand Majerech d32addacda Slices now nonconst in all layers up to Parser, where they get cast to string. 2014-08-02 01:58:20 +02:00
Ferdinand Majerech 7b699c5903 UTF-8 validation now uses UTF-8 decoding code. 2014-08-02 01:37:16 +02:00
Ferdinand Majerech b5da695d6b More @nogc in Scanner. 2014-08-02 01:19:29 +02:00
Ferdinand Majerech e6fdade4a6 Scanner now uses @nogc UTF decoding. 2014-08-02 01:16:29 +02:00
Ferdinand Majerech e1209711af UTF-8 decoding now has versions for validated and unvalidated strings. 2014-08-02 01:15:57 +02:00
Ferdinand Majerech 5932155435 Style. 2014-08-02 01:15:22 +02:00
Ferdinand Majerech fad280060e Better Constructor docs. 2014-08-01 23:01:34 +02:00
Ferdinand Majerech f137db438e Better Constructor funct attribs. 2014-08-01 23:01:24 +02:00
Ferdinand Majerech 66679a601c Moved tinyendian.d out of the dyaml directory. 2014-08-01 02:56:37 +02:00
Ferdinand Majerech a9fb68f340 Removed internals from DDoc. 2014-08-01 02:52:14 +02:00
Ferdinand Majerech 0f017646fc Reverted doc style due to DDoc issues. 2014-08-01 02:51:35 +02:00
Ferdinand Majerech fdf4cecddb Backported a recent std.utf script. 2014-08-01 02:47:52 +02:00
Ferdinand Majerech 830aef8df5 Simpler grepping for 'std.stream' 2014-07-31 14:53:14 +02:00
Ferdinand Majerech 151871e1b3 Better Loader docs. 2014-07-31 14:52:40 +02:00
Ferdinand Majerech 276bed7fb6 Constructor unittests now use the new Loader ctor. 2014-07-31 02:55:38 +02:00
Ferdinand Majerech 68d9124b17 Removed Reader ctor from Stream. 2014-07-31 02:33:24 +02:00
Ferdinand Majerech a74bc8cf3b Reader unittests now construct Reader from a buffer. 2014-07-31 02:28:42 +02:00
Ferdinand Majerech e100047572 Updated Loader examples. 2014-07-31 02:22:42 +02:00
Ferdinand Majerech 626337f6ed More readable error throws in Loader. 2014-07-31 02:16:53 +02:00