コード例 #1
0
        /// <summary>
        /// Convert jsCompiler options to Google Closure Compiler options.
        /// </summary>
        /// <param name="options1"></param>
        /// <param name="options2"></param>
        private void configureDiagnosticGroups(jsCompiler.Core.CompilerOptions options1, com.google.javascript.jscomp.CompilerOptions options2)
        {
            // Set the compiler checks below tight...
            /*
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.MISSING_PROPERTIES, com.google.javascript.jscomp.CheckLevel.ERROR);
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.UNDEFINED_VARIABLES, com.google.javascript.jscomp.CheckLevel.ERROR);
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.CHECK_TYPES, com.google.javascript.jscomp.CheckLevel.ERROR);
            */

            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.ACCESS_CONTROLS, getCheckLevel(options1.DiagnosticGroup.AccessControl));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.AMBIGUOUS_FUNCTION_DECL, getCheckLevel(options1.DiagnosticGroup.AmbiguousFunctionDeclaration));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.CHECK_REGEXP, getCheckLevel(options1.DiagnosticGroup.CheckRegularExpression));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.CHECK_TYPES, getCheckLevel(options1.DiagnosticGroup.CheckTypes));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.CHECK_USELESS_CODE, getCheckLevel(options1.DiagnosticGroup.UselessCode));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.CHECK_VARIABLES, getCheckLevel(options1.DiagnosticGroup.CheckVariables));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.CONSTANT_PROPERTY, getCheckLevel(options1.DiagnosticGroup.ConstantProperty));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.DEPRECATED, getCheckLevel(options1.DiagnosticGroup.Deprecated));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.DUPLICATE_MESSAGE, getCheckLevel(options1.DiagnosticGroup.DuplicateMessage));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.ES5_STRICT, getCheckLevel(options1.DiagnosticGroup.ES5Strict));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.EXTERNS_VALIDATION, getCheckLevel(options1.DiagnosticGroup.ExternsValidation));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.FILEOVERVIEW_JSDOC, getCheckLevel(options1.DiagnosticGroup.FileOverviewTags));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.GLOBAL_THIS, getCheckLevel(options1.DiagnosticGroup.GlobalThis));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.INTERNET_EXPLORER_CHECKS, getCheckLevel(options1.DiagnosticGroup.InternetExplorerChecks));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.INVALID_CASTS, getCheckLevel(options1.DiagnosticGroup.InvalidCasts));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.MISSING_PROPERTIES, getCheckLevel(options1.DiagnosticGroup.MissingProperties));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.NON_STANDARD_JSDOC, getCheckLevel(options1.DiagnosticGroup.NonStandard_JSDoc));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.STRICT_MODULE_DEP_CHECK, getCheckLevel(options1.DiagnosticGroup.StrictModuleDependencyCheck));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.TYPE_INVALIDATION, getCheckLevel(options1.DiagnosticGroup.TypeInvalidation));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.UNDEFINED_NAMES, getCheckLevel(options1.DiagnosticGroup.UndefinedNames));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.UNDEFINED_VARIABLES, getCheckLevel(options1.DiagnosticGroup.UndefinedVariables));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.UNKNOWN_DEFINES, getCheckLevel(options1.DiagnosticGroup.UnknownDefines));
            options2.setWarningLevel(com.google.javascript.jscomp.DiagnosticGroups.VISIBILITY, getCheckLevel(options1.DiagnosticGroup.Visibility));
        }
コード例 #2
0
 /// <summary>
 /// Internal translation for compiler level between exposed setting in C# and java
 /// </summary>
 /// <param name="options1"></param>
 /// <param name="options2"></param>
 private void configureCompileLevel(jsCompiler.Core.CompilerOptions options1, com.google.javascript.jscomp.CompilerOptions options2)
 {
     switch (options1.CompilerLevel)
     {
         case jsCompiler.Core.CompilerOptions.ECompilerLevel.WhiteSpaceOnly:
             {
                 com.google.javascript.jscomp.CompilationLevel.WHITESPACE_ONLY.setOptionsForCompilationLevel(options2);
                 break;
             }
         case jsCompiler.Core.CompilerOptions.ECompilerLevel.SimpleOptimization:
             {
                 com.google.javascript.jscomp.CompilationLevel.SIMPLE_OPTIMIZATIONS.setOptionsForCompilationLevel(options2);
                 break;
             }
         case jsCompiler.Core.CompilerOptions.ECompilerLevel.AdvancedOptimization:
             {
                 com.google.javascript.jscomp.CompilationLevel.ADVANCED_OPTIMIZATIONS.setOptionsForCompilationLevel(options2);
                 break;
             }
         default:
             {
                 break;
             }
     }
 }
コード例 #3
0
        public static com.google.javascript.jscomp.JSSourceFile[] Configure(jsCompiler.Core.CompilerOptions options)
        {
            // It really sucks that I have to read the default externs out of the
            // google closure commandlinecompiler to then feed it right back in
            // to Java...  Waste of cycles.  Hoepfully, these default externs will
            // become a flag in the compiler itself.
            java.util.List files = com.google.javascript.jscomp.CommandLineRunner.getDefaultExterns();

            // Copy over all the files so that we can create an array from them,
            // which is then passed to the closure compiler.
            List<com.google.javascript.jscomp.JSSourceFile> result = new List<com.google.javascript.jscomp.JSSourceFile>(files.size());

            for (int index = 0, length = files.size(); index < length; index++)
            {
                com.google.javascript.jscomp.SourceFile f = files.get(index) as com.google.javascript.jscomp.SourceFile;

                //
                // NOTE: Google Closure Compiler source defines JSSourceFile constructor
                // as private.  But for this to work proeprly, I had to change their
                // code to make the construtor public...  Look at JSSourceFile.java
                //
                result.Add(new com.google.javascript.jscomp.JSSourceFile(f));
            }

            return result.ToArray();
        }
コード例 #4
0
        public com.google.javascript.jscomp.CompilerOptions Configure(jsCompiler.Core.CompilerOptions options)
        {
            com.google.javascript.jscomp.CompilerOptions result = new com.google.javascript.jscomp.CompilerOptions();

            configureCompileLevel(options, result);
            configureWarningLevel(options, result);
            configureDiagnosticGroups(options, result);

            result.setIdeMode(options.IdeMode);
            return result;
        }
コード例 #5
0
        public static com.google.javascript.jscomp.JSSourceFile[] Configure(jsCompiler.Core.CompilerOptions options)
        {
            List<com.google.javascript.jscomp.JSSourceFile> result = new List<com.google.javascript.jscomp.JSSourceFile>(options.InputFiles.Count);

            foreach (string file in options.InputFiles)
            {
                result.Add(com.google.javascript.jscomp.JSSourceFile.fromFile(file));
            }

            return result.ToArray();
        }
コード例 #6
0
 /// <summary>
 /// Internal translation for warning level between exposed setting in C# and java
 /// </summary>
 /// <param name="options1"></param>
 /// <param name="options2"></param>
 private void configureWarningLevel(jsCompiler.Core.CompilerOptions options1, com.google.javascript.jscomp.CompilerOptions options2)
 {
     switch (options1.WarningLevel)
     {
         case jsCompiler.Core.CompilerOptions.EWarningLevel.Quiet:
             {
                 com.google.javascript.jscomp.WarningLevel.QUIET.setOptionsForWarningLevel(options2);
                 break;
             }
         case jsCompiler.Core.CompilerOptions.EWarningLevel.Verbose:
             {
                 com.google.javascript.jscomp.WarningLevel.VERBOSE.setOptionsForWarningLevel(options2);
                 break;
             }
         default:
             {
                 com.google.javascript.jscomp.WarningLevel.DEFAULT.setOptionsForWarningLevel(options2);
                 break;
             }
     }
 }