-
Notifications
You must be signed in to change notification settings - Fork 41
Simplify data structure #266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Changes from all commits
84a3c5a
2eedda3
280a826
2e09c9d
84dd12c
0b7beb2
2d5e60c
10d2659
2ea0ce5
b5a687e
8c4a583
1c095b6
debc2e6
3ad3d69
279978f
8fa5415
cdc4f1c
d91901c
1deb2a7
ac1e4ad
f9b4b75
f109c44
63305ed
9afc666
602409c
e62ac95
49a1eaa
4379001
6badd7d
298e57e
c4a0487
f93814c
daf05f5
7fdfbac
3243d7a
7eeba85
d9f765e
8755457
e4d052d
f3ccb8a
c815dde
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -301,3 +301,4 @@ __pycache__/ | |
| *.odx.cs | ||
| *.xsd.cs | ||
| PerfResults/ | ||
| src/Hocon.API.Tests/HoconAPISpec.ApproveCore.received.txt | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,9 +1,10 @@ | ||
| ### 2.0.3 February 28 2020 #### | ||
| Bugfixes and improvements made to HOCON 2.0.0 | ||
| ### 3.0.0 March 02 2020 #### | ||
| Major changes on the HOCON surface API | ||
|
|
||
| * [Bugfix: HoconValue.TryGetObject can throw System.ArgumentNullException](https://github.com/akkadotnet/HOCON/issues/233) | ||
| * [Bugfix: System.InvalidOperationException : Collection was modified; enumeration operation may not execute](https://github.com/akkadotnet/HOCON/issues/234) | ||
| * [Bugfix: unquoted key error during serialization](https://github.com/akkadotnet/HOCON/pull/223) | ||
| * [Fixed NuGet symbol package publication](https://github.com/akkadotnet/HOCON/issues/222) | ||
|
|
||
| For more details, please [see the issues in the HOCON v2.0.1 milestone here](https://github.com/akkadotnet/HOCON/milestone/7). | ||
| * Major restructure of HOCON public class and API to conform to HOCON immutability | ||
| * Most of the API are backward compatible with HOCON 2.0 with the following exceptions: | ||
| * All access APIs are declared in static extension classes, in order to access the values | ||
| inside a `Config` or `HoconObject`, you will need to declare `using Hocon` in your .cs file. | ||
| * The class structure of the public HOCON classes havee beeen simplified and a few have been | ||
| removed. If you referenced the `HoconValue` or `HoconField` classes in your code, you will | ||
| have to change your code to conform to the new API. |
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,30 +7,29 @@ namespace Hocon | |
| protected CDataConfigurationElement() { } | ||
| protected override void DeserializeElement(System.Xml.XmlReader reader, bool serializeCollectionKey) { } | ||
| } | ||
| public class Config : Hocon.HoconRoot, System.IEquatable<Hocon.Config>, System.Runtime.Serialization.ISerializable | ||
| public class Config : Hocon.HoconObject, System.IEquatable<Hocon.Config>, System.Runtime.Serialization.ISerializable | ||
| { | ||
| [System.ObsoleteAttribute("For json serialization/deserialization only", true)] | ||
| protected Config() { } | ||
| protected Config(Hocon.HoconValue value) { } | ||
| protected Config(Hocon.HoconValue value, Hocon.Config fallback) { } | ||
| public Config(Hocon.HoconRoot root) { } | ||
| public Config(Hocon.HoconRoot root, Hocon.Config fallback) { } | ||
| public Config(Hocon.HoconElement root) { } | ||
| [System.ObsoleteAttribute("Used for serialization only", true)] | ||
| public Config(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { } | ||
| protected Config(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { } | ||
| public static Hocon.Config Empty { get; } | ||
| public virtual System.Collections.Generic.IReadOnlyList<Hocon.HoconValue> Fallbacks { get; } | ||
| public virtual System.Collections.Generic.IReadOnlyList<Hocon.HoconObject> Fallbacks { get; } | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What's the significance of this change? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There's no such thing as |
||
| public virtual bool IsEmpty { get; } | ||
| public Hocon.HoconValue Root { get; } | ||
| protected System.Collections.Generic.List<Hocon.HoconValue> _fallbacks { get; } | ||
| public override System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, Hocon.HoconField>> AsEnumerable() { } | ||
| public Hocon.HoconObject Root { get; } | ||
| protected System.Collections.Generic.List<Hocon.HoconObject> _fallbacks { get; } | ||
| public override System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, Hocon.HoconElement>> AsEnumerable() { } | ||
| public static Hocon.Config Create(Hocon.HoconElement root) { } | ||
| public static Hocon.Config Deserialize(string raw) { } | ||
| public override bool Equals(Hocon.HoconElement other) { } | ||
| public virtual bool Equals(Hocon.Config other) { } | ||
| public override bool Equals(object obj) { } | ||
| public virtual Hocon.Config GetConfig(string path) { } | ||
| public virtual Hocon.Config GetConfig(Hocon.HoconPath path) { } | ||
| protected override Hocon.HoconValue GetNode(Hocon.HoconPath path) { } | ||
| [System.ObsoleteAttribute("Used for serialization only", true)] | ||
| public void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { } | ||
| public override Hocon.HoconElement GetValue(Hocon.HoconPath path) { } | ||
| public string Serialize() { } | ||
| public string ToString(bool useFallbackValues) { } | ||
| protected override bool TryGetNode(Hocon.HoconPath path, out Hocon.HoconValue result) { } | ||
| public override bool TryGetValue(Hocon.HoconPath path, out Hocon.HoconElement result) { } | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same as above - what's the significance of this change too? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same as the above, there is no |
||
| public virtual Hocon.Config WithFallback(Hocon.Config fallback) { } | ||
| public static Hocon.Config +(Hocon.Config config, string fallback) { } | ||
| public static Hocon.Config +(string configHocon, Hocon.Config fallbackConfig) { } | ||
|
|
@@ -66,7 +65,6 @@ namespace Hocon | |
| public static Hocon.Config FromResource(string resourceName, object instanceInAssembly) { } | ||
| public static Hocon.Config FromResource<TAssembly>(string resourceName) { } | ||
| public static Hocon.Config FromResource(string resourceName, System.Reflection.Assembly assembly) { } | ||
| [System.ObsoleteAttribute("Call the ConfigurationFactory.Default method instead.")] | ||
| public static Hocon.Config Load() { } | ||
| public static Hocon.Config Load(string sectionName) { } | ||
| public static Hocon.Config ParseString(string hocon, Hocon.HoconIncludeCallbackAsync includeCallback) { } | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, good to see Hocon.Immutable getting disposed