309 Commits over 517 Days - 0.02cph!
Fixed detemining expected type for properties on deserialize
Failing test deserializing type param
Fix static property nodes if both get and set are available
Fixed unwrapping Either with > 8 types
Fix some edge cases with Either.CreateType
Node test formatting
Ambiguous overload binding tests
Either type
Use Either type for ambiguous bindings
Compare implicit conversions required when resolving overloads
Better display info for property.get output
Implemented constructor nodes
Fixed property getter nodes
Fixed display info for property get / set methods
Combine ExpressionNode, ActionNode attributes
Mark expression node methods with [Pure]
IActionGraph.AddNode( string id ) extension method
Tests for constructor and static property nodes
Added force option to ActionGraph.Validate
Get rid of INodeAttribute.Kind
Look for INodeAttribute instead of NodeAttribute
Fix variable default values in BindingSurface.FromNode
Some better invalid JSON handling
Graph needs revalidation after removing nodes
Node binding refactor, simplify call node serialization
Fixed expected type when serializing constant value links
Attributes, display info refactor
NodeLibrary refactor, split up TypeLoader
Better exception handling during validation
Make sure parents and children are serialized too
Removed some remnants of output expansion
Set ParentId in ReplaceExpandedOutputsWithChildNodes upgrader
Fix deserializing child nodes
Retire expanded outputs, use node nesting instead
Merge field.get / field.set into property.get / property.set
Allow expanded parameters on input nodes
Some helper conversions to LinkSource
Test reproducing "Can only use InsertLink with array inputs" exception
Fixed deserializing array element links before node binding
Some more link deserialization safety
Fixed dangling Links
Some safety when deserializing possible duplicate elements
IParameter inherits IMessageContext
Fix serializing null constant inputs
Fix cases where UserData wouldn't deserialize correctly
Fixed possible exception when adding a var.set node
Some safety in DeserializeExpected
Added Input.SetLink( source, index )
Retire link shorthand format
Squashed commit of the following:
commit 8ea836943c704abec109199ac718ef388fc615c9
Author: James King <james.king@facepunchstudios.com>
Date: Tue Jan 16 10:05:20 2024 +0100
Implemented UpgradePropertyVariableReferences
commit f787e89df0b9a17f48cfa6831869d51c604532a6
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 22:10:29 2024 +0100
Action graph JSON upgrading
commit 31da86f7d310a26d031f78e5b10072044858230e
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 20:22:35 2024 +0100
Don't include version in test JSON, let it get upgraded
commit e0aa5cf47db1b97c617cf457fbefda4066f69a7d
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 20:20:06 2024 +0100
Revert "Fixed expected JSON for missing type tests"
This reverts commit 3f1d256a629fa84b8b102d85e6d3e310ccbad376.
commit d7143a5d0bcb5e6879bfc9bd6fdd883366a424e0
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 20:04:42 2024 +0100
Include format version in serialized ActionGraph
commit 3f1d256a629fa84b8b102d85e6d3e310ccbad376
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 19:56:54 2024 +0100
Fixed expected JSON for missing type tests
commit f938d0d4b9d95911f79733faf41c4a9a4567a157
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 19:52:34 2024 +0100
Fixed VariableParameterNotAssigned test
commit fa75dec5e621516e249db6bd9d147b5a58ae7a21
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 19:39:51 2024 +0100
Fixed non-output-sourced links not getting serialized
commit e97cc8aab7998114ef74fd6183f191dd8ce3d20e
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 17:44:25 2024 +0100
Fix stack overflow
commit 4b0d5d07a74c4cb045a05f2be9566468fe3c6d7b
Author: James King <james.king@facepunchstudios.com>
Date: Mon Jan 15 17:42:09 2024 +0100
WIP big refactor, store constant values / variable references in Links
Updated CallInstanceAsyncMethodReturnValue test
Fixed Task<T> returning method output types
Test for async returning methods
Fixed binding to methods returning Task<T>
SourceType / GetBindingSurface fixes
Fixed NodeDefinitionAttribute
Expose some members for custom node definitions
Add NodeDefinitionAttribute
Refactor adding expanded output bindings
Expand var.get output
Only expand directly declared members by default
Allow [Expanded] attributes in any assembly
Allow custom logic for if members are expanded
Expand property / field getter return value
Rename SingleNodes to NodeTests
API for adding expanded outputs
Expanded output test
Expanded output implementation
Allow adding expanded outputs at any time
ExpandedAttribute
Fixed reachability test for expression nodes
Added failing test of variable accessibility
Fixed finding and validating referenced variables