File tree Expand file tree Collapse file tree 5 files changed +21
-11
lines changed
src/Ubiquity.NET.Runtime.Utils Expand file tree Collapse file tree 5 files changed +21
-11
lines changed Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ blittable
2525blockdiag
2626blog
2727bool
28+ borked
2829buildbinoutput
2930buildtransitive
3031builtinop
Original file line number Diff line number Diff line change 7878 "files" : [" **.csproj" ]
7979 }
8080 ],
81- "dest" : " runtime-utils/api"
81+ "dest" : " runtime-utils/api" ,
82+ "properties" : {
83+ // use .NET 8.0 for the TFM as it is multi-targeting
84+ // Sadly, DocFX can't find the dependent project builds if this is .NET 9.0
85+ // and then generates warnings as a result. (DocFX metadata generation is
86+ // pretty well borked and needs replacement as there are a LOT of workarounds
87+ // in this project let alone all the ones found on-line.)
88+ "TargetFramework" : " net8.0"
89+ }
8290 },
8391 {
8492 // TextUX library
9098 "files" : [" **.csproj" ]
9199 }
92100 ],
93- "dest" : " TextUX/api" ,
94- "properties" : {
95- "DefineConstants" : " DOCFX_BUILD"
96- }
101+ "dest" : " TextUX/api"
97102 }
98103 ],
99104 "build" : {
Original file line number Diff line number Diff line change @@ -21,8 +21,9 @@ public interface IAstVisitor<out TResult>
2121 /// <remarks>
2222 /// <para>This interface is used for visiting an AST, typically for generating code but may also
2323 /// be used to detect errors in the AST etc..</para>
24- /// <para>The <typeparamref name="TArg"/> is typically used for a Byref-like type where the type
25- /// may NOT be stored on the heap and MUST be passed via `ref readonly`.</para>
24+ /// <para>In frameworks that support it the <typeparamref name="TArg"/> is typically used for a <c>byref-like</c>
25+ /// type where the type may NOT be stored on the heap and MUST be passed via <c>ref readonly</c>. (Such support
26+ /// requires at least .NET 9 to support <c>allows ref struct</c>, which requires runtime support.)</para>
2627 /// </remarks>
2728 public interface IAstVisitor < out TResult , TArg >
2829#if NET9_0_OR_GREATER
Original file line number Diff line number Diff line change 33
44using System . IO ;
55
6+ // CONSIDER: Adaptation that accepts IParsesErrorReporter as a param argument to the parse APIs instead of relying on
7+ // an implementation to "hold" one.
8+
69namespace Ubiquity . NET . Runtime . Utils
710{
8- /// <summary>Core interface for a general parser</summary>
11+ /// <summary>Core interface for a general parser that parses input text into an AST represented as a root <see cref="IAstNode"/> </summary>
912 public interface IParser
1013 {
1114 /// <summary>Try parsing the given input text</summary>
1215 /// <param name="txt">Text to parse</param>
1316 /// <returns>Parse results as an <see cref="IAstNode"/></returns>
1417 /// <remarks>
15- /// If the parse fails then the result is <see langword="false "/>.
18+ /// If the parse fails then the result is <see langword="null "/>.
1619 /// Errors from the parse are reported through error listeners provided
17- /// to the parser. Normally this is done via the constructor of a type
20+ /// to the parser. Normally, this is done via the constructor of a type
1821 /// implementing this interface.
1922 /// </remarks>
2023 IAstNode ? Parse ( string txt ) ;
Original file line number Diff line number Diff line change 11<Project Sdk =" Microsoft.NET.Sdk" >
22 <PropertyGroup >
3- <TargetFramework >net8.0</ TargetFramework >
3+ <TargetFrameworks >net8.0;net9.0</ TargetFrameworks >
44 <LangVersion >13</LangVersion >
55 <Nullable >enable</Nullable >
66 <!-- Until C#14 and the "field" and "extension" keywords are available use the preview language -->
You can’t perform that action at this time.
0 commit comments