From 8b11441217f52ddc2f9cceaa89e2846efe99af50 Mon Sep 17 00:00:00 2001 From: Tim Nugent Date: Thu, 25 Jan 2024 15:34:10 +1100 Subject: [PATCH] Yarn attributed methods can now use consts as their attribute names. --- CHANGELOG.md | 5 +- .../ActionsGenerator.cs | 76 +++++++++++++----- Editor/Analysis/Analyser.cs | 49 +++++++---- .../YarnSpinner.Unity.SourceCodeGenerator.dll | Bin 62464 -> 64000 bytes 4 files changed, 91 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aa12074e..9bd4b6e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - enabling/disabling asset linking will force a reimport of all `yarnprojects` - `Yarn.Unity.ActionAnalyser.Action` now has a `MethodIdentifierName` property, which is the short form of the method name. - `LineView` now will add in line breaks when it encounters a self closing `[br /]` marker. +- Yarn attributed Functions and Commands can now use constant values in addition to literals for their name. ### Changed @@ -29,7 +30,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Standard library functions (like `random`, `dice`, `round_places`, etc) have been moved to the core Yarn Spinner library. - Fixed a bug where the audio assets in the samples weren't being linked correctly resulting in playback errors. - Intro Sample: Moved the Character Color view to a new stand-alone object (it's easier to explain how to do this in a tutorial!) -- `Analyser` no longer ignores non-public +- `Analyser` no longer ignores non-public Yarn attributed methods - this is now handled at the codegen side so we can better log it - `ActionsGenerator` will now generate C# warnings for non-private methods that are attributed as `YarnFunction` or `YarnCommand`. - `ActionsGenerator` still logs to a temporary location, but now into a `dev.yarnspinner.logs` folder inside the temporary location. @@ -37,6 +38,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - `DialogueAdvanceInput` now supports Virtual Button names in addition to KeyCodes and Input Actions - this can be configured to work on button or keycode release or press. - defaults to on release. +- Actions Registration now dumps generated code into the same temporary folder the logs live in +- `ActionsGenerator` will now generate C# warnings for incorrectly named methods that are attributed as `YarnFunction` or `YarnCommand`. ### Removed diff --git a/Editor/Analysis/ActionsRegistrationGenerator~/ActionsGenerator.cs b/Editor/Analysis/ActionsRegistrationGenerator~/ActionsGenerator.cs index 94e56cc3..79cb5a53 100644 --- a/Editor/Analysis/ActionsRegistrationGenerator~/ActionsGenerator.cs +++ b/Editor/Analysis/ActionsRegistrationGenerator~/ActionsGenerator.cs @@ -121,7 +121,7 @@ public void Execute(GeneratorExecutionContext context) var actions = new List(); foreach (var tree in compilation.SyntaxTrees) { - actions.AddRange(Analyser.GetActions(compilation, tree).Where(a => a.DeclarationType == DeclarationType.Attribute)); + actions.AddRange(Analyser.GetActions(compilation, tree, output).Where(a => a.DeclarationType == DeclarationType.Attribute)); } if (actions.Any() == false) @@ -130,6 +130,8 @@ public void Execute(GeneratorExecutionContext context) return; } + HashSet removals = new HashSet(); + // validating and logging all the actions foreach (var action in actions) { if (action == null) @@ -157,15 +159,40 @@ public void Execute(GeneratorExecutionContext context) action.MethodIdentifierName, action.MethodSymbol.DeclaredAccessibility )); output.WriteLine($"Action {action.Name} will be skipped due to it's declared accessibility {action.MethodSymbol.DeclaredAccessibility}"); + removals.Add(action.Name); continue; } + + // this is not a full validation of the naming rules of commands + // but is good enough to catch the most common situations, whitespace and periods + if (action.Name.Contains(".") || action.Name.Any(x => Char.IsWhiteSpace(x))) + { + var descriptor = new DiagnosticDescriptor( + "YS1002", + $"Yarn {action.Type} methods must have a valid name", + "YarnCommand and YarnFunction methods follow existing ID rules for Yarn. \"{0}\" is invalid.", + "Yarn Spinner", + DiagnosticSeverity.Warning, + true, + "[YarnCommand] and [YarnFunction] attributed methods must follow Yarn ID rules so that Yarn scripts can reference them.", + "https://docs.yarnspinner.dev/using-yarnspinner-with-unity/creating-commands-functions"); + context.ReportDiagnostic(Microsoft.CodeAnalysis.Diagnostic.Create( + descriptor, + action.Declaration?.GetLocation(), + action.Name + )); + output.WriteLine($"Action {action.MethodIdentifierName} will be skipped due to it's name {action.Name}"); + removals.Add(action.Name); + continue; + } + output.WriteLine($"Action {action.Name}: {action.SourceFileName}:{action.Declaration?.GetLocation()?.GetLineSpan().StartLinePosition.Line} ({action.Type})"); } - // removing any actions that aren't public from the list before we do codegen - actions = actions.Where(a => a.MethodSymbol.DeclaredAccessibility == Accessibility.Public).ToList(); + // removing any actions that failed validation + actions.Where(x => !removals.Contains(x.Name)).ToList(); - output.Write($"Generating source code... "); + output.Write($"Generating source code..."); var source = Analyser.GenerateRegistrationFileSource(actions); @@ -393,25 +420,31 @@ public void Initialize(GeneratorInitializationContext context) context.RegisterForSyntaxNotifications(() => new ClassDeclarationSyntaxReceiver()); } - public Yarn.Unity.ILogger GetOutput(GeneratorExecutionContext context) + static string TemporaryPath() { - if (GetShouldLogToFile(context)) - { - var tempPath = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "dev.yarnspinner.logs"); + var tempPath = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "dev.yarnspinner.logs"); - // we need to make the logs folder, but this can potentially fail - // if it does fail then we will just chuck the logs inside the tmp folder - try - { - if (!Directory.Exists(tempPath)) - { - Directory.CreateDirectory(tempPath); - } - } - catch + // we need to make the logs folder, but this can potentially fail + // if it does fail then we will just chuck the logs inside the tmp folder + try + { + if (!Directory.Exists(tempPath)) { - tempPath = System.IO.Path.GetTempPath(); + Directory.CreateDirectory(tempPath); } + } + catch + { + tempPath = System.IO.Path.GetTempPath(); + } + return tempPath; + } + + public Yarn.Unity.ILogger GetOutput(GeneratorExecutionContext context) + { + if (GetShouldLogToFile(context)) + { + var tempPath = ActionRegistrationSourceGenerator.TemporaryPath(); var path = System.IO.Path.Combine(tempPath, $"{nameof(ActionRegistrationSourceGenerator)}-{context.Compilation.AssemblyName}.txt"); var outFile = System.IO.File.Open(path, System.IO.FileMode.Create); @@ -431,8 +464,9 @@ private static bool GetShouldLogToFile(GeneratorExecutionContext context) public void DumpGeneratedFile(GeneratorExecutionContext context, string text) { - if (GetShouldLogToFile(context)) { - var tempPath = System.IO.Path.GetTempPath(); + if (GetShouldLogToFile(context)) + { + var tempPath = ActionRegistrationSourceGenerator.TemporaryPath(); var path = System.IO.Path.Combine(tempPath, $"{nameof(ActionRegistrationSourceGenerator)}-{context.Compilation.AssemblyName}.cs"); System.IO.File.WriteAllText(path, text); } diff --git a/Editor/Analysis/Analyser.cs b/Editor/Analysis/Analyser.cs index 506b6cfb..51f2d07a 100644 --- a/Editor/Analysis/Analyser.cs +++ b/Editor/Analysis/Analyser.cs @@ -320,17 +320,24 @@ private static AttributeListSyntax GeneratedCodeAttributeList } } - public static IEnumerable GetActions(CSharpCompilation compilation, Microsoft.CodeAnalysis.SyntaxTree tree) + public static IEnumerable GetActions(CSharpCompilation compilation, Microsoft.CodeAnalysis.SyntaxTree tree, Yarn.Unity.ILogger yLogger = null) { + var logger = yLogger; + if (logger == null) + { + logger = new NullLogger(); + } + var root = tree.GetCompilationUnitRoot(); SemanticModel model = null; - if (compilation != null) { + if (compilation != null) + { model = compilation.GetSemanticModel(tree); } - return GetAttributeActions(root, model).Concat(GetRuntimeDefinedActions(root, model)); + return GetAttributeActions(root, model, logger).Concat(GetRuntimeDefinedActions(root, model)); } private static IEnumerable GetRuntimeDefinedActions(CompilationUnitSyntax root, SemanticModel model) @@ -390,7 +397,7 @@ private static IEnumerable GetRuntimeDefinedActions(CompilationUnitSynta } } - private static IEnumerable GetAttributeActions(CompilationUnitSyntax root, SemanticModel model) + private static IEnumerable GetAttributeActions(CompilationUnitSyntax root, SemanticModel model, Yarn.Unity.ILogger logger) { var methodInfos = root .DescendantNodes() @@ -417,21 +424,29 @@ private static IEnumerable GetAttributeActions(CompilationUnitSyntax roo { var attr = methodInfo.ActionAttribute; - string actionName; + // working on an assumption that most people just use the method name + string actionName = methodInfo.MethodDeclaration.Identifier.ToString(); - // If the attribute has an argument list, and the first argument - // is a string, then use that string's value as the action name. - if (attr.ArgumentList != null - && attr.ArgumentList.Arguments.First().Expression is LiteralExpressionSyntax commandName - && commandName.Kind() == SyntaxKind.StringLiteralExpression - && commandName.Token.Value is string name) - { - actionName = name; - } - else + // handling the situation where they have provided arguments + // if we have an argument list + if (attr.ArgumentList != null) { - // Otherwise, use the method's name. - actionName = methodInfo.MethodDeclaration.Identifier.ToString(); + // we resolve the value of first item in that list + // and if it's a string we use that as the action name + var constantValue = model.GetConstantValue(attr.ArgumentList.Arguments.First().Expression); + if (constantValue.HasValue) + { + if (constantValue.Value is string) + { + logger.WriteLine($"resolved constant expression value for the action name: {constantValue.Value.ToString()}"); + actionName = constantValue.Value as string; + } + else + { + // Otherwise just logging the incorrect type and moving on with our life + logger.WriteLine($"resolved constant expression value for the action name, but it is not a string, skipping: {constantValue.Value.ToString()}"); + } + } } var position = methodInfo.MethodDeclaration.GetLocation(); diff --git a/SourceGenerator/YarnSpinner.Unity.SourceCodeGenerator.dll b/SourceGenerator/YarnSpinner.Unity.SourceCodeGenerator.dll index 766db4b70dd0734fada4b286ea526c0e950a3321..b5037a974ee879f747ad99d0eb2d1c293cc18e39 100644 GIT binary patch literal 64000 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ȫo5`t{uql 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 G;Qs;H31Sui