I am not sure how to find out more about whats wrong with my .js file, but if I turn "defaultDebugEnaled = true" then it works fine, but putting it to false makes me get this error
And I can't seem to toggle anything to make it give me a more specific error, I only know that it fails when trying to minify it.
Also this only happens when I include one certain file, but this is work so can't just post that file.
Server Error in '/' Application.
[ERROR] missing formal parameter
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidOperationException: [ERROR] missing formal parameter
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[InvalidOperationException: [ERROR] missing formal parameter]
Yahoo.Yui.Compressor.CustomErrorReporter.Error(String message, String sourceName, Int32 line, String lineSource, Int32 lineOffset) +61
EcmaScript.NET.Parser.AddError(String messageId) +94
EcmaScript.NET.Parser.ReportError(String messageId) +9
EcmaScript.NET.Parser.function(Int32 functionType) +700
EcmaScript.NET.Parser.parseFunctionBody() +138
EcmaScript.NET.Parser.function(Int32 functionType) +932
EcmaScript.NET.Parser.primaryExpr() +334
EcmaScript.NET.Parser.memberExpr(Boolean allowCallSyntax) +213
EcmaScript.NET.Parser.unaryExpr() +605
EcmaScript.NET.Parser.mulExpr() +16
EcmaScript.NET.Parser.addExpr() +16
EcmaScript.NET.Parser.shiftExpr() +16
EcmaScript.NET.Parser.relExpr(Boolean inForInit) +21
EcmaScript.NET.Parser.eqExpr(Boolean inForInit) +25
EcmaScript.NET.Parser.bitAndExpr(Boolean inForInit) +23
EcmaScript.NET.Parser.bitXorExpr(Boolean inForInit) +23
EcmaScript.NET.Parser.bitOrExpr(Boolean inForInit) +23
EcmaScript.NET.Parser.andExpr(Boolean inForInit) +26
EcmaScript.NET.Parser.orExpr(Boolean inForInit) +26
EcmaScript.NET.Parser.condExpr(Boolean inForInit) +26
EcmaScript.NET.Parser.assignExpr(Boolean inForInit) +28
EcmaScript.NET.Parser.expr(Boolean inForInit) +23
EcmaScript.NET.Parser.primaryExpr() +1233
EcmaScript.NET.Parser.memberExpr(Boolean allowCallSyntax) +213
EcmaScript.NET.Parser.unaryExpr() +605
EcmaScript.NET.Parser.mulExpr() +16
EcmaScript.NET.Parser.addExpr() +16
EcmaScript.NET.Parser.shiftExpr() +16
EcmaScript.NET.Parser.relExpr(Boolean inForInit) +21
EcmaScript.NET.Parser.eqExpr(Boolean inForInit) +25
EcmaScript.NET.Parser.bitAndExpr(Boolean inForInit) +23
EcmaScript.NET.Parser.bitXorExpr(Boolean inForInit) +23
EcmaScript.NET.Parser.bitOrExpr(Boolean inForInit) +23
EcmaScript.NET.Parser.andExpr(Boolean inForInit) +26
EcmaScript.NET.Parser.orExpr(Boolean inForInit) +26
EcmaScript.NET.Parser.condExpr(Boolean inForInit) +26
EcmaScript.NET.Parser.assignExpr(Boolean inForInit) +28
EcmaScript.NET.Parser.expr(Boolean inForInit) +23
EcmaScript.NET.Parser.statementHelper(Node statementLabel) +9649
EcmaScript.NET.Parser.statement() +71
EcmaScript.NET.Parser.Parse() +333
EcmaScript.NET.Parser.Parse(StreamReader sourceReader, String sourceURI, Int32 lineno) +64
Yahoo.Yui.Compressor.JavaScriptCompressor.Parse(StreamReader stream, ErrorReporter reporter) +71
Yahoo.Yui.Compressor.JavaScriptCompressor..ctor(String javaScript, Boolean isVerboseLogging, Encoding encoding, CultureInfo threadCulture, Boolean isEvalIgnored, ErrorReporter errorReporter) +391
Yahoo.Yui.Compressor.JavaScriptCompressor.Compress(String javaScript, Boolean isVerboseLogging, Boolean isObfuscateJavascript, Boolean preserveAllSemicolons, Boolean disableOptimizations, Int32 lineBreakPosition, Encoding encoding, CultureInfo threadCulture, Boolean isEvalIgnored) +73
Combres.Minifiers.YuiJSMinifier.Minify(Settings settings, ResourceSet resourceSet, String binedContent) +355
Combres.RequestProcessor.MinifyContent(MinifierInfo minifierInfo, IEnumerable`1 resources, String binedContent) +340
Combres.DefaultProcessingWorkflow.ProcessMergeGroup(ICollection`1 minifiedContents, IEnumerable`1 mergeGroup, MinifierInfo currentMinifier) +63
Combres.DefaultProcessingWorkflow.Execute() +344
Combres.RequestProcessor.Execute() +160
Combres.CombresHandler.ProcessRequest(HttpContext context) +94
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +100
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& pletedSynchronously) +75
I am not sure how to find out more about whats wrong with my .js file, but if I turn "defaultDebugEnaled = true" then it works fine, but putting it to false makes me get this error
And I can't seem to toggle anything to make it give me a more specific error, I only know that it fails when trying to minify it.
Also this only happens when I include one certain file, but this is work so can't just post that file.
Server Error in '/' Application.
[ERROR] missing formal parameter
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidOperationException: [ERROR] missing formal parameter
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[InvalidOperationException: [ERROR] missing formal parameter]
Yahoo.Yui.Compressor.CustomErrorReporter.Error(String message, String sourceName, Int32 line, String lineSource, Int32 lineOffset) +61
EcmaScript.NET.Parser.AddError(String messageId) +94
EcmaScript.NET.Parser.ReportError(String messageId) +9
EcmaScript.NET.Parser.function(Int32 functionType) +700
EcmaScript.NET.Parser.parseFunctionBody() +138
EcmaScript.NET.Parser.function(Int32 functionType) +932
EcmaScript.NET.Parser.primaryExpr() +334
EcmaScript.NET.Parser.memberExpr(Boolean allowCallSyntax) +213
EcmaScript.NET.Parser.unaryExpr() +605
EcmaScript.NET.Parser.mulExpr() +16
EcmaScript.NET.Parser.addExpr() +16
EcmaScript.NET.Parser.shiftExpr() +16
EcmaScript.NET.Parser.relExpr(Boolean inForInit) +21
EcmaScript.NET.Parser.eqExpr(Boolean inForInit) +25
EcmaScript.NET.Parser.bitAndExpr(Boolean inForInit) +23
EcmaScript.NET.Parser.bitXorExpr(Boolean inForInit) +23
EcmaScript.NET.Parser.bitOrExpr(Boolean inForInit) +23
EcmaScript.NET.Parser.andExpr(Boolean inForInit) +26
EcmaScript.NET.Parser.orExpr(Boolean inForInit) +26
EcmaScript.NET.Parser.condExpr(Boolean inForInit) +26
EcmaScript.NET.Parser.assignExpr(Boolean inForInit) +28
EcmaScript.NET.Parser.expr(Boolean inForInit) +23
EcmaScript.NET.Parser.primaryExpr() +1233
EcmaScript.NET.Parser.memberExpr(Boolean allowCallSyntax) +213
EcmaScript.NET.Parser.unaryExpr() +605
EcmaScript.NET.Parser.mulExpr() +16
EcmaScript.NET.Parser.addExpr() +16
EcmaScript.NET.Parser.shiftExpr() +16
EcmaScript.NET.Parser.relExpr(Boolean inForInit) +21
EcmaScript.NET.Parser.eqExpr(Boolean inForInit) +25
EcmaScript.NET.Parser.bitAndExpr(Boolean inForInit) +23
EcmaScript.NET.Parser.bitXorExpr(Boolean inForInit) +23
EcmaScript.NET.Parser.bitOrExpr(Boolean inForInit) +23
EcmaScript.NET.Parser.andExpr(Boolean inForInit) +26
EcmaScript.NET.Parser.orExpr(Boolean inForInit) +26
EcmaScript.NET.Parser.condExpr(Boolean inForInit) +26
EcmaScript.NET.Parser.assignExpr(Boolean inForInit) +28
EcmaScript.NET.Parser.expr(Boolean inForInit) +23
EcmaScript.NET.Parser.statementHelper(Node statementLabel) +9649
EcmaScript.NET.Parser.statement() +71
EcmaScript.NET.Parser.Parse() +333
EcmaScript.NET.Parser.Parse(StreamReader sourceReader, String sourceURI, Int32 lineno) +64
Yahoo.Yui.Compressor.JavaScriptCompressor.Parse(StreamReader stream, ErrorReporter reporter) +71
Yahoo.Yui.Compressor.JavaScriptCompressor..ctor(String javaScript, Boolean isVerboseLogging, Encoding encoding, CultureInfo threadCulture, Boolean isEvalIgnored, ErrorReporter errorReporter) +391
Yahoo.Yui.Compressor.JavaScriptCompressor.Compress(String javaScript, Boolean isVerboseLogging, Boolean isObfuscateJavascript, Boolean preserveAllSemicolons, Boolean disableOptimizations, Int32 lineBreakPosition, Encoding encoding, CultureInfo threadCulture, Boolean isEvalIgnored) +73
Combres.Minifiers.YuiJSMinifier.Minify(Settings settings, ResourceSet resourceSet, String binedContent) +355
Combres.RequestProcessor.MinifyContent(MinifierInfo minifierInfo, IEnumerable`1 resources, String binedContent) +340
Combres.DefaultProcessingWorkflow.ProcessMergeGroup(ICollection`1 minifiedContents, IEnumerable`1 mergeGroup, MinifierInfo currentMinifier) +63
Combres.DefaultProcessingWorkflow.Execute() +344
Combres.RequestProcessor.Execute() +160
Combres.CombresHandler.ProcessRequest(HttpContext context) +94
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +100
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& pletedSynchronously) +75
Share
Improve this question
edited Nov 14, 2011 at 14:03
Shawn Chin
87k20 gold badges167 silver badges193 bronze badges
asked Nov 14, 2011 at 13:25
Mech0zMech0z
3,6476 gold badges51 silver badges87 bronze badges
3 Answers
Reset to default 6"Missing formal parameter" means that a function definition is missing a parameter. For example
/**
* @param x ...
* @param y ...
*/
function f(x) { // Only one formal parameter.
...
}
f(1, 2); // Called with 2 actual parameters.
the function f
is missing a formal parameter y
.
EDIT:
https://github./wycats/handlebars.js/issues/93 discusses a similar issue and suggests the problem is that YUI pressor treats certain JS identifiers (incorrectly) as reserved words and issues this error when a reserved word is used as a formal parameter
$ java -jar lib/closurepiler.jar --js js/handlebars.1.0.0.beta.3.js js/handlebars.1.0.0.beta.3.js:667: ERROR - Parse error. missing formal parameter Handlebars.AST.BooleanNode = function(boolean) {
I have a version that seems to be working in my fork. Main change was to remove reserved word with s/boolean/bool/g Also linted the input .js files for consistency.
This error can also appear when using parametres like this:
function functionName( markers, boolean )
In this case boolean
will cause the error.
I had this same problem yesterday (which turned out to be 'long' used a parameter - i just renamed to longitude) - and the best approach for me was to feed the JS manually to these two tools: http://www.javascriptlint./online_lint.php and an online YUI pressor http://refresh-sf./yui/
between the two it was easy to find the errors and verify that it would press.