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),
            });
示例#2
0
 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>(),
     });
示例#3
0
 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),
     }));
示例#4
0
        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>(),
            });
示例#5
0
 public MemberDeclarationSyntax Transpile(JassGlobalDeclarationSyntax globalDeclaration)
 {
     var declaration = SyntaxFactory.FieldDeclaration(
示例#6
0
 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(