<!DOCTYPE html>
<html lang='en'>
<head>
<title>jquery-ui.git - The official jQuery user interface library: https://github.com/jquery/jquery-ui</title>
<meta name='generator' content='cgit v1.2.3'/>
<meta name='robots' content='index, nofollow'/>
<link rel='stylesheet' type='text/css' href='/cgit.css'/>
<link rel='shortcut icon' href='/favicon.ico'/>
<link rel='alternate' title='Atom feed' href='https://source.dussan.org/jquery-ui.git/atom/?h=dependabot/github_actions/github-actions-e7ab6fa4fa' type='application/atom+xml'/>
</head>
<body>
<div id='cgit'><table id='header'>
<tr>
<td class='logo' rowspan='2'><a href='/'><img src='/cgit.png' alt='cgit logo'/></a></td>
<td class='main'><a href='/'>index</a> : <a href='/jquery-ui.git/'>jquery-ui.git</a></td><td class='form'><form method='get'>
<input type='hidden' name='id' value='7d5fe02dd9e3af3ebbb4fcc3092045139b166c48'/><select name='h' onchange='this.form.submit();'>
<option value='1-10-stable'>1-10-stable</option>
<option value='1-11-stable'>1-11-stable</option>
<option value='1-12-stable'>1-12-stable</option>
<option value='1-13-stable'>1-13-stable</option>
<option value='1-8-stable'>1-8-stable</option>
<option value='1-9-stable'>1-9-stable</option>
<option value='datepicker'>datepicker</option>
<option value='dependabot/github_actions/github-actions-0b02fec6e3'>dependabot/github_actions/github-actions-0b02fec6e3</option>
<option value='dependabot/github_actions/github-actions-384b59e5c3'>dependabot/github_actions/github-actions-384b59e5c3</option>
<option value='dependabot/github_actions/github-actions-66959c3ab9'>dependabot/github_actions/github-actions-66959c3ab9</option>
<option value='dependabot/github_actions/github-actions-6951dec90a'>dependabot/github_actions/github-actions-6951dec90a</option>
<option value='dependabot/github_actions/github-actions-7574396d95'>dependabot/github_actions/github-actions-7574396d95</option>
<option value='dependabot/github_actions/github-actions-a2938ab9b9'>dependabot/github_actions/github-actions-a2938ab9b9</option>
<option value='dependabot/github_actions/github-actions-ced721f930'>dependabot/github_actions/github-actions-ced721f930</option>
<option value='dependabot/github_actions/github-actions-e7ab6fa4fa' selected='selected'>dependabot/github_actions/github-actions-e7ab6fa4fa</option>
<option value='dependabot/github_actions/github-actions-f50e11107c'>dependabot/github_actions/github-actions-f50e11107c</option>
<option value='dependabot/npm_and_yarn/body-parser-1.20.3'>dependabot/npm_and_yarn/body-parser-1.20.3</option>
<option value='dependabot/npm_and_yarn/express-4.20.0'>dependabot/npm_and_yarn/express-4.20.0</option>
<option value='interactions'>interactions</option>
<option value='jtr-test'>jtr-test</option>
<option value='main'>main</option>
<option value='spinner-globalize-1.x'>spinner-globalize-1.x</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>The official jQuery user interface library: https://github.com/jquery/jquery-ui</td><td class='sub right'>www-data</td></tr></table>
<table class='tabs'><tr><td>
<a href='/jquery-ui.git/about/?h=dependabot/github_actions/github-actions-e7ab6fa4fa'>about</a><a href='/jquery-ui.git/?h=dependabot/github_actions/github-actions-e7ab6fa4fa'>summary</a><a class='active' href='/jquery-ui.git/refs/?h=dependabot/github_actions/github-actions-e7ab6fa4fa&amp;id=7d5fe02dd9e3af3ebbb4fcc3092045139b166c48'>refs</a><a href='/jquery-ui.git/log/?h=dependabot/github_actions/github-actions-e7ab6fa4fa'>log</a><a href='/jquery-ui.git/tree/?h=dependabot/github_actions/github-actions-e7ab6fa4fa&amp;id=7d5fe02dd9e3af3ebbb4fcc3092045139b166c48'>tree</a><a href='/jquery-ui.git/commit/?h=dependabot/github_actions/github-actions-e7ab6fa4fa&amp;id=7d5fe02dd9e3af3ebbb4fcc3092045139b166c48'>commit</a><a href='/jquery-ui.git/diff/?h=dependabot/github_actions/github-actions-e7ab6fa4fa&amp;id=7d5fe02dd9e3af3ebbb4fcc3092045139b166c48'>diff</a><a href='/jquery-ui.git/stats/?h=dependabot/github_actions/github-actions-e7ab6fa4fa'>stats</a></td><td class='form'><form class='right' method='get' action='/jquery-ui.git/log/'>
<input type='hidden' name='h' value='dependabot/github_actions/github-actions-e7ab6fa4fa'/><input type='hidden' name='id' value='7d5fe02dd9e3af3ebbb4fcc3092045139b166c48'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Branch</th><th class='left'>Commit message</th><th class='left'>Author</th><th class='left' colspan='2'>Age</th></tr>
<tr><td><a href='/jquery-ui.git/log/?h=dependabot/github_actions/github-actions-384b59e5c3'>dependabot/github_actions/github-actions-384b59e5c3</a></td><td><a href='/jquery-ui.git/commit/?h=dependabot/github_actions/github-actions-384b59e5c3'>Build: Bump github/codeql-action in the github-actions group</a></td><td>dependabot[bot]</td><td colspan='2'><span class='age-days' title='2025-07-01 14:18:23 +0000'>11 days</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/'>main</a></td><td><a href='/jquery-ui.git/commit/'>Build: Bump github/codeql-action in the github-actions group</a></td><td>dependabot[bot]</td><td colspan='2'><span class='age-weeks' title='2025-06-06 15:30:41 +0200'>5 weeks</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=dependabot/github_actions/github-actions-ced721f930'>dependabot/github_actions/github-actions-ced721f930</a></td><td><a href='/jquery-ui.git/commit/?h=dependabot/github_actions/github-actions-ced721f930'>Build: Bump github/codeql-action in the github-actions group</a></td><td>dependabot[bot]</td><td colspan='2'><span class='age-weeks' title='2025-06-01 14:32:33 +0000'>6 weeks</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=dependabot/github_actions/github-actions-a2938ab9b9'>dependabot/github_actions/github-actions-a2938ab9b9</a></td><td><a href='/jquery-ui.git/commit/?h=dependabot/github_actions/github-actions-a2938ab9b9'>Build: Bump the github-actions group with 2 updates</a></td><td>dependabot[bot]</td><td colspan='2'><span class='age-months' title='2025-05-01 14:51:15 +0000'>2 months</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=dependabot/github_actions/github-actions-f50e11107c'>dependabot/github_actions/github-actions-f50e11107c</a></td><td><a href='/jquery-ui.git/commit/?h=dependabot/github_actions/github-actions-f50e11107c'>Build: Bump the github-actions group with 3 updates</a></td><td>dependabot[bot]</td><td colspan='2'><span class='age-months' title='2025-04-01 14:27:01 +0000'>3 months</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=dependabot/github_actions/github-actions-66959c3ab9'>dependabot/github_actions/github-actions-66959c3ab9</a></td><td><a href='/jquery-ui.git/commit/?h=dependabot/github_actions/github-actions-66959c3ab9'>Build: Bump the github-actions group with 2 updates</a></td><td>dependabot[bot]</td><td colspan='2'><span class='age-months' title='2025-03-01 14:45:18 +0000'>4 months</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=jtr-test'>jtr-test</a></td><td><a href='/jquery-ui.git/commit/?h=jtr-test'>Tests: use local jtr</a></td><td>Timmy Willison</td><td colspan='2'><span class='age-months' title='2025-02-09 11:56:16 -0500'>5 months</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=dependabot/github_actions/github-actions-0b02fec6e3'>dependabot/github_actions/github-actions-0b02fec6e3</a></td><td><a href='/jquery-ui.git/commit/?h=dependabot/github_actions/github-actions-0b02fec6e3'>Build: Bump the github-actions group with 2 updates</a></td><td>dependabot[bot]</td><td colspan='2'><span class='age-months' title='2025-02-01 14:12:38 +0000'>5 months</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=dependabot/github_actions/github-actions-7574396d95'>dependabot/github_actions/github-actions-7574396d95</a></td><td><a href='/jquery-ui.git/commit/?h=dependabot/github_actions/github-actions-7574396d95'>Build: Bump the github-actions group with 2 updates</a></td><td>dependabot[bot]</td><td colspan='2'><span class='age-months' title='2025-01-01 14:44:04 +0000'>6 months</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=dependabot/github_actions/github-actions-6951dec90a'>dependabot/github_actions/github-actions-6951dec90a</a></td><td><a href='/jquery-ui.git/commit/?h=dependabot/github_actions/github-actions-6951dec90a'>Build: Bump the github-actions group with 4 updates</a></td><td>dependabot[bot]</td><td colspan='2'><span class='age-months' title='2024-11-01 14:24:19 +0000'>8 months</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=dependabot/github_actions/github-actions-e7ab6fa4fa'>dependabot/github_actions/github-actions-e7ab6fa4fa</a></td><td><a href='/jquery-ui.git/commit/?h=dependabot/github_actions/github-actions-e7ab6fa4fa'>Build: Bump the github-actions group with 2 updates</a></td><td>dependabot[bot]</td><td colspan='2'><span class='age-months' title='2024-10-01 14:32:08 +0000'>9 months</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=dependabot/npm_and_yarn/body-parser-1.20.3'>dependabot/npm_and_yarn/body-parser-1.20.3</a></td><td><a href='/jquery-ui.git/commit/?h=dependabot/npm_and_yarn/body-parser-1.20.3'>Build: Bump body-parser from 1.20.2 to 1.20.3</a></td><td>dependabot[bot]</td><td colspan='2'><span class='age-months' title='2024-09-21 06:57:23 +0000'>10 months</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=dependabot/npm_and_yarn/express-4.20.0'>dependabot/npm_and_yarn/express-4.20.0</a></td><td><a href='/jquery-ui.git/commit/?h=dependabot/npm_and_yarn/express-4.20.0'>Build: Bump express from 4.19.2 to 4.20.0</a></td><td>dependabot[bot]</td><td colspan='2'><span class='age-months' title='2024-09-21 06:14:49 +0000'>10 months</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=1-13-stable'>1-13-stable</a></td><td><a href='/jquery-ui.git/commit/?h=1-13-stable'>Tests: conslidate GH actions runs; separate git &amp; stable jQuery versions</a></td><td>Timmy Willison</td><td colspan='2'><span class='age-months' title='2024-06-12 01:47:23 +0200'>13 months</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=datepicker'>datepicker</a></td><td><a href='/jquery-ui.git/commit/?h=datepicker'>Merge branch 'master' into datepicker</a></td><td>Felix Nagel</td><td colspan='2'><span class='age-years' title='2017-08-26 13:08:14 +0200'>8 years</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=1-12-stable'>1-12-stable</a></td><td><a href='/jquery-ui.git/commit/?h=1-12-stable'>Build: Fix list of source files</a></td><td>Scott González</td><td colspan='2'><span class='age-years' title='2016-09-27 08:41:33 -0400'>9 years</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=1-11-stable'>1-11-stable</a></td><td><a href='/jquery-ui.git/commit/?h=1-11-stable'>Build: Add jQuery 3.0 for testing</a></td><td>Alexander Schmitz</td><td colspan='2'><span class='age-years' title='2016-07-06 12:09:56 -0400'>9 years</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=1-9-stable'>1-9-stable</a></td><td><a href='/jquery-ui.git/commit/?h=1-9-stable'>Build: Use browserSets from testswarm config</a></td><td>Timo Tijhof</td><td colspan='2'><span class='age-years' title='2015-02-20 11:16:48 -0500'>10 years</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=1-10-stable'>1-10-stable</a></td><td><a href='/jquery-ui.git/commit/?h=1-10-stable'>Build: Update links to AUTHORS.txt and LICENSE.txt in package.json</a></td><td>Scott González</td><td colspan='2'><span class='age-years' title='2014-11-03 18:00:34 -0500'>11 years</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=spinner-globalize-1.x'>spinner-globalize-1.x</a></td><td><a href='/jquery-ui.git/commit/?h=spinner-globalize-1.x'>Spinner: Update demos FIXME</a></td><td>Rafael Xavier de Souza</td><td colspan='2'><span class='age-years' title='2014-06-24 21:51:01 -0700'>11 years</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=interactions'>interactions</a></td><td><a href='/jquery-ui.git/commit/?h=interactions'>Merge branch 'master' into interactions</a></td><td>Mike Sherov</td><td colspan='2'><span class='age-years' title='2014-02-10 14:43:24 -0800'>11 years</span></td></tr>
<tr><td><a href='/jquery-ui.git/log/?h=1-8-stable'>1-8-stable</a></td><td><a href='/jquery-ui.git/commit/?h=1-8-stable'>Grunt: Fix download_docs task</a></td><td>Jörn Zaefferer</td><td colspan='2'><span class='age-years' title='2012-09-29 18:00:45 +0200'>13 years</span></td></tr>
<tr class='nohover'><td colspan='5'>&nbsp;</td></tr><tr class='nohove<style>pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */</style><div class="highlight"><pre><span></span><span class="cm">/*******************************************************************************</span>
<span class="cm"> * Copyright (c) 2005 Contributors.</span>
<span class="cm"> * All rights reserved.</span>
<span class="cm"> * This program and the accompanying materials are made available</span>
<span class="cm"> * under the terms of the Eclipse Public License v1.0</span>
<span class="cm"> * which accompanies this distribution and is available at</span>
<span class="cm"> * http://eclipse.org/legal/epl-v10.html</span>
<span class="cm"> *</span>
<span class="cm"> * Contributors:</span>
<span class="cm"> *   Alexandre Vasseur         initial implementation</span>
<span class="cm"> *******************************************************************************/</span>
<span class="kn">package</span><span class="w"> </span><span class="nn">org.aspectj.weaver.loadtime</span><span class="p">;</span>

<span class="kn">import</span><span class="w"> </span><span class="nn">java.util.Collections</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">java.util.List</span><span class="p">;</span>

<span class="kn">import</span><span class="w"> </span><span class="nn">org.aspectj.bridge.IMessage</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.aspectj.bridge.IMessageHandler</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.aspectj.bridge.Message</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.aspectj.util.LangUtil</span><span class="p">;</span>

<span class="cm">/**</span>
<span class="cm"> * A class that hanldes LTW options. Note: AV - I choosed to not reuse AjCompilerOptions and alike since those implies too many</span>
<span class="cm"> * dependancies on jdt and ajdt modules.</span>
<span class="cm"> *</span>
<span class="cm"> * @author Alexandre Vasseur (alex AT gnilux DOT com)</span>
<span class="cm"> */</span>
<span class="kd">public</span><span class="w"> </span><span class="kd">class</span> <span class="nc">Options</span><span class="w"> </span><span class="p">{</span>

<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTION_15</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-1.5&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTION_lazyTjp</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-XlazyTjp&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTION_noWarn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-nowarn&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTION_noWarnNone</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-warn:none&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTION_proceedOnError</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-proceedOnError&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTION_verbose</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-verbose&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTION_debug</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-debug&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTION_reweavable</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-Xreweavable&quot;</span><span class="p">;</span><span class="c1">// notReweavable is default for LTW</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTION_noinline</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-Xnoinline&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTION_addSerialVersionUID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-XaddSerialVersionUID&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTION_hasMember</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-XhasMember&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTION_pinpoint</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-Xdev:pinpoint&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTION_showWeaveInfo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-showWeaveInfo&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTIONVALUED_messageHandler</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-XmessageHandlerClass:&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTIONVALUED_Xlintfile</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-Xlintfile:&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTIONVALUED_Xlint</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-Xlint:&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTIONVALUED_joinpoints</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-Xjoinpoints:&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTIONVALUED_Xset</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-Xset:&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTION_timers</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-timers&quot;</span><span class="p">;</span>
<span class="w">	</span><span class="kd">private</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">OPTIONVALUED_loadersToSkip</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;-loadersToSkip:&quot;</span><span class="p">;</span>

<span class="w">	</span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">WeaverOption</span><span class="w"> </span><span class="nf">parse</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">options</span><span class="p">,</span><span class="w"> </span><span class="n">ClassLoader</span><span class="w"> </span><span class="n">laoder</span><span class="p">,</span><span class="w"> </span><span class="n">IMessageHandler</span><span class="w"> </span><span class="n">imh</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">		</span><span class="n">WeaverOption</span><span class="w"> </span><span class="n">weaverOption</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">WeaverOption</span><span class="p">(</span><span class="n">imh</span><span class="p">);</span>

<span class="w">		</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">LangUtil</span><span class="p">.</span><span class="na">isEmpty</span><span class="p">(</span><span class="n">options</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">			</span><span class="k">return</span><span class="w"> </span><span class="n">weaverOption</span><span class="p">;</span>
<span class="w">		</span><span class="p">}</span>
<span class="w">		</span><span class="c1">// the first option wins</span>
<span class="w">		</span><span class="n">List</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span><span class="w"> </span><span class="n">flags</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">LangUtil</span><span class="p">.</span><span class="na">anySplit</span><span class="p">(</span><span class="n">options</span><span class="p">,</span><span class="w"> </span><span class="s">&quot; &quot;</span><span class="p">);</span>
<span class="w">		</span><span class="n">Collections</span><span class="p">.</span><span class="na">reverse</span><span class="p">(</span><span class="n">flags</span><span class="p">);</span>

<span class="w">		</span><span class="c1">// do a first round on the message handler since it will report the options themselves</span>
<span class="w">		</span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">arg</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">flags</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">			</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">startsWith</span><span class="p">(</span><span class="n">OPTIONVALUED_messageHandler</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">length</span><span class="p">()</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">OPTIONVALUED_messageHandler</span><span class="p">.</span><span class="na">length</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<span class="w">					</span><span class="n">String</span><span class="w"> </span><span class="n">handlerClass</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">arg</span><span class="p">.</span><span class="na">substring</span><span class="p">(</span><span class="n">OPTIONVALUED_messageHandler</span><span class="p">.</span><span class="na">length</span><span class="p">()).</span><span class="na">trim</span><span class="p">();</span>
<span class="w">					</span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w">						</span><span class="n">Class</span><span class="o">&lt;?&gt;</span><span class="w"> </span><span class="n">handler</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Class</span><span class="p">.</span><span class="na">forName</span><span class="p">(</span><span class="n">handlerClass</span><span class="p">,</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w"> </span><span class="n">laoder</span><span class="p">);</span>
<span class="w">						</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">messageHandler</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">((</span><span class="n">IMessageHandler</span><span class="p">)</span><span class="w"> </span><span class="n">handler</span><span class="p">.</span><span class="na">getDeclaredConstructor</span><span class="p">().</span><span class="na">newInstance</span><span class="p">());</span>
<span class="w">					</span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="n">Throwable</span><span class="w"> </span><span class="n">t</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">						</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">messageHandler</span><span class="p">.</span><span class="na">handleMessage</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">Message</span><span class="p">(</span><span class="s">&quot;Cannot instantiate message handler &quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">handlerClass</span><span class="p">,</span>
<span class="w">								</span><span class="n">IMessage</span><span class="p">.</span><span class="na">ERROR</span><span class="p">,</span><span class="w"> </span><span class="n">t</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="p">));</span>
<span class="w">					</span><span class="p">}</span>
<span class="w">				</span><span class="p">}</span>
<span class="w">			</span><span class="p">}</span>
<span class="w">		</span><span class="p">}</span>

<span class="w">		</span><span class="c1">// configure the other options</span>
<span class="w">		</span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">arg</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">flags</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">			</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">equals</span><span class="p">(</span><span class="n">OPTION_15</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">java5</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">equalsIgnoreCase</span><span class="p">(</span><span class="n">OPTION_lazyTjp</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">lazyTjp</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">equalsIgnoreCase</span><span class="p">(</span><span class="n">OPTION_noinline</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">noInline</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">equalsIgnoreCase</span><span class="p">(</span><span class="n">OPTION_addSerialVersionUID</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">addSerialVersionUID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">equalsIgnoreCase</span><span class="p">(</span><span class="n">OPTION_noWarn</span><span class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">arg</span><span class="p">.</span><span class="na">equalsIgnoreCase</span><span class="p">(</span><span class="n">OPTION_noWarnNone</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">noWarn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">equalsIgnoreCase</span><span class="p">(</span><span class="n">OPTION_proceedOnError</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">proceedOnError</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">equalsIgnoreCase</span><span class="p">(</span><span class="n">OPTION_reweavable</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">notReWeavable</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">equalsIgnoreCase</span><span class="p">(</span><span class="n">OPTION_showWeaveInfo</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">showWeaveInfo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">equalsIgnoreCase</span><span class="p">(</span><span class="n">OPTION_hasMember</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">hasMember</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">startsWith</span><span class="p">(</span><span class="n">OPTIONVALUED_joinpoints</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">length</span><span class="p">()</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">OPTIONVALUED_joinpoints</span><span class="p">.</span><span class="na">length</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<span class="w">					</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">optionalJoinpoints</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">arg</span><span class="p">.</span><span class="na">substring</span><span class="p">(</span><span class="n">OPTIONVALUED_joinpoints</span><span class="p">.</span><span class="na">length</span><span class="p">()).</span><span class="na">trim</span><span class="p">();</span>
<span class="w">				</span><span class="p">}</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">equalsIgnoreCase</span><span class="p">(</span><span class="n">OPTION_verbose</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">verbose</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">equalsIgnoreCase</span><span class="p">(</span><span class="n">OPTION_debug</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">debug</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">equalsIgnoreCase</span><span class="p">(</span><span class="n">OPTION_pinpoint</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">pinpoint</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">startsWith</span><span class="p">(</span><span class="n">OPTIONVALUED_messageHandler</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="c1">// handled in first round</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">startsWith</span><span class="p">(</span><span class="n">OPTIONVALUED_Xlintfile</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">length</span><span class="p">()</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">OPTIONVALUED_Xlintfile</span><span class="p">.</span><span class="na">length</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<span class="w">					</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">lintFile</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">arg</span><span class="p">.</span><span class="na">substring</span><span class="p">(</span><span class="n">OPTIONVALUED_Xlintfile</span><span class="p">.</span><span class="na">length</span><span class="p">()).</span><span class="na">trim</span><span class="p">();</span>
<span class="w">				</span><span class="p">}</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">startsWith</span><span class="p">(</span><span class="n">OPTIONVALUED_Xlint</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">length</span><span class="p">()</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">OPTIONVALUED_Xlint</span><span class="p">.</span><span class="na">length</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<span class="w">					</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">lint</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">arg</span><span class="p">.</span><span class="na">substring</span><span class="p">(</span><span class="n">OPTIONVALUED_Xlint</span><span class="p">.</span><span class="na">length</span><span class="p">()).</span><span class="na">trim</span><span class="p">();</span>
<span class="w">				</span><span class="p">}</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">startsWith</span><span class="p">(</span><span class="n">OPTIONVALUED_Xset</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">length</span><span class="p">()</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">OPTIONVALUED_Xlint</span><span class="p">.</span><span class="na">length</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<span class="w">					</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">xSet</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">arg</span><span class="p">.</span><span class="na">substring</span><span class="p">(</span><span class="n">OPTIONVALUED_Xset</span><span class="p">.</span><span class="na">length</span><span class="p">()).</span><span class="na">trim</span><span class="p">();</span>
<span class="w">				</span><span class="p">}</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">equalsIgnoreCase</span><span class="p">(</span><span class="n">OPTION_timers</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">timers</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">startsWith</span><span class="p">(</span><span class="n">OPTIONVALUED_loadersToSkip</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">arg</span><span class="p">.</span><span class="na">length</span><span class="p">()</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">OPTIONVALUED_loadersToSkip</span><span class="p">.</span><span class="na">length</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<span class="w">					</span><span class="n">String</span><span class="w"> </span><span class="n">value</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">arg</span><span class="p">.</span><span class="na">substring</span><span class="p">(</span><span class="n">OPTIONVALUED_loadersToSkip</span><span class="p">.</span><span class="na">length</span><span class="p">()).</span><span class="na">trim</span><span class="p">();</span>
<span class="w">					</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">loadersToSkip</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">value</span><span class="p">;</span>
<span class="w">				</span><span class="p">}</span>
<span class="w">			</span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">messageHandler</span><span class="p">.</span><span class="na">handleMessage</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">Message</span><span class="p">(</span><span class="s">&quot;Cannot configure weaver with option &#39;&quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">arg</span>
<span class="w">						</span><span class="o">+</span><span class="w"> </span><span class="s">&quot;&#39;: unknown option&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">IMessage</span><span class="p">.</span><span class="na">WARNING</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="p">));</span>
<span class="w">			</span><span class="p">}</span>
<span class="w">		</span><span class="p">}</span>

<span class="w">		</span><span class="c1">// refine message handler configuration</span>
<span class="w">		</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">noWarn</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">			</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">messageHandler</span><span class="p">.</span><span class="na">ignore</span><span class="p">(</span><span class="n">IMessage</span><span class="p">.</span><span class="na">WARNING</span><span class="p">);</span>
<span class="w">		</span><span class="p">}</span>
<span class="w">		</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">verbose</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">			</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">messageHandler</span><span class="p">.</span><span class="na">dontIgnore</span><span class="p">(</span><span class="n">IMessage</span><span class="p">.</span><span class="na">INFO</span><span class="p">);</span>
<span class="w">		</span><span class="p">}</span>
<span class="w">		</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">debug</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">			</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">messageHandler</span><span class="p">.</span><span class="na">dontIgnore</span><span class="p">(</span><span class="n">IMessage</span><span class="p">.</span><span class="na">DEBUG</span><span class="p">);</span>
<span class="w">		</span><span class="p">}</span>
<span class="w">		</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">showWeaveInfo</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">			</span><span class="n">weaverOption</span><span class="p">.</span><span class="na">messageHandler</span><span class="p">.</span><span class="na">dontIgnore</span><span class="p">(</span><span class="n">IMessage</span><span class="p">.</span><span class="na">WEAVEINFO</span><span class="p">);</span>
<span class="w">		</span><span class="p">}</span>

<span class="w">		</span><span class="k">return</span><span class="w"> </span><span class="n">weaverOption</span><span class="p">;</span>
<span class="w">	</span><span class="p">}</span>

<span class="w">	</span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kd">class</span> <span class="nc">WeaverOption</span><span class="w"> </span><span class="p">{</span>
<span class="w">		</span><span class="kt">boolean</span><span class="w"> </span><span class="n">java5</span><span class="p">;</span>
<span class="w">		</span><span class="kt">boolean</span><span class="w"> </span><span class="n">lazyTjp</span><span class="p">;</span>
<span class="w">		</span><span class="kt">boolean</span><span class="w"> </span><span class="n">hasMember</span><span class="p">;</span>
<span class="w">		</span><span class="kt">boolean</span><span class="w"> </span><span class="n">timers</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span>
<span class="w">		</span><span class="n">String</span><span class="w"> </span><span class="n">optionalJoinpoints</span><span class="p">;</span>
<span class="w">		</span><span class="kt">boolean</span><span class="w"> </span><span class="n">noWarn</span><span class="p">;</span>
<span class="w">		</span><span class="kt">boolean</span><span class="w"> </span><span class="n">proceedOnError</span><span class="p">;</span>
<span class="w">		</span><span class="kt">boolean</span><span class="w"> </span><span class="n">verbose</span><span class="p">;</span>
<span class="w">		</span><span class="kt">boolean</span><span class="w"> </span><span class="n">debug</span><span class="p">;</span>
<span class="w">		</span><span class="kt">boolean</span><span class="w"> </span><span class="n">notReWeavable</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span><span class="c1">// default to notReweavable for LTW (faster)</span>
<span class="w">		</span><span class="kt">boolean</span><span class="w"> </span><span class="n">noInline</span><span class="p">;</span>
<span class="w">		</span><span class="kt">boolean</span><span class="w"> </span><span class="n">addSerialVersionUID</span><span class="p">;</span>
<span class="w">		</span><span class="kt">boolean</span><span class="w"> </span><span class="n">showWeaveInfo</span><span class="p">;</span>
<span class="w">		</span><span class="kt">boolean</span><span class="w"> </span><span class="n">pinpoint</span><span class="p">;</span>
<span class="w">		</span><span class="n">IMessageHandler</span><span class="w"> </span><span class="n">messageHandler</span><span class="p">;</span>
<span class="w">		</span><span class="n">String</span><span class="w"> </span><span class="n">lint</span><span class="p">;</span>
<span class="w">		</span><span class="n">String</span><span class="w"> </span><span class="n">lintFile</span><span class="p">;</span>
<span class="w">		</span><span class="n">String</span><span class="w"> </span><span class="n">xSet</span><span class="p">;</span>
<span class="w">		</span><span class="n">String</span><span class="w"> </span><span class="n">loadersToSkip</span><span class="p">;</span>

<span class="w">		</span><span class="kd">public</span><span class="w"> </span><span class="nf">WeaverOption</span><span class="p">(</span><span class="n">IMessageHandler</span><span class="w"> </span><span class="n">imh</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">			</span><span class="c1">// messageHandler = new DefaultMessageHandler();//default</span>
<span class="w">			</span><span class="k">this</span><span class="p">.</span><span class="na">messageHandler</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">imh</span><span class="p">;</span>
<span class="w">		</span><span class="p">}</span>
<span class="w">	</span><span class="p">}</span>
<span class="p">}</span>
</pre></div>
</code></pre></td></tr></table>
</div> <!-- class=content -->
<div class='footer'>generated by <a href='https://git.zx2c4.com/cgit/about/'>cgit v1.2.3</a> (<a href='https://git-scm.com/'>git 2.39.1</a>) at 2025-07-12 17:13:58 +0000</div>
</div> <!-- id=cgit -->
</body>
</html>
