private bool TryAdaptIGlobalDeclaration(JassMapScriptAdapterContext context, IGlobalDeclarationSyntax declaration, [NotNullWhen(true)] out IGlobalDeclarationSyntax?adaptedGlobalDeclaration) { return(declaration switch { JassGlobalDeclarationSyntax globalDeclaration => TryAdaptGlobalDeclaration(context, globalDeclaration, out adaptedGlobalDeclaration), _ => TryAdaptDummy(context, declaration, out adaptedGlobalDeclaration), });
public IEnumerable <MemberDeclarationSyntax> Transpile(IDeclarationSyntax declaration) { return(declaration switch { JassTypeDeclarationSyntax typeDeclaration => new[] { Transpile(typeDeclaration) }, JassGlobalDeclarationListSyntax globalDeclarationList => Transpile(globalDeclarationList), JassGlobalDeclarationSyntax globalDeclaration => new[] { Transpile(globalDeclaration) }, JassNativeFunctionDeclarationSyntax nativeFunctionDeclaration => new[] { Transpile(nativeFunctionDeclaration) }, JassFunctionDeclarationSyntax functionDeclaration => new[] { Transpile(functionDeclaration) }, _ => Array.Empty <MemberDeclarationSyntax>(), });
public IEnumerable <LuaStatementSyntax> Transpile(JassGlobalDeclarationListSyntax globalDeclarationList) { return(globalDeclarationList.Globals .Where(declaration => !(declaration is JassCommentDeclarationSyntax && IgnoreComments)) .Where(declaration => !(declaration is JassEmptyDeclarationSyntax && IgnoreEmptyDeclarations)) .Select(declaration => declaration switch { JassEmptyDeclarationSyntax emptyDeclaration => Transpile(emptyDeclaration), JassCommentDeclarationSyntax commentDeclaration => Transpile(commentDeclaration), JassGlobalDeclarationSyntax globalDeclaration => Transpile(globalDeclaration), }));
public IEnumerable <LuaStatementSyntax> Transpile(IDeclarationSyntax declaration) { if (declaration is JassNativeFunctionDeclarationSyntax nativeFunctionDeclaration) { RegisterFunctionReturnType(nativeFunctionDeclaration.FunctionDeclarator); } return(declaration switch { JassEmptyDeclarationSyntax emptyDeclaration => IgnoreEmptyDeclarations?Array.Empty <LuaStatementSyntax>() : new[] { Transpile(emptyDeclaration) }, JassCommentDeclarationSyntax commentDeclaration => IgnoreComments?Array.Empty <LuaStatementSyntax>() : new[] { Transpile(commentDeclaration) }, JassGlobalDeclarationListSyntax globalDeclarationList => Transpile(globalDeclarationList), JassGlobalDeclarationSyntax globalDeclaration => new[] { Transpile(globalDeclaration) }, JassFunctionDeclarationSyntax functionDeclaration => IgnoreEmptyDeclarations && KeepFunctionsSeparated ? new[] { Transpile(functionDeclaration), LuaBlankLinesStatement.One } : new[] { Transpile(functionDeclaration) }, _ => Array.Empty <LuaStatementSyntax>(), });
public MemberDeclarationSyntax Transpile(JassGlobalDeclarationSyntax globalDeclaration) { var declaration = SyntaxFactory.FieldDeclaration(
public LuaStatementSyntax Transpile(JassGlobalDeclarationSyntax globalDeclaration) { return(Transpile(globalDeclaration.Declarator, false)); }
public void Render(JassGlobalDeclarationSyntax globalDeclaration) { Render(globalDeclaration.Declarator); }
public MemberDeclarationSyntax Transpile(JassGlobalDeclarationSyntax globalDeclaration) { return(SyntaxFactory.FieldDeclaration(